From 16cb4f8b2a0020a2c170bb5a3be2a54c717f6d65 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Sun, 4 Aug 2013 15:40:14 +0200 Subject: [PATCH] [IMP] cleaning in progress: invoice on picking bzr revid: fp@openerp.com-20130804134014-0xrkwlzhd6zfd6em --- addons/sale/sale.py | 6 ++-- addons/sale_stock/__init__.py | 1 + addons/sale_stock/__openerp__.py | 31 ++++++++++--------- addons/sale_stock/sale_stock.py | 24 +++++++------- addons/sale_stock/sale_stock_view.xml | 28 ++++++++++++++--- addons/sale_stock/stock.py | 25 ++++++++++----- addons/sale_stock/stock_view.xml | 15 +-------- addons/sale_stock/wizard/__init__.py | 22 +++++++++++++ .../wizard/stock_invoice_onshipping.py | 0 .../wizard/stock_invoice_onshipping_view.xml | 0 addons/stock/procurement.py | 12 ++++--- addons/stock/stock.py | 4 +-- addons/stock_account/__openerp__.py | 2 -- addons/stock_account/stock_account_view.xml | 23 -------------- addons/stock_account/wizard/__init__.py | 1 - 15 files changed, 106 insertions(+), 88 deletions(-) create mode 100644 addons/sale_stock/wizard/__init__.py rename addons/{stock_account => sale_stock}/wizard/stock_invoice_onshipping.py (100%) rename addons/{stock_account => sale_stock}/wizard/stock_invoice_onshipping_view.xml (100%) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 1a693637b7f..c1525a70f6f 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -761,7 +761,7 @@ class sale_order_line(osv.osv): 'salesman_id':fields.related('order_id', 'user_id', type='many2one', relation='res.users', store=True, string='Salesperson'), 'company_id': fields.related('order_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True), 'delay': fields.float('Delivery Lead Time', required=True, help="Number of days between the order confirmation and the shipping of the products to the customer", readonly=True, states={'draft': [('readonly', False)]}), - 'procurement_ids': fields.many2one('procurement.order', 'sale_line_ids', 'Procurements'), + 'procurement_ids': fields.one2many('procurement.order', 'sale_line_id', 'Procurements'), } _order = 'order_id desc, sequence, id' _defaults = { @@ -1072,7 +1072,7 @@ class account_invoice(osv.Model): class procurement_order(osv.osv): _inherit = 'procurement.order' _columns = { - 'sale_line_id': fields.many2one('sale.order.line', string = 'Sale Order Line') + 'sale_line_id': fields.many2one('sale.order.line', string='Sale Order Line'), 'invoice_state': fields.selection( [ ("invoiced", "Invoiced"), @@ -1084,5 +1084,3 @@ class procurement_order(osv.osv): 'invoice_state': 'none', } - - diff --git a/addons/sale_stock/__init__.py b/addons/sale_stock/__init__.py index f521debcea5..9c74739d4c9 100644 --- a/addons/sale_stock/__init__.py +++ b/addons/sale_stock/__init__.py @@ -24,4 +24,5 @@ import stock import report import company import res_config +import wizard diff --git a/addons/sale_stock/__openerp__.py b/addons/sale_stock/__openerp__.py index fe0b28fe43a..b1686bebb20 100644 --- a/addons/sale_stock/__openerp__.py +++ b/addons/sale_stock/__openerp__.py @@ -47,21 +47,24 @@ You can choose flexible invoicing methods: 'images': ['images/deliveries_to_invoice.jpeg'], 'depends': ['sale', 'stock_account'], 'init_xml': [], - 'update_xml': ['security/sale_stock_security.xml', - 'security/ir.model.access.csv', - 'company_view.xml', - 'sale_stock_view.xml', - 'sale_stock_workflow.xml', - 'stock_view.xml', - 'res_config_view.xml', - 'report/sale_report_view.xml', - ], + 'update_xml': [ + 'security/sale_stock_security.xml', + 'security/ir.model.access.csv', + 'company_view.xml', + 'wizard/stock_invoice_onshipping_view.xml', + 'sale_stock_view.xml', + 'sale_stock_workflow.xml', + 'stock_view.xml', + 'res_config_view.xml', + 'report/sale_report_view.xml', + ], 'demo_xml': ['sale_stock_demo.xml'], - 'test': ['test/cancel_order_sale_stock.yml', - 'test/picking_order_policy.yml', - 'test/prepaid_order_policy.yml', - 'test/sale_order_onchange.yml', - ], + 'test': [ + 'test/cancel_order_sale_stock.yml', + 'test/picking_order_policy.yml', + 'test/prepaid_order_policy.yml', + 'test/sale_order_onchange.yml', + ], 'installable': True, 'auto_install': True, } diff --git a/addons/sale_stock/sale_stock.py b/addons/sale_stock/sale_stock.py index 031bfbba97d..707adb27a7e 100644 --- a/addons/sale_stock/sale_stock.py +++ b/addons/sale_stock/sale_stock.py @@ -57,11 +57,9 @@ class sale_order(osv.osv): def _get_orders(self, cr, uid, ids, context=None): res = set() - proc_obj = self.pool.get("procurement.order") - procs = proc_obj.search(cr, uid, [('move_id', 'in', ids)], context=context) - for proc in proc_obj.browse(cr, uid, procs, context=context): - if proc.group_id and proc.group_id.sale_id: - res.add(proc.group_id.sale_id.id) + for move in self.browse(cr, uid, ids, context=context): + if move.procurement_id and move.procurement_id.sale_line_id: + res.add(move.procurement_id.sale_line_id.order_id.id) return list(res) def _get_picking_ids(self, cr, uid, ids, name, args, context=None): @@ -72,8 +70,9 @@ class sale_order(osv.osv): continue picking_ids = {} for procurement in sale.procurement_group_id.procurement_ids: - if procurement.move_id and procurement.move_id.picking_id: - picking_ids[procurement.move_id.picking_id.id] = True + for move in procurement.move_ids: + if move.picking_id: + picking_ids[move.picking_id.id] = True res[sale.id] = picking_ids.keys() return res @@ -207,13 +206,12 @@ class sale_order(osv.osv): write_cancel_ids = [] for order in self.browse(cr, uid, ids, context={}): for line in order.order_line: - if (not line.procurement_id) or (line.procurement_id.state=='done'): - if line.state != 'done': + for procurement in line.procurement_ids: + if procurement.state != 'done': write_done_ids.append(line.id) - else: - finished = False - if line.procurement_id: - if (line.procurement_id.state == 'cancel'): + else: + finished = False + if (procurement.state == 'cancel'): canceled = True if line.state != 'exception': write_cancel_ids.append(line.id) diff --git a/addons/sale_stock/sale_stock_view.xml b/addons/sale_stock/sale_stock_view.xml index c7ad4b88044..451a82f1837 100644 --- a/addons/sale_stock/sale_stock_view.xml +++ b/addons/sale_stock/sale_stock_view.xml @@ -58,10 +58,6 @@ - - @@ -108,5 +104,29 @@ groups="sale.group_delivery_invoice_address" /> + + stock.picking.form.inherit + stock.picking + + + +