From 42d9a84001627fd6dc67c124ccba8d2a4faf87f5 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Sat, 30 Oct 2010 16:31:37 +0530 Subject: [PATCH 01/10] [FIX]stock: Wrong Journals when creating an invoice from picking lp bug: https://launchpad.net/bugs/667246 fixed bzr revid: ron@tinyerp.com-20101030110137-9b8k2diccjcdugs0 --- addons/stock/wizard/stock_invoice_onshipping.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index d841c7cb37a..20a54a8c264 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -78,6 +78,8 @@ class stock_invoice_onshipping(osv.osv_memory): onshipdata_obj[ids] = onshipdata_obj.new_picking context['date_inv'] = onshipdata_obj['invoice_date'] + journal_id = onshipdata_obj['journal_id'] + context['journal_type'] =self.pool.get('account.journal').browse(cr, uid, journal_id).type invoice_ids = [] for picking in picking_obj.browse(cr, uid, context.get('active_ids', []), context=context): if picking.invoice_state == '2binvoiced': From 529263808f06f9365b3637019324e1e8edfa53a5 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Mon, 1 Nov 2010 16:43:15 +0530 Subject: [PATCH 02/10] [IMP]stock: if chain location type fixed then chain_location_id is required bzr revid: ron@tinyerp.com-20101101111315-h55yzhn3u39z7fc2 --- addons/stock/stock_view.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index 9e3de5fca7c..42854e46537 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -304,7 +304,7 @@ - + @@ -317,7 +317,7 @@ - + @@ -449,7 +449,7 @@ - + From d9a4cb7313e10348ab7197cb62df76c31edcd4ec Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Mon, 1 Nov 2010 19:08:09 +0530 Subject: [PATCH 03/10] [IMP]sale:changes in CSV file bzr revid: ron@tinyerp.com-20101101133809-fzm17hg0heegc00l --- addons/sale/security/ir.model.access.csv | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/sale/security/ir.model.access.csv b/addons/sale/security/ir.model.access.csv index 11718051d04..91a3d791168 100644 --- a/addons/sale/security/ir.model.access.csv +++ b/addons/sale/security/ir.model.access.csv @@ -1,5 +1,5 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_sale_shop","sale.shop","model_sale_shop","base.group_user",1,0,0,0 +"access_sale_shop","sale.shop","model_sale_shop","base.group_user",1,1,0,0 "access_sale_order","sale.order","model_sale_order","base.group_sale_salesman",1,1,1,0 "access_sale_order_line","sale.order.line","model_sale_order_line","base.group_sale_salesman",1,1,1,1 "access_account_invoice_tax_salesman","account_invoice_tax salesman","account.model_account_invoice_tax","base.group_sale_salesman",1,1,1,0 @@ -51,3 +51,4 @@ "access_product_supplierinfo_user","product.supplierinfo.user","product.model_product_supplierinfo","base.group_sale_salesman",1,0,0,0 "access_product_pricelist_sale_user","product.pricelist.sale.user","product.model_product_pricelist","base.group_sale_salesman",1,0,0,0 "access_account_account_salesman","account_account salesman","account.model_account_account","base.group_sale_salesman",1,0,0,0 +"access_stock_location_path","stock.location.path","stock_location.model_stock_location_path","base.group_sale_salesman",1,0,0,0 From 09948fcad575fc25c62dcc91d6f487ddecde0dc5 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Tue, 2 Nov 2010 11:27:27 +0530 Subject: [PATCH 04/10] [IMP]sale:Update CSV file for Access write bzr revid: ron@tinyerp.com-20101102055727-9ogurx3btr2bxumx --- addons/account/account_invoice_view.xml | 1 - addons/mrp/security/ir.model.access.csv | 1 + addons/sale/security/ir.model.access.csv | 1 - addons/stock_location/security/ir.model.access.csv | 2 ++ 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index a7da472e760..80d65334636 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -458,7 +458,6 @@ tree,form,calendar,graph [('type','=','in_invoice')] - {'type':'in_invoice', 'journal_type': 'purchase'} Supplier Invoices allows you to enter and manage invoices issued by your suppliers. OpenERP generates draft of supplier invoices automatically so that you can control what you received from your supplier according to what you purchased or received. diff --git a/addons/mrp/security/ir.model.access.csv b/addons/mrp/security/ir.model.access.csv index 586f82f1b53..dcbf6c866b4 100644 --- a/addons/mrp/security/ir.model.access.csv +++ b/addons/mrp/security/ir.model.access.csv @@ -67,3 +67,4 @@ "access_stock_picking_mrp_manager","stock.picking mrp_manager","stock.model_stock_picking","mrp.group_mrp_manager",1,0,0,0 "access_report_mrp_inout_user","report.mrp.inout user","model_report_mrp_inout","mrp.group_mrp_user",1,0,0,0 "access_report_workcenter_load_user","report.workcenter.load.user","model_report_workcenter_load","mrp.group_mrp_user",1,0,0,0 +"access_mrp_bom","mrp.bom","model_mrp_bom","base.group_sale_salesman",1,0,0,0 diff --git a/addons/sale/security/ir.model.access.csv b/addons/sale/security/ir.model.access.csv index 91a3d791168..39b1996ee88 100644 --- a/addons/sale/security/ir.model.access.csv +++ b/addons/sale/security/ir.model.access.csv @@ -51,4 +51,3 @@ "access_product_supplierinfo_user","product.supplierinfo.user","product.model_product_supplierinfo","base.group_sale_salesman",1,0,0,0 "access_product_pricelist_sale_user","product.pricelist.sale.user","product.model_product_pricelist","base.group_sale_salesman",1,0,0,0 "access_account_account_salesman","account_account salesman","account.model_account_account","base.group_sale_salesman",1,0,0,0 -"access_stock_location_path","stock.location.path","stock_location.model_stock_location_path","base.group_sale_salesman",1,0,0,0 diff --git a/addons/stock_location/security/ir.model.access.csv b/addons/stock_location/security/ir.model.access.csv index d3815736408..fc4eeff788b 100644 --- a/addons/stock_location/security/ir.model.access.csv +++ b/addons/stock_location/security/ir.model.access.csv @@ -6,3 +6,5 @@ "access_stock_location_path_manager","stock location path manager","model_stock_location_path","stock.group_stock_manager",1,1,1,1 "access_stock_location_path_partner_manager","stock.location.path partner manager","model_stock_location_path","product.group_product_manager",1,1,1,1 "access_stock_location_path_stock_user","stock.location.path stock user","model_stock_location_path","stock.group_stock_user",1,1,1,1 +"access_stock_location_path","stock.location.path","model_stock_location_path","base.group_sale_salesman",1,0,0,0 +"access_product_pulled_flow","product.pulled.flow","model_product_pulled_flow","base.group_sale_salesman",1,0,0,0 From be4f579fa1045c5c23eb8c6d06d2643bdc7d3fb4 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Wed, 3 Nov 2010 15:50:01 +0530 Subject: [PATCH 05/10] [FIX] stock: Wrong Journals when creating an invoice from picking and Improvment in Wizard Journal_id field lp bug: https://launchpad.net/bugs/667246 fixed bzr revid: ron@tinyerp.com-20101103102001-sau6gdki0j7vdunk --- .../stock/wizard/stock_invoice_onshipping.py | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index 20a54a8c264..3d468129d74 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -24,14 +24,49 @@ from osv import fields, osv from tools.translate import _ class stock_invoice_onshipping(osv.osv_memory): + + def _get_journal_id(self, cr,uid,ids, context=None): + if context is None: + context = {} + + if ids['active_model'] == "stock.picking": + pick_obj = self.pool.get('stock.picking').browse(cr,uid,ids['active_id']) + acct_obj = self.pool.get('account.journal') + vals=[] + if pick_obj.type == 'in': + value = acct_obj.search(cr, uid, [('type', 'in',('sale','sale_refund') )]) + for jr_type in acct_obj.browse(cr, uid, value, context=context): + t1 = jr_type.id,jr_type.name + vals.append(t1) + + elif pick_obj.type == 'out': + value = acct_obj.search(cr, uid, [('type', 'in',('purchase','purchase_refund') )]) + for jr_type in acct_obj.browse(cr, uid, value, context=context): + t1 = jr_type.id,jr_type.name + vals.append(t1) + else: + value = acct_obj.search(cr, uid, [('type', 'in',('cash','bank','general','situation') )]) + for jr_type in acct_obj.browse(cr, uid, value, context=context): + t1 = jr_type.id,jr_type.name + vals.append(t1) + return vals + else: + return True + return vals + + _name = "stock.invoice.onshipping" _description = "Stock Invoice Onshipping" + + _columns = { - 'journal_id': fields.many2one('account.journal', 'Destination Journal', required=True), +# 'journal_id': fields.many2one('account.journal', 'Destination Journal', required=True,selection=_get_journal_id), + 'journal_id': fields.selection(_get_journal_id, 'Destination Journal',required=True), 'group': fields.boolean("Group by partner"), 'invoice_date': fields.date('Invoiced date'), } + def view_init(self, cr, uid, fields_list, context=None): if context is None: context = {} From 5c6172df5aa85a6c4301d27922cad99a5fdd4efb Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Thu, 4 Nov 2010 10:30:13 +0530 Subject: [PATCH 06/10] [FIX]mrp: raises exception error when mrp module produce product with mark Track Manufacturing Lots lp bug: https://launchpad.net/bugs/669210 fixed bzr revid: ron@tinyerp.com-20101104050013-pk01lxfs91163uih --- addons/stock/stock.py | 2 +- addons/stock/wizard/stock_invoice_onshipping.py | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 735fb47dde8..1c3b31a353b 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -2231,7 +2231,7 @@ class stock_move(osv.osv): quantity_rest = quantity uos_qty_rest = uos_qty if move.product_id.track_production and location_id: - res += self.split_lines(cr, uid, [move.id], quantity_rest, split_by_qty=1, context=context) + res += self.action_split(cr, uid, [move.id], quantity_rest, split_by_qty=1, context=context) else: res += [move.id] update_val = { diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index 3d468129d74..38b384cdcde 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -28,18 +28,17 @@ class stock_invoice_onshipping(osv.osv_memory): def _get_journal_id(self, cr,uid,ids, context=None): if context is None: context = {} - if ids['active_model'] == "stock.picking": pick_obj = self.pool.get('stock.picking').browse(cr,uid,ids['active_id']) acct_obj = self.pool.get('account.journal') vals=[] - if pick_obj.type == 'in': + if pick_obj.type == 'out': value = acct_obj.search(cr, uid, [('type', 'in',('sale','sale_refund') )]) for jr_type in acct_obj.browse(cr, uid, value, context=context): t1 = jr_type.id,jr_type.name vals.append(t1) - elif pick_obj.type == 'out': + elif pick_obj.type == 'in': value = acct_obj.search(cr, uid, [('type', 'in',('purchase','purchase_refund') )]) for jr_type in acct_obj.browse(cr, uid, value, context=context): t1 = jr_type.id,jr_type.name From 75c2110758a3d2efa12cbfa27270a7a2ab8fce72 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Thu, 4 Nov 2010 14:05:07 +0530 Subject: [PATCH 07/10] [IMP] stock:Improvement on Create Invoice Wizard in outgoing delivary bzr revid: ron@tinyerp.com-20101104083507-nl27rwo2u4ttm5w4 --- .../stock/wizard/stock_invoice_onshipping.py | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/addons/stock/wizard/stock_invoice_onshipping.py b/addons/stock/wizard/stock_invoice_onshipping.py index 38b384cdcde..3be2ab72067 100644 --- a/addons/stock/wizard/stock_invoice_onshipping.py +++ b/addons/stock/wizard/stock_invoice_onshipping.py @@ -25,20 +25,27 @@ from tools.translate import _ class stock_invoice_onshipping(osv.osv_memory): - def _get_journal_id(self, cr,uid,ids, context=None): + def _get_journal_id(self, cr, uid, context=None): if context is None: context = {} - if ids['active_model'] == "stock.picking": - pick_obj = self.pool.get('stock.picking').browse(cr,uid,ids['active_id']) - acct_obj = self.pool.get('account.journal') - vals=[] - if pick_obj.type == 'out': + + model = context.get('active_model') + if not model or model != 'stock.picking': + return [] + + model_pool = self.pool.get(model) + acct_obj = self.pool.get('account.journal') + res_ids = context and context.get('active_ids', []) + vals=[] + pick_types = list(set(map(lambda x: x.type, model_pool.browse(cr, uid, res_ids, context=context)))) + for type in pick_types: + if type == 'out': value = acct_obj.search(cr, uid, [('type', 'in',('sale','sale_refund') )]) for jr_type in acct_obj.browse(cr, uid, value, context=context): t1 = jr_type.id,jr_type.name vals.append(t1) - elif pick_obj.type == 'in': + elif type == 'in': value = acct_obj.search(cr, uid, [('type', 'in',('purchase','purchase_refund') )]) for jr_type in acct_obj.browse(cr, uid, value, context=context): t1 = jr_type.id,jr_type.name @@ -48,9 +55,6 @@ class stock_invoice_onshipping(osv.osv_memory): for jr_type in acct_obj.browse(cr, uid, value, context=context): t1 = jr_type.id,jr_type.name vals.append(t1) - return vals - else: - return True return vals From f7dda35ecc888f92a2e12aa4d622769938e8de8f Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Wed, 10 Nov 2010 11:07:49 +0530 Subject: [PATCH 08/10] [FIX]stock.move:stock moves - missing search field ->Reference lp bug: https://launchpad.net/bugs/670056 fixed bzr revid: ron@tinyerp.com-20101110053749-sqdya9y115cgcj5k --- addons/stock/stock.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 1c3b31a353b..8308d0bfb11 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1480,7 +1480,7 @@ class stock_move(osv.osv): 'move_dest_id': fields.many2one('stock.move', 'Destination Move', help="Optional: next stock move when chaining them", select=True), 'move_history_ids': fields.many2many('stock.move', 'stock_move_history_ids', 'parent_id', 'child_id', 'Move History (child moves)'), 'move_history_ids2': fields.many2many('stock.move', 'stock_move_history_ids', 'child_id', 'parent_id', 'Move History (parent moves)'), - 'picking_id': fields.many2one('stock.picking', 'Picking List', select=True,states={'done': [('readonly', True)]}), + 'picking_id': fields.many2one('stock.picking', 'Reference', select=True,states={'done': [('readonly', True)]}), 'note': fields.text('Notes'), 'state': fields.selection([('draft', 'Draft'), ('waiting', 'Waiting'), ('confirmed', 'Confirmed'), ('assigned', 'Available'), ('done', 'Done'), ('cancel', 'Cancelled')], 'State', readonly=True, select=True, help='When the stock move is created it is in the \'Draft\' state.\n After that it is set to \'Confirmed\' state.\n If stock is available state is set to \'Available\'.\n When the picking is done the state is \'Done\'.\ From 3e9cf431b3bb7970972134241615b2f6de7c62a9 Mon Sep 17 00:00:00 2001 From: "ron@tinyerp.com" <> Date: Wed, 10 Nov 2010 18:47:58 +0530 Subject: [PATCH 09/10] [FIX]Account,stock:Creating invoices and grouping multiplies services lp bug: https://launchpad.net/bugs/663890 fixed bzr revid: ron@tinyerp.com-20101110131758-0c0zjal8sozbvflv --- addons/stock/stock_view.xml | 14 +++++----- .../stock/wizard/stock_invoice_onshipping.py | 28 +++++++++++++------ 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index aa0985a6cde..61bc8b887de 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -726,7 +726,7 @@