openerp-community-reviewer team mailing list archive
-
openerp-community-reviewer team
-
Mailing list archive
-
Message #01174
[Merge] lp:~jeffery9/stock-logistic-tracking/stock-logistic-tracking into lp:stock-logistic-tracking
You have been requested to review the proposed merge of lp:~jeffery9/stock-logistic-tracking/stock-logistic-tracking into lp:stock-logistic-tracking.
For more details, see:
https://code.launchpad.net/~jeffery9/stock-logistic-tracking/stock-logistic-tracking/+merge/180994
have migrated the stock_barcode_reader, but there still have one bug.
when select menu Acquisition, qweb report
'''
Uncaught Error: QWeb2 - template['ListView.rows']: Runtime Error: Error: QWeb2 - template['ListView.row']: Runtime Error: Error: Unknown field state in domain [["state","not in",["open"]]]
http://192.168.10.103:8069/web/webclient/js?db=application:2446
'''
please fix this bug, thanks
--
https://code.launchpad.net/~jeffery9/stock-logistic-tracking/stock-logistic-tracking/+merge/180994
Your team Stock and Logistic Core Editors is requested to review the proposed merge of lp:~jeffery9/stock-logistic-tracking/stock-logistic-tracking into lp:stock-logistic-tracking.
=== added file '.bzrignore'
--- .bzrignore 1970-01-01 00:00:00 +0000
+++ .bzrignore 2013-08-20 09:03:46 +0000
@@ -0,0 +1,4 @@
+./.idea
+./.project
+./.pydevproject
+./.settings
=== modified file 'stock_barcode_reader/__openerp__.py'
--- stock_barcode_reader/__openerp__.py 2013-02-18 09:50:58 +0000
+++ stock_barcode_reader/__openerp__.py 2013-08-20 09:03:46 +0000
@@ -56,7 +56,7 @@
"security/ir.model.access.csv",
],
'test': [],
- 'installable': False,
+ 'installable': True,
'active': False,
}
=== modified file 'stock_barcode_reader/acquisition_view.xml' (properties changed: -x to +x)
--- stock_barcode_reader/acquisition_view.xml 2012-11-02 10:27:43 +0000
+++ stock_barcode_reader/acquisition_view.xml 2013-08-20 09:03:46 +0000
@@ -1,163 +1,167 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
- <data>
-
-
- <act_window
- context="{'default_type':'inventory', 'default_name': 'Scan Inventory '}"
- id="inventory_acquisition_link_1" name="Inventory Acquisition"
- res_model="acquisition.acquisition"
- src_model="stock.inventory"
- view_mode="form"/>
-
- <!--<act_window domain="[('inventory_id', '=', active_id)]"
- context="{'default_type':'move_stock', 'default_name': 'Scan Stock Move', 'default_move_stock_destination': location_id}"
- id="move_stock_acquisition_link_2" name="Move Stock Acquisition"
- res_model="acquisition.acquisition"
- src_model="stock.inventory"
- view_mode="form"/>-->
-
- <report
- auto="False"
- id="account_invoices"
- model="account.invoice"
- name="account.invoice"
- rml="voltalis_stock_picking_report_aeroo/report/pack_barcode_report.rml"
- string="Invoices"
- attachment_use="1"
- multi="True"/>
-
- <record model="ir.ui.view" id="view_stock_tracking_list">
- <field name="name">Acquisition.list.view</field>
- <field name="model">acquisition.list</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Acquisition list">
- <field name="barcode_id"/>
- <field name="type"/>
- <field name="quantity"/>
- </tree>
- </field>
- </record>
-
- <record model="ir.ui.view" id="view_stock_tracking_form">
- <field name="name">Acquisition.list.view</field>
- <field name="model">acquisition.list</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <tree string="Acquisition list">
- <field name="acquisition_id" readonly="True"/>
- <field name="barcode_id" readonly="True"/>
- <field name="type" readonly="True"/>
- <field name="quantity" on_change="on_change_quantity(quantity,barcode_id)"/>
- </tree>
- </field>
- </record>
-
- <record model="ir.ui.view" id="view_stock_tracking_acquisition_form">
- <field name="name">Acquisition.view</field>
- <field name="model">acquisition.acquisition</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Acquisition name">
- <group width="400" height="100">
- <group col="4" colspan="4">
- <field name="name"/>
- <field name="type"/>
- <field name="origin_id"/>
- <group col="2" colspan="2" attrs="{'invisible':[('type','!=','pack')]}">
- <field name="logistic_unit" attrs="{'required':[('type','=','pack')]}" widget="selection"/>
- </group>
- <group col="4" colspan="4" attrs="{'invisible':[('type','!=','order')]}">
- <field name="destination_id" attrs="{'required':[('type','=','order')]}" on_change="onchange_destination(destination_id)"/>
- <field name="address_id" attrs="{'required':[('type','=','order')]}"/>
- </group>
- <group col="4" colspan="4" attrs="{'invisible':[('type','!=','move_stock')]}">
- <field name="move_stock_destination" attrs="{'required':[('type','=','move_stock')]}"/>
- <field name="move_stock_date" attrs="{'required':[('type','=','move_stock')]}"/>
- </group>
- <group col="2" colspan="2" attrs="{'invisible':[('type','!=','inventory')]}">
- <field name="inventory_id" attrs="{'required':[('type','=','inventory')]}" on_change="onchange_inventory(inventory_id)"/>
- </group>
- <group col="2" colspan="2" attrs="{'invisible':[('type','!=','move_stock')]}">
- <field name="move_stock_id"/>
- </group>
- <group col="2" colspan="2" attrs="{'invisible':[('type','!=','order')]}">
- <field name="picking_id" readonly="1"/>
- </group>
- <group col="2" colspan="2" attrs="{'invisible':[('type','!=','pack')]}">
- <field name="pack_id" readonly="1"/>
- </group>
- <field name="state" invisible="1"/>
- <field name="acquisition_ids" colspan="4" nolabel="1"/>
- <button name="%(action_stock_reference)d" string="Start" type="action" icon="gtk-execute" states="open"/>
- <button name="process" string="Process" type="object" icon="gtk-ok" states="open"/>
- </group>
- </group>
- </form>
- </field>
- </record>
-
- <record model="ir.ui.view" id="view_stock_tracking_acquisition_tree">
- <field name="name">Acquisition.view</field>
- <field name="model">acquisition.acquisition</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Acquisition name">
- <field name="name"/>
- <field name="acquisition_ids"/>
- </tree>
- </field>
- </record>
-
- <record model="ir.actions.act_window" id="action_stock_tracking_acquisition">
- <field name="name">Acquisition</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">acquisition.acquisition</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="target">current</field>
- <field name="view_id" ref="view_stock_tracking_acquisition_tree"/>
- </record>
-
- <menuitem id="menu_stock_tracking_acquisition" action="action_stock_tracking_acquisition" parent="stock.menu_traceability" sequence="7"/>
-
- <record model="ir.ui.view" id="view_stock_acquisition_setting_form">
- <field name="name">Acquisition Setting.view</field>
- <field name="model">acquisition.setting</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Acquisistion Setting">
- <group colspan="4">
- <field name="barcode_id" colspan="2"/>
- <field name="action_type" colspan="2"/>
- </group>
- </form>
- </field>
- </record>
-
- <record model="ir.ui.view" id="view_stock_acquisition_setting_tree">
- <field name="name">Acquisition Setting.view</field>
- <field name="model">acquisition.setting</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Acquisistion Setting">
- <field name="barcode_id"/>
- <field name="action_type"/>
- </tree>
- </field>
- </record>
-
- <record model="ir.actions.act_window" id="action_stock_acquisition_setting">
- <field name="name">Acquisition Setting</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">acquisition.setting</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="view_id" ref="view_stock_acquisition_setting_tree"/>
- </record>
-
- <menuitem id="menu_stock_acquisition_setting" action="action_stock_acquisition_setting" parent="stock.menu_stock_configuration" sequence="7"/>
-
- </data>
+ <data>
+
+
+ <act_window
+ context="{'default_type':'inventory', 'default_name': 'Scan Inventory '}"
+ id="inventory_acquisition_link_1" name="Inventory Acquisition"
+ res_model="acquisition.acquisition"
+ src_model="stock.inventory"
+ view_mode="form"/>
+
+ <!--<act_window domain="[('inventory_id', '=', active_id)]"
+ context="{'default_type':'move_stock', 'default_name': 'Scan Stock Move', 'default_move_stock_destination': location_id}"
+ id="move_stock_acquisition_link_2" name="Move Stock Acquisition"
+ res_model="acquisition.acquisition"
+ src_model="stock.inventory"
+ view_mode="form"/>-->
+
+ <report
+ auto="False"
+ id="account_invoices"
+ model="account.invoice"
+ name="account.invoice"
+ rml="voltalis_stock_picking_report_aeroo/report/pack_barcode_report.rml"
+ string="Invoices"
+ attachment_use="1"
+ multi="True"/>
+
+ <record model="ir.ui.view" id="view_stock_tracking_list">
+ <field name="name">Acquisition.list.view</field>
+ <field name="model">acquisition.list</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Acquisition list">
+ <field name="barcode_id"/>
+ <field name="type"/>
+ <field name="quantity"/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_stock_tracking_form">
+ <field name="name">Acquisition.list.view</field>
+ <field name="model">acquisition.list</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <tree string="Acquisition list">
+ <field name="acquisition_id" readonly="True"/>
+ <field name="barcode_id" readonly="True"/>
+ <field name="type" readonly="True"/>
+ <field name="quantity" on_change="on_change_quantity(quantity,barcode_id)"/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_stock_tracking_acquisition_form">
+ <field name="name">Acquisition.view</field>
+ <field name="model">acquisition.acquisition</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Acquisition name">
+ <group width="400" height="100">
+ <group col="4" colspan="4">
+ <field name="name"/>
+ <field name="type"/>
+ <field name="origin_id"/>
+ <group col="2" colspan="2" attrs="{'invisible':[('type','!=','pack')]}">
+ <field name="logistic_unit" attrs="{'required':[('type','=','pack')]}" widget="selection"/>
+ </group>
+ <group col="4" colspan="4" attrs="{'invisible':[('type','!=','order')]}">
+ <field name="destination_id" attrs="{'required':[('type','=','order')]}"
+ on_change="onchange_destination(destination_id)"/>
+ <field name="partner_id" attrs="{'required':[('type','=','order')]}"/>
+ </group>
+ <group col="4" colspan="4" attrs="{'invisible':[('type','!=','move_stock')]}">
+ <field name="move_stock_destination" attrs="{'required':[('type','=','move_stock')]}"/>
+ <field name="move_stock_date" attrs="{'required':[('type','=','move_stock')]}"/>
+ </group>
+ <group col="2" colspan="2" attrs="{'invisible':[('type','!=','inventory')]}">
+ <field name="inventory_id" attrs="{'required':[('type','=','inventory')]}"
+ on_change="onchange_inventory(inventory_id)"/>
+ </group>
+ <group col="2" colspan="2" attrs="{'invisible':[('type','!=','move_stock')]}">
+ <field name="move_stock_id"/>
+ </group>
+ <group col="2" colspan="2" attrs="{'invisible':[('type','!=','order')]}">
+ <field name="picking_id" readonly="1"/>
+ </group>
+ <group col="2" colspan="2" attrs="{'invisible':[('type','!=','pack')]}">
+ <field name="pack_id" readonly="1"/>
+ </group>
+ <field name="state" invisible="1"/>
+ <field name="acquisition_ids" colspan="4" nolabel="1"/>
+ <button name="%(action_stock_reference)d" string="Start" type="action" icon="gtk-execute" states="open"/>
+ <button name="process" string="Process" type="object" icon="gtk-ok" states="open"/>
+ </group>
+ </group>
+ </form>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_stock_tracking_acquisition_tree">
+ <field name="name">Acquisition.view</field>
+ <field name="model">acquisition.acquisition</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Acquisition name">
+ <field name="name"/>
+ <field name="acquisition_ids"/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.actions.act_window" id="action_stock_tracking_acquisition">
+ <field name="name">Acquisition</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">acquisition.acquisition</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <field name="target">current</field>
+ <field name="view_id" ref="view_stock_tracking_acquisition_tree"/>
+ </record>
+
+ <menuitem id="menu_stock_tracking_acquisition" action="action_stock_tracking_acquisition"
+ parent="stock.menu_traceability" sequence="7"/>
+
+ <record model="ir.ui.view" id="view_stock_acquisition_setting_form">
+ <field name="name">Acquisition Setting.view</field>
+ <field name="model">acquisition.setting</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Acquisistion Setting">
+ <group colspan="4">
+ <field name="barcode_id" colspan="2"/>
+ <field name="action_type" colspan="2"/>
+ </group>
+ </form>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="view_stock_acquisition_setting_tree">
+ <field name="name">Acquisition Setting.view</field>
+ <field name="model">acquisition.setting</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Acquisistion Setting">
+ <field name="barcode_id"/>
+ <field name="action_type"/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.actions.act_window" id="action_stock_acquisition_setting">
+ <field name="name">Acquisition Setting</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">acquisition.setting</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <field name="view_id" ref="view_stock_acquisition_setting_tree"/>
+ </record>
+
+ <menuitem id="menu_stock_acquisition_setting" action="action_stock_acquisition_setting"
+ parent="stock.menu_stock_configuration" sequence="7"/>
+
+ </data>
</openerp>
=== modified file 'stock_barcode_reader/package_acquisition.py' (properties changed: -x to +x)
--- stock_barcode_reader/package_acquisition.py 2013-02-18 14:34:33 +0000
+++ stock_barcode_reader/package_acquisition.py 2013-08-20 09:03:46 +0000
@@ -26,61 +26,73 @@
import datetime
from tools import misc
+
class stock_fill_inventory(orm.TransientModel):
_inherit = "stock.fill.inventory"
+
def fill_inventory(self, cr, uid, ids, context=None):
res = super(stock_fill_inventory, self).fill_inventory(cr, uid, ids, context=context)
stock_inventory_obj = self.pool.get('stock.inventory')
fill_inventory = self.browse(cr, uid, ids[0], context=context)
if stock_inventory_obj.browse(cr, uid, context.get('active_id', False), context).location_id:
- stock_inventory_obj.write(cr, uid, context.get('active_id', False), {'location_id': fill_inventory.location_id.id})
+ stock_inventory_obj.write(cr, uid, context.get('active_id', False),
+ {'location_id': fill_inventory.location_id.id})
return res
+
class acquisition_acquisition(orm.Model):
-
_name = "acquisition.acquisition"
_order = 'id desc'
_columns = {
- 'state': fields.selection([('open', 'Open'),('done', 'Done'),], 'State', readonly=True),
- 'name': fields.char('Name', size=128, required=True, readonly=True, states={'open':[('readonly',False)]}),
- 'acquisition_ids': fields.one2many('acquisition.list','acquisition_id','Acquisition', readonly=True, states={'open':[('readonly',False)]}),
- 'origin_id': fields.many2one('stock.location', 'Origin Location' , required=True, readonly=True, states={'open':[('readonly',False)]}),
+ 'state': fields.selection([('open', 'Open'), ('done', 'Done'), ], 'State', readonly=True),
+ 'name': fields.char('Name', size=128, required=True, readonly=True, states={'open': [('readonly', False)]}),
+ 'acquisition_ids': fields.one2many('acquisition.list', 'acquisition_id', 'Acquisition', readonly=True,
+ states={'open': [('readonly', False)]}),
+ 'origin_id': fields.many2one('stock.location', 'Origin Location', required=True, readonly=True,
+ states={'open': [('readonly', False)]}),
'type': fields.selection([
- ('order','Order Preparation'),
- ('pack','Pack Preparation'),
- ('inventory','Inventory Preparation'),
- ('move_stock','Move Stock'),
- ],'Type', size=128, readonly=True, states={'open':[('readonly',False)]}),
- 'destination_id': fields.many2one('stock.location', 'Destination Location' , readonly=True, states={'open':[('readonly',False)]}),
- 'address_id': fields.many2one('res.partner.address','Partner Address', readonly=True, states={'open':[('readonly',False)]}),
- 'logistic_unit': fields.many2one('product.ul', 'Unit Size', readonly=True, states={'open':[('readonly',False)]}),
- 'inventory_id': fields.many2one('stock.inventory', 'Inventory', readonly=True, states={'open':[('readonly',False)]}, domain="[('type', '!=', 'move')]"),
- 'move_stock_id': fields.many2one('stock.inventory', 'Move stock', readonly=True, domain="[('type', '=', 'move')]"),
+ ('order', 'Order Preparation'),
+ ('pack', 'Pack Preparation'),
+ ('inventory', 'Inventory Preparation'),
+ ('move_stock', 'Move Stock'),
+ ], 'Type', size=128, readonly=True, states={'open': [('readonly', False)]}),
+ 'destination_id': fields.many2one('stock.location', 'Destination Location', readonly=True,
+ states={'open': [('readonly', False)]}),
+ 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True,
+ states={'open': [('readonly', False)]}),
+ 'logistic_unit': fields.many2one('product.ul', 'Unit Size', readonly=True,
+ states={'open': [('readonly', False)]}),
+ 'inventory_id': fields.many2one('stock.inventory', 'Inventory', readonly=True,
+ states={'open': [('readonly', False)]}, domain="[('type', '!=', 'move')]"),
+ 'move_stock_id': fields.many2one('stock.inventory', 'Move stock', readonly=True,
+ domain="[('type', '=', 'move')]"),
'pack_id': fields.many2one('stock.tracking', 'Pack', readonly=True),
'pack_name': fields.related('pack_id', 'name', type='char', string="Pack Name", size=64, readonly=True),
'picking_id': fields.many2one('stock.picking', 'Picking', readonly=True),
- 'picking_name': fields.related('picking_id', 'name', type='char', string="Picking Name", size=64, readonly=True),
- 'move_stock_destination': fields.many2one('stock.location', 'Destination Location' , readonly=True, states={'open':[('readonly',False)]}),
- 'move_stock_date': fields.datetime('Move Date', readonly=True, states={'open':[('readonly',False)]}),
+ 'picking_name': fields.related('picking_id', 'name', type='char', string="Picking Name", size=64,
+ readonly=True),
+ 'move_stock_destination': fields.many2one('stock.location', 'Destination Location', readonly=True,
+ states={'open': [('readonly', False)]}),
+ 'move_stock_date': fields.datetime('Move Date', readonly=True, states={'open': [('readonly', False)]}),
}
_defaults = {
'state': 'open',
'type': 'pack',
- 'name': lambda self,cr,uid,ctx={}: self.pool.get('ir.sequence').get(cr, uid, 'acquisition.acquisition'),
- 'move_stock_date': lambda * a: datetime.datetime.now().strftime(misc.DEFAULT_SERVER_DATETIME_FORMAT),
+ 'name': lambda self, cr, uid, ctx={}: self.pool.get('ir.sequence').get(cr, uid, 'acquisition.acquisition'),
+ 'move_stock_date': lambda *a: datetime.datetime.now().strftime(misc.DEFAULT_SERVER_DATETIME_FORMAT),
}
def onchange_destination(self, cr, uid, ids, destination_id=False, context=None):
- res = {'value':{'address_id': False}}
+ res = {'value': {'partner_id': False}}
if destination_id:
destination = self.pool.get('stock.location').browse(cr, uid, destination_id)
- if destination.address_id:
- res['value']['address_id'] = destination.address_id.id
+ if destination.partner_id:
+ res['value']['partner_id'] = destination.partner_id.id
return res
def onchange_inventory(self, cr, uid, ids, inventory_id=False, context=None):
- res = {'value':{'location_id': False}}
+ res = {'value': {'location_id': False}}
if inventory_id:
inventory = self.pool.get('stock.inventory').browse(cr, uid, inventory_id)
if inventory.location_id:
@@ -88,23 +100,23 @@
res['value']['name'] = inventory.name
return res
-# def print_pack_report(self, cr, uid, ids, context=None):
-# '''init'''
-# if context is None:
-# context = {}
-#
-# '''process'''
-# data = self.pool.get('stock.tracking').read(cr, uid, ids)[0]
-# datas = {
-# 'ids': ids,
-# 'model': 'stock.tracking',
-# 'form': data
-# }
-# '''print report'''
-# return {'type': 'ir.actions.report.xml',
-# 'report_name': 'voltalis.tracking.barcode.report.aeroo',
-# 'datas': datas
-# }
+ # def print_pack_report(self, cr, uid, ids, context=None):
+ # '''init'''
+ # if context is None:
+ # context = {}
+ #
+ # '''process'''
+ # data = self.pool.get('stock.tracking').read(cr, uid, ids)[0]
+ # datas = {
+ # 'ids': ids,
+ # 'model': 'stock.tracking',
+ # 'form': data
+ # }
+ # '''print report'''
+ # return {'type': 'ir.actions.report.xml',
+ # 'report_name': 'voltalis.tracking.barcode.report.aeroo',
+ # 'datas': datas
+ # }
def check_production_lot_location(self, cr, uid, origin_id, logistic_unit_id, context=None):
result = {}
@@ -119,16 +131,17 @@
if stock_production_lot_data.location_id:
if stock_production_lot_data.location_id.id != origin_id:
result = stock_move_obj.create(cr, uid, {'name': stock_production_lot_name,
- 'state': 'draft',
- 'product_id': product.id,
- 'product_uom': product.uom_id.id,
- 'prodlot_id': logistic_unit_number,
- 'location_id': stock_production_lot_data.location_id.id,
- 'location_dest_id': origin_id,
- })
+ 'state': 'draft',
+ 'product_id': product.id,
+ 'product_uom': product.uom_id.id,
+ 'prodlot_id': logistic_unit_number,
+ 'location_id': stock_production_lot_data.location_id.id,
+ 'location_dest_id': origin_id,
+ })
return result
- def update_delivery_order_line(self, cr, uid, product_id=False, res_id=False, order_id=False, origin_id=False, destination_id=False, tracking_id=False, quantity=1, context=None):
+ def update_delivery_order_line(self, cr, uid, product_id=False, res_id=False, order_id=False, origin_id=False,
+ destination_id=False, tracking_id=False, quantity=1, context=None):
result = {}
move_obj = self.pool.get('stock.move')
production_lot_obj = self.pool.get('stock.production.lot')
@@ -152,9 +165,12 @@
""" The move can be split """
vals = {}
split_context = context
- split_context.update({'active_id': move_ids[0], 'active_ids': [move_ids[0]], 'active_model': 'stock.move', 'tracking_id': tracking_id})
+ split_context.update(
+ {'active_id': move_ids[0], 'active_ids': [move_ids[0]], 'active_model': 'stock.move',
+ 'tracking_id': tracking_id})
split_id = split_obj.create(cr, uid, vals, split_context)
- split_line_obj.create(cr, uid, {'prodlot_id': res_id, 'wizard_exist_id': split_id, 'quantity':quantity})
+ split_line_obj.create(cr, uid,
+ {'prodlot_id': res_id, 'wizard_exist_id': split_id, 'quantity': quantity})
split_obj.split_lot(cr, uid, [split_id], split_context)
else:
""" There are no move """
@@ -165,16 +181,16 @@
name_list = product_obj.name_get(cr, uid, [product_id], context)
stock_production_lot_name = name_list[0][1]
move_id = move_obj.create(cr, uid, {
- 'name': stock_production_lot_name,
- 'product_id': product_id,
- 'product_uom': product.uom_id.id,
- 'prodlot_id': res_id,
- 'location_id': origin_id,
- 'product_qty': quantity,
- 'location_dest_id': destination_id,
- 'picking_id': order_id,
- 'tracking_id': tracking_id,
- })
+ 'name': stock_production_lot_name,
+ 'product_id': product_id,
+ 'product_uom': product.uom_id.id,
+ 'prodlot_id': res_id,
+ 'location_id': origin_id,
+ 'product_qty': quantity,
+ 'location_dest_id': destination_id,
+ 'picking_id': order_id,
+ 'tracking_id': tracking_id,
+ })
return result
def process(self, cr, uid, ids, context=None):
@@ -200,9 +216,10 @@
"""
### DELIVERY ORDER PREPARATION ###
"""
+
def order_preparation(self, cr, uid, acquisition, context=None):
res = {}
- if context==None:
+ if context == None:
context = {}
first_code = True
parent_id = None
@@ -214,16 +231,18 @@
return res
'''Updating the order'''
+
def update_order(self, cr, uid, acquisition, context=None):
if context == None:
context = {}
stock_picking_obj = self.pool.get('stock.picking')
- address_id = acquisition.address_id.id
+ partner_id = acquisition.partner_id.id
picking_id = acquisition.picking_id.id
- stock_picking_obj.write(cr, uid, picking_id, {'address_id': address_id, 'type': 'out'})
+ stock_picking_obj.write(cr, uid, picking_id, {'partner_id': partner_id, 'type': 'out'})
return picking_id
'''Split moves of the order into different production lot / tracking packs'''
+
def update_stock_move(self, cr, uid, line, parent_id=None, context=None):
stock_tracking_obj = self.pool.get('stock.tracking')
history_obj = self.pool.get('stock.tracking.history')
@@ -240,12 +259,12 @@
destination_id = acquisition_data.destination_id.id
""" If a barcode creation pack is detected """
- acquisition_setting_ids = setting_obj.search(cr, uid, [('barcode_id','=',barcode.id)], limit=1)
+ acquisition_setting_ids = setting_obj.search(cr, uid, [('barcode_id', '=', barcode.id)], limit=1)
if acquisition_setting_ids:
acquisition_setting_id = acquisition_setting_ids[0]
acquisition_setting_data = setting_obj.browse(cr, uid, acquisition_setting_id, context)
if acquisition_setting_data.action_type == 'create_pack':
- logistic_unit = self.pool.get('product.ul').search(cr, uid, [('type','=','pack')], limit=1)[0]
+ logistic_unit = self.pool.get('product.ul').search(cr, uid, [('type', '=', 'pack')], limit=1)[0]
parent_id = setting_obj.create_pack(cr, uid, [line.acquisition_id.id], logistic_unit, context)
return parent_id
elif parent_id and acquisition_setting_data.action_type == 'close_pack':
@@ -259,41 +278,50 @@
new_move_id = self.check_production_lot_location(cr, uid, origin_id, res_id, context)
""" Split in production lot """
self.update_delivery_order_line(cr, uid, product_id=False, res_id=res_id, order_id=order_id, \
- origin_id=origin_id, destination_id=destination_id, tracking_id=parent_id, quantity=1, context=context)
+ origin_id=origin_id, destination_id=destination_id, tracking_id=parent_id,
+ quantity=1, context=context)
elif res_model == 'stock.tracking':
stock_tracking_data = stock_tracking_obj.browse(cr, uid, res_id)
pack_list = {}
pack_number = 1
""" Check if current pack is available """
if stock_tracking_data.parent_id:
- raise osv.except_osv(_('Warning!'),_('You cannot move this pack because it\'s inside of an other pack: %s.') % (stock_tracking_data.parent_id.name))
+ raise osv.except_osv(_('Warning!'),
+ _('You cannot move this pack because it\'s inside of an other pack: %s.') % (
+ stock_tracking_data.parent_id.name))
for child in stock_tracking_data.child_ids:
if child.state != 'close':
- raise osv.except_osv(_('Warning!'),_('You cannot move this pack because there is a none closed pack inside of it: %s.') % (child.name))
+ raise osv.except_osv(_('Warning!'), _(
+ 'You cannot move this pack because there is a none closed pack inside of it: %s.') % (
+ child.name))
child_packs = stock_tracking_obj.hierarchy_ids(stock_tracking_data)
for child_pack in child_packs:
'''historic creation'''
hist_id = history_obj.create(cr, uid, {
- 'tracking_id': child_pack.id,
- 'type': 'move',
- 'location_id': child_pack.location_id.id,
- 'location_dest_id': destination_id,
- })
+ 'tracking_id': child_pack.id,
+ 'type': 'move',
+ 'location_id': child_pack.location_id.id,
+ 'location_dest_id': destination_id,
+ })
for move_data in child_pack.move_ids:
""" Split in production lot """
- self.update_delivery_order_line(cr, uid, product_id=False, res_id=move_data.prodlot_id.id, order_id=order_id, \
- origin_id=origin_id, destination_id=destination_id, tracking_id=res_id, quantity=1, context=context)
+ self.update_delivery_order_line(cr, uid, product_id=False, res_id=move_data.prodlot_id.id,
+ order_id=order_id, \
+ origin_id=origin_id, destination_id=destination_id,
+ tracking_id=res_id, quantity=1, context=context)
if res_model == 'product.product':
self.update_delivery_order_line(cr, uid, product_id=res_id, res_id=False, order_id=order_id, \
- origin_id=origin_id, destination_id=destination_id, tracking_id=parent_id, quantity=line.quantity, context=context)
+ origin_id=origin_id, destination_id=destination_id, tracking_id=parent_id,
+ quantity=line.quantity, context=context)
return parent_id
"""
### DELIVERY ORDER CREATION ###
"""
+
def order_creation(self, cr, uid, acquisition, context=None):
res = {}
- if context==None:
+ if context == None:
context = {}
first_code = True
acquisition_obj = self.pool.get('acquisition.acquisition')
@@ -311,6 +339,7 @@
return res
''' Picking Creation '''
+
def create_order(self, cr, uid, ids, context=None):
'''init'''
if context == None:
@@ -320,17 +349,18 @@
acquisition_data = acquisition_obj.browse(cr, uid, ids[0])
stock_picking_obj = self.pool.get('stock.picking')
'''variables'''
- address_id = acquisition_data.address_id.id
+ partner_id = acquisition_data.partner_id.id
'''order creation'''
- order_id = stock_picking_obj.create(cr, uid, {'address_id': address_id, 'type': 'out'})
-# name = self.pool.get('stock.picking').browse(cr, uid, order_id, context=context).name or False
-# if name:
-# vals['name'] = name
-# self.write(cr, uid, acquisition_data.id, vals, context=context)
+ order_id = stock_picking_obj.create(cr, uid, {'partner_id': partner_id, 'type': 'out'})
+ # name = self.pool.get('stock.picking').browse(cr, uid, order_id, context=context).name or False
+ # if name:
+ # vals['name'] = name
+ # self.write(cr, uid, acquisition_data.id, vals, context=context)
'''End'''
return order_id
''' Adding move in a picking '''
+
def add_stock_move(self, cr, uid, ids, line, order_id, context=None):
'''init'''
res = {}
@@ -342,87 +372,91 @@
stock_tracking_obj = self.pool.get('stock.tracking')
history_obj = self.pool.get('stock.tracking.history')
acquisition_obj = self.pool.get('acquisition.acquisition')
- stock_production_lot_obj = self.pool.get('stock.production.lot')
-
- acquisition_data = acquisition_obj.browse(cr, uid, ids[0])
-
- '''process'''
- origin_id = acquisition_data.origin_id.id
+ stock_production_lot_obj = self.pool.get('stock.production.lot')
+
+ acquisition_data = acquisition_obj.browse(cr, uid, ids[0])
+
+ '''process'''
+ origin_id = acquisition_data.origin_id.id
destination_id = acquisition_data.destination_id.id
barcode_data = line.barcode_id
logistic_unit_id = barcode_data.res_id
tracking_id = context.get('tracking_id', False)
- if barcode_data.res_model == 'stock.production.lot':
+ if barcode_data.res_model == 'stock.production.lot':
stock_production_lot_data = stock_production_lot_obj.browse(cr, uid, logistic_unit_id)
- logistic_unit_number = stock_production_lot_data.id
- product = stock_production_lot_data.product_id
+ logistic_unit_number = stock_production_lot_data.id
+ product = stock_production_lot_data.product_id
name_list = self.pool.get('product.product').name_get(cr, uid, [product.id], context)
stock_production_lot_name = name_list[0][1]
'''If the production lot is not in the current stock'''
- new_move_id = self.check_production_lot_location(cr, uid, origin_id, logistic_unit_id, context)
+ new_move_id = self.check_production_lot_location(cr, uid, origin_id, logistic_unit_id, context)
''''stock move creation'''
move_id = stock_move_obj.create(cr, uid, {
- 'name': stock_production_lot_name,
- 'product_id': product.id,
- 'product_uom': product.uom_id.id,
- 'prodlot_id': logistic_unit_number,
- 'location_id': origin_id,
- 'location_dest_id': destination_id,
- 'picking_id': order_id,
- 'move_ori_id': new_move_id,
- 'tracking_id' : tracking_id,
- })
+ 'name': stock_production_lot_name,
+ 'product_id': product.id,
+ 'product_uom': product.uom_id.id,
+ 'prodlot_id': logistic_unit_number,
+ 'location_id': origin_id,
+ 'location_dest_id': destination_id,
+ 'picking_id': order_id,
+ 'move_ori_id': new_move_id,
+ 'tracking_id': tracking_id,
+ })
elif barcode_data.res_model == 'product.product':
product_data = product_obj.browse(cr, uid, logistic_unit_id)
move_id = stock_move_obj.create(cr, uid, {
- 'name': product_data.name,
- 'product_id': product_data.id,
- 'product_uom': product_data.uom_id.id,
- 'product_qty': line.quantity,
- 'location_id': origin_id,
- 'location_dest_id': destination_id,
- 'picking_id': order_id,
- 'tracking_id' : tracking_id,
- })
+ 'name': product_data.name,
+ 'product_id': product_data.id,
+ 'product_uom': product_data.uom_id.id,
+ 'product_qty': line.quantity,
+ 'location_id': origin_id,
+ 'location_dest_id': destination_id,
+ 'picking_id': order_id,
+ 'tracking_id': tracking_id,
+ })
elif barcode_data.res_model == 'stock.tracking':
stock_tracking_data = stock_tracking_obj.browse(cr, uid, logistic_unit_id)
if stock_tracking_data.parent_id:
- raise osv.except_osv(_('Warning!'),_('You cannot move this pack because it\'s inside of an other pack: %s.') % (stock_tracking_data.parent_id.name))
+ raise osv.except_osv(_('Warning!'),
+ _('You cannot move this pack because it\'s inside of an other pack: %s.') % (
+ stock_tracking_data.parent_id.name))
for child in stock_tracking_data.child_ids:
if child.state != 'close':
- raise osv.except_osv(_('Warning!'),_('You cannot move this pack because there is a none closed pack inside of it: %s.') % (child.name))
+ raise osv.except_osv(_('Warning!'), _(
+ 'You cannot move this pack because there is a none closed pack inside of it: %s.') % (
+ child.name))
for move_data in stock_tracking_data.move_ids:
if move_data.location_dest_id.id != origin_id:
new_move_id = stock_move_obj.create(cr, uid, {
- 'name': move_data.name,
- 'state': 'draft',
- 'product_id': move_data.product_id.id,
- 'product_uom': move_data.product_uom.id,
- 'prodlot_id': move_data.prodlot_id.id,
- 'location_id': move_data.location_dest_id.id,
- 'location_dest_id': origin_id,
- })
+ 'name': move_data.name,
+ 'state': 'draft',
+ 'product_id': move_data.product_id.id,
+ 'product_uom': move_data.product_uom.id,
+ 'prodlot_id': move_data.prodlot_id.id,
+ 'location_id': move_data.location_dest_id.id,
+ 'location_dest_id': origin_id,
+ })
child_packs = stock_tracking_obj.hierarchy_ids(stock_tracking_data)
for child_pack in child_packs:
'''historic creation'''
hist_id = history_obj.create(cr, uid, {
- 'tracking_id': child_pack.id,
- 'type': 'move',
- 'location_id': child_pack.location_id.id,
- 'location_dest_id': destination_id,
- })
+ 'tracking_id': child_pack.id,
+ 'type': 'move',
+ 'location_id': child_pack.location_id.id,
+ 'location_dest_id': destination_id,
+ })
for move_data in child_pack.move_ids:
if move_data.location_dest_id.id != origin_id:
new_move_id = stock_move_obj.create(cr, uid, {'name': move_data.name,
- 'state': 'draft',
- 'product_id': move_data.product_id.id,
- 'product_uom': move_data.product_uom.id,
- 'prodlot_id': move_data.prodlot_id.id,
- 'location_id': move_data.location_dest_id.id,
- 'location_dest_id': origin_id,
- })
+ 'state': 'draft',
+ 'product_id': move_data.product_id.id,
+ 'product_uom': move_data.product_uom.id,
+ 'prodlot_id': move_data.prodlot_id.id,
+ 'location_id': move_data.location_dest_id.id,
+ 'location_dest_id': origin_id,
+ })
'''new move creation'''
for move in child_pack.current_move_ids:
defaults = {
@@ -440,9 +474,10 @@
"""
### PACK PREPARATION ###
"""
+
def pack_preparation(self, cr, uid, acquisition, context=None):
res = {}
- if context==None:
+ if context == None:
context = {}
first_code = True
parent_id = False
@@ -453,9 +488,9 @@
logistic_unit = acquisition.logistic_unit.id
parent_id = setting_obj.create_pack(cr, uid, [acquisition.id], logistic_unit, context)
vals = {'pack_id': parent_id}
-# name = self.pool.get('stock.tracking').browse(cr, uid, parent_id, context=context).name or False
-# if name:
-# vals['name'] = name
+ # name = self.pool.get('stock.tracking').browse(cr, uid, parent_id, context=context).name or False
+ # if name:
+ # vals['name'] = name
self.write(cr, uid, acquisition.id, vals, context=context)
setting_obj.add_child(cr, uid, line.barcode_id.id, parent_id, context)
if parent_id:
@@ -465,18 +500,19 @@
"""
### INVENTORY ###
"""
+
def inventory_preparation(self, cr, uid, acquisition, context=None):
res = {}
- if context==None:
+ if context == None:
context = {}
inventory_id = acquisition.inventory_id or False
if not inventory_id:
- raise osv.except_osv(_('Warning!'),_('There is no inventory, please create one!'))
+ raise osv.except_osv(_('Warning!'), _('There is no inventory, please create one!'))
if inventory_id.state != 'draft':
- raise osv.except_osv(_('Warning!'),_('This inventory is not in draft state, you can\'t continue !'))
+ raise osv.except_osv(_('Warning!'), _('This inventory is not in draft state, you can\'t continue !'))
location_id = acquisition.origin_id or False
if not location_id:
- raise osv.except_osv(_('Warning!'),_('There is no location defined, please select one!'))
+ raise osv.except_osv(_('Warning!'), _('There is no location defined, please select one!'))
for line in acquisition.acquisition_ids:
self.check_inventory_line(cr, uid, line, context)
return res
@@ -507,7 +543,9 @@
'product_qty': 1,
'prod_lot_id': lot_id,
}
- line_ids = inventory_line_obj.search(cr, uid, [('inventory_id', '=', inventory_id), ('product_id', '=', product.id), ('prod_lot_id', '=', lot_id)])
+ line_ids = inventory_line_obj.search(cr, uid,
+ [('inventory_id', '=', inventory_id), ('product_id', '=', product.id),
+ ('prod_lot_id', '=', lot_id)])
if line_ids:
inventory_line_obj.write(cr, uid, [line_ids[0]], vals)
else:
@@ -522,7 +560,9 @@
'product_id': product.id,
'product_uom': product.uom_id.id,
}
- line_ids = inventory_line_obj.search(cr, uid, [('inventory_id', '=', inventory_id), ('product_id', '=', product.id), ('location_id', '=', location_id)])
+ line_ids = inventory_line_obj.search(cr, uid,
+ [('inventory_id', '=', inventory_id), ('product_id', '=', product.id),
+ ('location_id', '=', location_id)])
if line_ids:
qty = inventory_line_obj.read(cr, uid, line_ids[0], ['product_qty'])['product_qty']
vals_update = vals
@@ -536,9 +576,10 @@
"""
### MOVE STOCK CREATION ###
"""
+
def move_stock_preparation(self, cr, uid, acquisition, context=None):
res = {}
- if context==None:
+ if context == None:
context = {}
first_code = True
move_stock_id = False
@@ -548,100 +589,104 @@
if first_code == True:
first_code = False
move_stock_id = self.create_move_stock(cr, uid, [acquisition.id], context=context)
-# name = self.pool.get('stock.inventory').browse(cr, uid, move_stock_id, context=context).name or False
- self.add_stock_move_line(cr, uid, [acquisition.id], line, move_stock_id, context)
+ # name = self.pool.get('stock.inventory').browse(cr, uid, move_stock_id, context=context).name or False
+ self.add_stock_move_line(cr, uid, [acquisition.id], line, move_stock_id, context)
if move_stock_id:
vals['move_stock_id'] = move_stock_id
self.write(cr, uid, acquisition.id, vals, context=context)
return res
-
+
def create_move_stock(self, cr, uid, ids, context=None):
'''init'''
if context == None:
context = {}
acquisition_data = self.browse(cr, uid, ids[0])
- stock_inventory_obj = self.pool.get('stock.inventory')
-
- '''variables'''
- origin_id = acquisition_data.origin_id.id
- destination_id = acquisition_data.move_stock_destination.id
+ stock_inventory_obj = self.pool.get('stock.inventory')
+
+ '''variables'''
+ origin_id = acquisition_data.origin_id.id
+ destination_id = acquisition_data.move_stock_destination.id
date = acquisition_data.move_stock_date
''''inventory creation'''
- context.update({'type':'move'})
+ context.update({'type': 'move'})
move_stock_id = stock_inventory_obj.create(cr, uid, {
- 'type': 'move',
- 'date_done': date,
- 'location_id': origin_id,
- 'location_dest_id': destination_id,
- }, context=context)
+ 'type': 'move',
+ 'date_done': date,
+ 'location_id': origin_id,
+ 'location_dest_id': destination_id,
+ }, context=context)
'''End'''
return move_stock_id
-
+
def add_stock_move_line(self, cr, uid, ids, line, inventory_id, inventory_line_id, context=None):
- res = {}
- '''init'''
+ res = {}
+ '''init'''
if context == None:
context = {}
- barcode_obj = self.pool.get('tr.barcode')
- stock_production_lot_obj = self.pool.get('stock.production.lot')
- inventory_line_obj = self.pool.get('stock.inventory.line')
- stock_tracking_obj = self.pool.get('stock.tracking')
- product_obj = self.pool.get('product.product')
+ barcode_obj = self.pool.get('tr.barcode')
+ stock_production_lot_obj = self.pool.get('stock.production.lot')
+ inventory_line_obj = self.pool.get('stock.inventory.line')
+ stock_tracking_obj = self.pool.get('stock.tracking')
+ product_obj = self.pool.get('product.product')
barcode_id = line.barcode_id.id
barcode_data = barcode_obj.browse(cr, uid, barcode_id, context=context)
- acquisition_data = self.browse(cr, uid, ids[0], context=context)
-
+ acquisition_data = self.browse(cr, uid, ids[0], context=context)
+
location_id = acquisition_data.origin_id.id
logistic_unit_id = barcode_data.res_id
- if barcode_data.res_model == 'stock.production.lot':
+ if barcode_data.res_model == 'stock.production.lot':
stock_production_lot_data = stock_production_lot_obj.browse(cr, uid, logistic_unit_id, context=context)
product = stock_production_lot_data.product_id
- logistic_unit_number = stock_production_lot_data.id
+ logistic_unit_number = stock_production_lot_data.id
vals = {
- 'inventory_id': inventory_id,
- 'location_id': location_id,
- 'product_id': product.id,
- 'product_uom': product.uom_id.id,
- 'product_qty': 1,
- 'prod_lot_id':logistic_unit_number}
+ 'inventory_id': inventory_id,
+ 'location_id': location_id,
+ 'product_id': product.id,
+ 'product_uom': product.uom_id.id,
+ 'product_qty': 1,
+ 'prod_lot_id': logistic_unit_number}
inventory_line_obj.create(cr, uid, vals)
elif barcode_data.res_model == 'product.product':
product_data = product_obj.browse(cr, uid, logistic_unit_id)
vals = {
- 'inventory_id': inventory_id,
- 'location_id': location_id,
- 'product_id': product_data.id,
- 'product_uom': product_data.uom_id.id,
- 'product_qty': line.quantity}
- inventory_line_obj.create(cr, uid, vals)
+ 'inventory_id': inventory_id,
+ 'location_id': location_id,
+ 'product_id': product_data.id,
+ 'product_uom': product_data.uom_id.id,
+ 'product_qty': line.quantity}
+ inventory_line_obj.create(cr, uid, vals)
elif barcode_data.res_model == 'stock.tracking':
stock_tracking_data = stock_tracking_obj.browse(cr, uid, logistic_unit_id)
if stock_tracking_data.parent_id:
- raise osv.except_osv(_('Warning!'),_('You cannot move this pack because it\'s inside of an other pack: %s.') % (stock_tracking_data.parent_id.name))
+ raise osv.except_osv(_('Warning!'),
+ _('You cannot move this pack because it\'s inside of an other pack: %s.') % (
+ stock_tracking_data.parent_id.name))
for child in stock_tracking_data.child_ids:
if child.state != 'close':
- raise osv.except_osv(_('Warning!'),_('You cannot move this pack because there is a none closed pack inside of it: %s.') % (child.name))
-
- raise osv.except_osv(_('Warning!'),_('Not developed yet'))
-
+ raise osv.except_osv(_('Warning!'), _(
+ 'You cannot move this pack because there is a none closed pack inside of it: %s.') % (
+ child.name))
+
+ raise osv.except_osv(_('Warning!'), _('Not developed yet'))
+
return res
-
-class acquisition_list(orm.Model):
-
+
+
+class acquisition_list(orm.Model):
_name = "acquisition.list"
_columns = {
'name': fields.char('List Name', size=128),
'barcode_id': fields.many2one('tr.barcode', 'Barcode', readonly=True),
- 'acquisition_id': fields.many2one('acquisition.acquisition','Acquisition'),
+ 'acquisition_id': fields.many2one('acquisition.acquisition', 'Acquisition'),
'type': fields.selection([
- ('object','Logistic Unit'),
- ('create_add', 'Create a pack and add a logistic unit'),
- ('create_pack','Create a pack'),
- ('add_child','Add a logistic unit'),
- ('close_pack','Close a pack'),
- ], 'Action Type', size=32),
+ ('object', 'Logistic Unit'),
+ ('create_add', 'Create a pack and add a logistic unit'),
+ ('create_pack', 'Create a pack'),
+ ('add_child', 'Add a logistic unit'),
+ ('close_pack', 'Close a pack'),
+ ], 'Action Type', size=32),
'quantity': fields.float('Quantity'),
- }
+ }
_defaults = {
'quantity': 1,
@@ -653,39 +698,39 @@
context = {}
if barcode_id:
if self.pool.get('tr.barcode').browse(cr, uid, barcode_id).res_model == 'product.product':
- res = {'value': {'quantity' : quantity}}
+ res = {'value': {'quantity': quantity}}
return res
def _check_quantity(self, cr, uid, ids, context=None):
for record in self.browse(cr, uid, ids, context=context):
- if record.quantity != 1 and record.barcode_id.res_model!='product.product':
+ if record.quantity != 1 and record.barcode_id.res_model != 'product.product':
return False
return True
_constraints = [
(_check_quantity,
- 'You assigned a wrong quantity for this line',
- ['name']),
+ 'You assigned a wrong quantity for this line',
+ ['name']),
]
+
class acquisition_setting(orm.Model):
-
_name = "acquisition.setting"
_columns = {
'barcode_id': fields.many2one('tr.barcode', 'Barcode', required=True, readonly=False),
'action_type': fields.selection([
- ('create_add', 'Create a pack and add a logistic unit'),
- ('create_pack','Create a pack'),
- ('add_child','Add a logistic unit'),
- ('close_pack','Close a pack'),
- ], 'Action Type', size=32, required=True, help="Selection of an action"),
+ ('create_add', 'Create a pack and add a logistic unit'),
+ ('create_pack', 'Create a pack'),
+ ('add_child', 'Add a logistic unit'),
+ ('close_pack', 'Close a pack'),
+ ], 'Action Type', size=32, required=True, help="Selection of an action"),
}
-# def create_add(self, cr, uid, ids, ul_id, context=None):
-# if context == None:
-# context = {}
-# tracking_id = self.create_pack(cr, uid, ids, ul_id, context)
-# return tracking_id
+ # def create_add(self, cr, uid, ids, ul_id, context=None):
+ # if context == None:
+ # context = {}
+ # tracking_id = self.create_pack(cr, uid, ids, ul_id, context)
+ # return tracking_id
def do_action(self, cr, uid, ids, action_type, context=None):
if context == None:
@@ -700,6 +745,7 @@
return tracking_id
'''Function for pack creation'''
+
def create_pack(self, cr, uid, ids, ul_id=None, context=None):
'''Init'''
res = {}
@@ -740,29 +786,34 @@
tracking_obj.set_close(cr, uid, ids, context)
'''Call of the function in stock_tracking_reopen'''
if self.pool.get('acquisition.acquisition').browse(cr, uid, context.get('current_id'), context).picking_id:
- origin_id = self.pool.get('acquisition.acquisition').browse(cr, uid, context.get('current_id'), context).origin_id.id
- destination_id = self.pool.get('acquisition.acquisition').browse(cr, uid, context.get('current_id'), context).destination_id.id
- stock_move_ids = self.pool.get('stock.move').search(cr, uid, [('tracking_id','=',ids[0])])
+ origin_id = self.pool.get('acquisition.acquisition').browse(cr, uid, context.get('current_id'),
+ context).origin_id.id
+ destination_id = self.pool.get('acquisition.acquisition').browse(cr, uid, context.get('current_id'),
+ context).destination_id.id
+ stock_move_ids = self.pool.get('stock.move').search(cr, uid, [('tracking_id', '=', ids[0])])
for stock_move_id in stock_move_ids:
stock_move_data = self.pool.get('stock.move').browse(cr, uid, stock_move_id, context)
- self.pool.get('stock.move').write(cr, uid, stock_move_id, {'state':'done', 'picking_id': False, 'location_dest_id': origin_id}, context)
+ self.pool.get('stock.move').write(cr, uid, stock_move_id,
+ {'state': 'done', 'picking_id': False, 'location_dest_id': origin_id},
+ context)
self.pool.get('stock.move').create(cr, uid, {'name': stock_move_data.name,
'state': 'draft',
'product_id': stock_move_data.product_id.id,
'product_uom': stock_move_data.product_uom.id,
'prodlot_id': stock_move_data.prodlot_id.id,
'tracking_id': stock_move_data.tracking_id.id,
- 'picking_id': self.pool.get('acquisition.acquisition').browse(cr, uid, context.get('current_id'), context).picking_id.id,
+ 'picking_id': self.pool.get(
+ 'acquisition.acquisition').browse(cr, uid, context.get(
+ 'current_id'), context).picking_id.id,
'location_id': stock_move_data.location_dest_id.id,
'location_dest_id': destination_id,
- })
+ })
'''Call for a function who will display serial code list and product list in the pack layout'''
tracking_obj.get_products(cr, uid, ids, context=None)
tracking_obj.get_serials(cr, uid, ids, context=None)
return True
-
# def create_inventory(self, cr, uid, ids, context=None):
# '''init'''
# if context == None:
=== modified file 'stock_barcode_reader/stock.py' (properties changed: -x to +x)
--- stock_barcode_reader/stock.py 2013-03-04 17:29:43 +0000
+++ stock_barcode_reader/stock.py 2013-08-20 09:03:46 +0000
@@ -22,6 +22,7 @@
from openerp.osv import osv, fields, orm
from openerp.tools.translate import _
+
class stock_picking(orm.Model):
_inherit = "stock.picking"
@@ -31,9 +32,9 @@
active = self.browse(cr, uid, ids[0])
name = active.name
action_context = {'default_type': 'order', 'default_name': 'Preparation ' + name, 'default_picking_id': ids[0]}
- address_id = active.address_id and active.address_id.id or False
- if address_id:
- action_context.update({'default_address_id': address_id})
+ partner_id = active.partner_id and active.partner_id.id or False
+ if partner_id:
+ action_context.update({'default_address_id': partner_id})
location_id = False
for move in active.move_lines:
location_id = move.location_dest_id and move.location_dest_id.id or False
@@ -45,8 +46,9 @@
'view_type': 'form',
'view_mode': 'form',
'res_model': 'acquisition.acquisition',
- 'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'stock_barcode_reader', 'view_stock_tracking_acquisition_form')[1],
-# 'menu_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'stock', 'menu_stock_root')[1],
+ 'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'stock_barcode_reader',
+ 'view_stock_tracking_acquisition_form')[1],
+ # 'menu_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'stock', 'menu_stock_root')[1],
'context': action_context
}
return action
=== modified file 'stock_barcode_reader/stock_view.xml'
--- stock_barcode_reader/stock_view.xml 2012-11-02 10:27:43 +0000
+++ stock_barcode_reader/stock_view.xml 2013-08-20 09:03:46 +0000
@@ -1,31 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
- <data>
-
- <record id="view_picking_form" model="ir.ui.view">
- <field name="name">stock.picking.form</field>
- <field name="model">stock.picking</field>
- <field name="type">form</field>
- <field eval="12" name="priority"/>
- <field name="inherit_id" ref="stock.view_picking_form"/>
- <field name="arch" type="xml">
- <button name="action_process" position="before">
- <button name="start_acquisition" string="Start Acquisition" states="assigned,confirmed,draft" type="object" icon="gtk-go-forward"/>
- </button>
- </field>
- </record>
-
- <record id="view_delivery_order_inherit_stock_barcode" model="ir.ui.view">
- <field name="name">stock.picking.out.barcode.form</field>
- <field name="type">form</field>
- <field name="model">stock.picking</field>
- <field name="inherit_id" ref="stock.view_picking_out_form"/>
- <field name="arch" type="xml">
- <button name="action_process" position="before">
- <button name="start_acquisition" string="Start Acquisition" states="assigned,confirmed,draft" type="object" icon="gtk-go-forward"/>
- </button>
- </field>
- </record>
-
- </data>
+ <data>
+
+ <record id="view_picking_form" model="ir.ui.view">
+ <field name="name">stock.picking.form</field>
+ <field name="model">stock.picking</field>
+ <field name="type">form</field>
+ <field eval="12" name="priority"/>
+ <field name="inherit_id" ref="stock.view_picking_form"/>
+ <field name="arch" type="xml">
+ <button name="action_process" position="before">
+ <button name="start_acquisition" string="Start Acquisition" states="assigned,confirmed,draft" type="object"
+ icon="gtk-go-forward"/>
+ </button>
+ </field>
+ </record>
+
+ <record id="view_delivery_order_inherit_stock_barcode" model="ir.ui.view">
+ <field name="name">stock.picking.out.barcode.form</field>
+ <field name="type">form</field>
+ <field name="model">stock.picking</field>
+ <field name="inherit_id" ref="stock.view_picking_out_form"/>
+ <field name="arch" type="xml">
+ <button name="action_process" position="before">
+ <button name="start_acquisition" string="Start Acquisition" states="assigned,confirmed,draft" type="object"
+ icon="gtk-go-forward"/>
+ </button>
+ </field>
+ </record>
+
+ </data>
</openerp>
=== modified file 'stock_barcode_reader/wizard/reference.py'
--- stock_barcode_reader/wizard/reference.py 2013-03-04 17:29:43 +0000
+++ stock_barcode_reader/wizard/reference.py 2013-08-20 09:03:46 +0000
@@ -22,24 +22,24 @@
from openerp.osv import fields, osv, orm
from openerp.tools.translate import _
+
class stock_reference(orm.TransientModel):
-
_name = "stock.reference"
_description = 'Products Acquisition'
-# _rec_name = 'reference'
+ # _rec_name = 'reference'
def _get_track_id(self, cr, uid, context=None):
if context is None:
context = {}
- return context.get('active_id',False)
+ return context.get('active_id', False)
_columns = {
-# 'barcode_id': fields.many2one('tr.barcode', 'Reference', required=True),
+ # 'barcode_id': fields.many2one('tr.barcode', 'Reference', required=True),
'reference': fields.char('Reference', size=128, required=True),
- 'track_id': fields.many2one('acquisition.acquisition','Track id', required=True),
- 'text': fields.text('Barcode list',readonly=True),
-# 'bad_barcode': fields.text('Bad barcode list',readonly=True),
+ 'track_id': fields.many2one('acquisition.acquisition', 'Track id', required=True),
+ 'text': fields.text('Barcode list', readonly=True),
+ # 'bad_barcode': fields.text('Bad barcode list',readonly=True),
}
_defaults = {
@@ -60,12 +60,13 @@
if not barcode_ids:
reference2 = reference
while len(reference2.split('-')) > 1:
- reference2 = reference2.replace('-','')
+ reference2 = reference2.replace('-', '')
barcode_ids = barcode_obj.search(cr, uid, [('code2', '=', reference2)], limit=1)
if barcode_ids:
barcode_type = 'object'
- line_ids = acquisition_list.search(cr, uid, [('barcode_id', '=', barcode_ids[0]), ('acquisition_id', '=', track_id)])
+ line_ids = acquisition_list.search(cr, uid, [('barcode_id', '=', barcode_ids[0]),
+ ('acquisition_id', '=', track_id)])
setting_ids = acquisition_setting.search(cr, uid, [('barcode_id', '=', barcode_ids[0])], limit=1)
if setting_ids:
@@ -75,24 +76,23 @@
if line_ids:
create = False
line_barcode = barcode_obj.read(cr, uid, barcode_ids[0], ['res_model'])
- if line_barcode.get('res_model',False) == 'product.product' or setting_ids:
+ if line_barcode.get('res_model', False) == 'product.product' or setting_ids:
create = True
if create:
acquisition_list.create(cr, uid, {
'barcode_id': barcode_ids[0],
'acquisition_id': track_id,
'type': barcode_type,
- })
+ })
text = reference + '\n' + text
else:
- raise osv.except_osv(_('Warning!'),_('Barcode Not found!')) # Return of the wraning msg !!
-## bad_barcode = bad_barcode_list or ''
-# bad_barcode += reference
-# if bad_barcode:
-# bad_barcode += '\n'
-
-
- return {'value': {'reference' : False, 'text' : text}}
+ raise osv.except_osv(_('Warning!'), _('Barcode Not found!')) # Return of the wraning msg !!
+ ## bad_barcode = bad_barcode_list or ''
+ # bad_barcode += reference
+ # if bad_barcode:
+ # bad_barcode += '\n'
+
+ return {'value': {'reference': False, 'text': text}}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
=== modified file 'stock_barcode_reader/wizard/reference_view.xml'
--- stock_barcode_reader/wizard/reference_view.xml 2012-11-02 10:27:43 +0000
+++ stock_barcode_reader/wizard/reference_view.xml 2013-08-20 09:03:46 +0000
@@ -1,41 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
- <data>
-
- <record id="view_stock_reference" model="ir.ui.view" >
- <field name="name">Acquisition.reference.view</field>
- <field name="model">stock.reference</field>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <form string="Reference acquisistion">
- <group width="400" height="100">
- <group colspan="4">
- <field name="reference" on_change="onchange_reference(reference,track_id,text)" colspan="4"/>
- <field name="track_id" colspan="2" invisible="1"/>
- <newline/>
- <separator string="End of Acquisition" colspan="4"/>
- <button special="cancel" string="Close" icon="gtk-ok"/>
- <newline/>
- <separator string="Barcode list" colspan="4"/>
- <field name="text" colspan="4" nolabel="1"/>
- <!--<newline/>
- <separator string="Bad Barcode" colspan="4"/>
- <field name="bad_barcode" colspan="2" nolabel="1"/>-->
- </group>
- </group>
- </form>
- </field>
- </record>
-
- <record id="action_stock_reference" model="ir.actions.act_window">
- <field name="name">Reference</field>
- <field name="type">ir.actions.act_window</field>
- <field name="res_model">stock.reference</field>
- <field name="view_type">form</field>
- <field name="view_mode">form</field>
- <field name="view_id" ref="view_stock_reference"/>
- <field name="target">new</field>
- </record>
-
- </data>
+ <data>
+
+ <record id="view_stock_reference" model="ir.ui.view">
+ <field name="name">Acquisition.reference.view</field>
+ <field name="model">stock.reference</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Reference acquisistion">
+ <group width="400" height="100">
+ <group colspan="4">
+ <field name="reference" on_change="onchange_reference(reference,track_id,text)" colspan="4"/>
+ <field name="track_id" colspan="2" invisible="1"/>
+ <newline/>
+ <separator string="End of Acquisition" colspan="4"/>
+ <button special="cancel" string="Close" icon="gtk-ok"/>
+ <newline/>
+ <separator string="Barcode list" colspan="4"/>
+ <field name="text" colspan="4" nolabel="1"/>
+ <!--<newline/>
+ <separator string="Bad Barcode" colspan="4"/>
+ <field name="bad_barcode" colspan="2" nolabel="1"/>-->
+ </group>
+ </group>
+ </form>
+ </field>
+ </record>
+
+ <record id="action_stock_reference" model="ir.actions.act_window">
+ <field name="name">Reference</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">stock.reference</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="view_stock_reference"/>
+ <field name="target">new</field>
+ </record>
+
+ </data>
</openerp>
=== modified file 'stock_tracking_add_move/__openerp__.py'
--- stock_tracking_add_move/__openerp__.py 2013-02-18 17:47:26 +0000
+++ stock_tracking_add_move/__openerp__.py 2013-08-20 09:03:46 +0000
@@ -47,7 +47,7 @@
"security/ir.model.access.csv",
],
'test': [],
- 'installable': False,
+ 'installable': True,
'active': False,
}
=== modified file 'stock_tracking_add_move/wizard/add_move_view.xml'
--- stock_tracking_add_move/wizard/add_move_view.xml 2013-03-04 17:29:43 +0000
+++ stock_tracking_add_move/wizard/add_move_view.xml 2013-08-20 09:03:46 +0000
@@ -66,7 +66,7 @@
<record id="view_tracking_form_inherit" model="ir.ui.view">
<field name="name">stock.tracking.form.inherit</field>
<field name="model">stock.tracking</field>
- <field name="inherit_id" ref="stock_tracking_extended.view_tracking_form_inherit"/>
+ <field name="inherit_id" ref="stock_tracking_state.view_tracking_state_form"/>
<field name="arch" type="xml">
<button name="reset_open" position="after">
<button name="%(pack_add_move)d" states="open" string="Add object" colspan="2" type="action" icon="gtk-ok"/>