From f17ca54c77fa19f96c6448a61b74bbbf43634c09 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Mon, 1 Dec 2014 15:13:01 +0100 Subject: [PATCH] Add module stock_picking_package_link --- stock_picking_package_link/__init__.py | 23 ++++++++++++ stock_picking_package_link/__openerp__.py | 43 +++++++++++++++++++++++ stock_picking_package_link/stock.py | 41 +++++++++++++++++++++ stock_picking_package_link/stock_view.xml | 28 +++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 stock_picking_package_link/__init__.py create mode 100644 stock_picking_package_link/__openerp__.py create mode 100644 stock_picking_package_link/stock.py create mode 100644 stock_picking_package_link/stock_view.xml diff --git a/stock_picking_package_link/__init__.py b/stock_picking_package_link/__init__.py new file mode 100644 index 0000000..eebed67 --- /dev/null +++ b/stock_picking_package_link/__init__.py @@ -0,0 +1,23 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Stock Picking Package Link module for Odoo +# Copyright (C) 2014 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import stock diff --git a/stock_picking_package_link/__openerp__.py b/stock_picking_package_link/__openerp__.py new file mode 100644 index 0000000..81ec7bb --- /dev/null +++ b/stock_picking_package_link/__openerp__.py @@ -0,0 +1,43 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Stock Picking Package Link module for Odoo +# Copyright (C) 2014 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + + +{ + 'name': 'Stock Picking Package Link', + 'version': '0.1', + 'category': 'Inventory, Logistic, Storage', + 'license': 'AGPL-3', + 'summary': 'Add link from pickings to packages', + 'description': """ +This module adds a one to many field from pickings (stock.picking) to packages (stock.quant.package) + +This module has been written by Alexis de Lattre from Akretion +. + """, + 'author': 'Akretion', + 'website': 'http://www.akretion.com', + 'depends': ['stock'], + 'data': [ + 'stock_view.xml', + ], + 'installable': True, +} diff --git a/stock_picking_package_link/stock.py b/stock_picking_package_link/stock.py new file mode 100644 index 0000000..56879e5 --- /dev/null +++ b/stock_picking_package_link/stock.py @@ -0,0 +1,41 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Stock Picking Package Link module for Odoo +# Copyright (C) 2014 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp import models, fields, api, _ + + +class StockPicking(models.Model): + _inherit = 'stock.picking' + + @api.one + @api.depends('pack_operation_ids', 'pack_operation_ids.result_package_id') + def _get_packages(self): + package_ids = [] + for operation in self.pack_operation_ids: + if operation.result_package_id: + package_ids.append(operation.result_package_id.id) + print "packages=", package_ids + self.package_ids = package_ids + + package_ids = fields.One2many( + 'stock.quant.package', compute='_get_packages', + string="Packages", readonly=True) diff --git a/stock_picking_package_link/stock_view.xml b/stock_picking_package_link/stock_view.xml new file mode 100644 index 0000000..5696c6c --- /dev/null +++ b/stock_picking_package_link/stock_view.xml @@ -0,0 +1,28 @@ + + + + + + + + + + display.sale_id.in.outgoing.picking.form + stock.picking + + + + + + + + + + + + +