From f1ca4fb2a4b4aa31eafda96d7338882d92595eed Mon Sep 17 00:00:00 2001 From: mtr Date: Fri, 26 Mar 2010 18:34:16 +0530 Subject: [PATCH 1/1] [ADD] stock: Added osv_memory wizard for 'Upstream Traceability' and 'Downstream Traceability' wizards. bzr revid: mtr@mtr-20100326130416-e245kw4dr7eutedo --- addons/stock/__terp__.py | 2 + addons/stock/stock_view.xml | 20 ++-- addons/stock/wizard/__init__.py | 2 - addons/stock/wizard/stock_traceability.py | 112 +++++++++++++--------- addons/stock/wizard/stock_traceability_view.xml | 114 +++++++++++++++++++++++ 5 files changed, 196 insertions(+), 54 deletions(-) create mode 100644 addons/stock/wizard/stock_traceability_view.xml diff --git a/addons/stock/__terp__.py b/addons/stock/__terp__.py index 07cfecc..1248794 100644 --- a/addons/stock/__terp__.py +++ b/addons/stock/__terp__.py @@ -50,6 +50,8 @@ Thanks to the double entry management, the inventory controlling is powerful and "wizard/stock_location_product_view.xml", "wizard/stock_inventory_line_split_view.xml", "wizard/stock_change_standard_price_view.xml", + "wizard/stock_inventory_merge_view.xml", + "wizard/stock_traceability_view.xml", "stock_workflow.xml", "stock_incoterms.xml", "stock_wizard.xml", diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index ec07a2f..c32eddf 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -338,31 +338,31 @@ - + string="Upstream traceability"/--> - + string="Downstream traceability"/--> - + string="Upstream traceability"/--> - + string="Downstream traceability"/--> - + stock.location.form diff --git a/addons/stock/wizard/__init__.py b/addons/stock/wizard/__init__.py index 2d085ed..9088e95 100644 --- a/addons/stock/wizard/__init__.py +++ b/addons/stock/wizard/__init__.py @@ -29,13 +29,11 @@ import wizard_return import wizard_split_lot_line import wizard_ups import inventory_merge - import stock_inventory_set_stock_zero import stock_fill_inventory import stock_inventory_line_split import stock_invoice_onshipping import stock_location_product - import stock_change_standard_price # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock/wizard/stock_traceability.py b/addons/stock/wizard/stock_traceability.py index 58cc26a..120fa65 100644 --- a/addons/stock/wizard/stock_traceability.py +++ b/addons/stock/wizard/stock_traceability.py @@ -23,63 +23,91 @@ import wizard import netsvc import time import pooler - from osv import osv -def action_traceability(type='move_history_ids', field='tracking_id'): - def open_tab(self, cr, uid, data, context): - obj = pooler.get_pool(cr.dbname).get('stock.move') - ids = obj.search(cr, uid, [(field, 'in', data['ids'])]) - cr.execute('select id from ir_ui_view where model=%s and field_parent=%s and type=%s', ('stock.move', type, 'tree')) +class action_traceability(osv.osv_memory): + """ + This class defines a function action_traceability for wizard + + """ + _name = "action.traceability" + _description = "Action traceability " + + def action_traceability(self, cr, uid, ids, context={}): + """ + It traces the information of a product + + @param self: The object pointer. + @param cr: A database cursor + @param uid: ID of the user currently logged in + @param ids: List of IDs selected + @param context: A standard dictionary + + @return: A dictionary of values + + """ + type1 = context['type'] or 'move_history_ids' + field = context['field'] or 'tracking_id' + obj = self.pool.get('stock.move') + ids = obj.search(cr, uid, [(field, 'in',context['active_ids'])]) + cr.execute('select id from ir_ui_view where model=%s and field_parent=%s and type=%s', ('stock.move', type1, 'tree')) view_id = cr.fetchone()[0] value = { 'domain': "[('id','in',["+','.join(map(str, ids))+"])]", - 'name': ((type=='move_history_ids') and 'Upstream Traceability') or 'Downstream Traceability', + 'name': ((type1=='move_history_ids') and 'Upstream Traceability') or 'Downstream Traceability', 'view_type': 'tree', 'res_model': 'stock.move', - 'field_parent': type, + 'field_parent': type1, 'view_id': (view_id,'View'), 'type': 'ir.actions.act_window' - } + } return value - return open_tab + +action_traceability() + +class stock_traceability_downstream(osv.osv_memory): + """ + This class is defined for Stock traceability downstream wizard + + """ + _name = "stock.traceability.downstream" + _inherit = "action.traceability" + _description = "Stock traceability downstream" + +stock_traceability_downstream() + +class stock_traceability_upstream(osv.osv_memory): + """ + This class is defined for Stock traceability upstream wizard + + """ + _name = "stock.traceability.upstream" + _inherit = "action.traceability" + _description = "Stock traceability upstream" + +stock_traceability_upstream() + +class stock_traceability_lot_upstream(osv.osv_memory): + """ + This class is defined for Stock traceability lot upstream wizard -class wiz_journal(wizard.interface): - states = { - 'init': { - 'actions': [], - 'result': {'type': 'action', 'action': action_traceability('move_history_ids2'), 'state':'end'} - } - } -wiz_journal('stock.traceability.downstream') + """ + _name = "stock.traceability.lot.upstream" + _inherit = "action.traceability" + _description = "Stock traceability lot upstream" -class wiz_journal2(wizard.interface): - states = { - 'init': { - 'actions': [], - 'result': {'type': 'action', 'action': action_traceability(), 'state':'end'} - } - } -wiz_journal2('stock.traceability.upstream') +stock_traceability_lot_upstream() -class wiz_journal3(wizard.interface): - states = { - 'init': { - 'actions': [], - 'result': {'type': 'action', 'action': action_traceability(field='prodlot_id'), 'state':'end'} - } - } -wiz_journal3('stock.traceability.lot.upstream') +class stock_traceability_lot_downstream(osv.osv_memory): + """ + This class is defined for Stock traceability lot downstream wizard -class wiz_journal4(wizard.interface): - states = { - 'init': { - 'actions': [], - 'result': {'type': 'action', 'action': action_traceability('move_history_ids2', 'prodlot_id'), 'state':'end'} - } - } -wiz_journal4('stock.traceability.lot.downstream') + """ + _name = "stock.traceability.lot.downstream" + _inherit = "action.traceability" + _description = "Stock traceability lot downstream" +stock_traceability_lot_downstream() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/stock/wizard/stock_traceability_view.xml b/addons/stock/wizard/stock_traceability_view.xml new file mode 100644 index 0000000..4a1f6b1 --- /dev/null +++ b/addons/stock/wizard/stock_traceability_view.xml @@ -0,0 +1,114 @@ + + + + + + + Stock traceability downstream + stock.traceability.downstream + form + +
+ +