[WIP] remove stock.picking.in and stock.picking.out and replace by picking_type_id
authorJosse Colpaert <jco@openerp.com>
Tue, 23 Jul 2013 16:47:55 +0000 (18:47 +0200)
committerJosse Colpaert <jco@openerp.com>
Tue, 23 Jul 2013 16:47:55 +0000 (18:47 +0200)
bzr revid: jco@openerp.com-20130723164755-39wldz6jdjkqjvkk

35 files changed:
addons/claim_from_delivery/claim_delivery_view.xml
addons/delivery/delivery_view.xml
addons/mrp/mrp.py
addons/mrp/mrp_view.xml
addons/portal_stock/security/ir.model.access.csv
addons/portal_stock/security/portal_security.xml
addons/purchase/__openerp__.py
addons/purchase/process/purchase_process.xml
addons/purchase/purchase.py
addons/purchase/purchase_view.xml
addons/purchase/stock.py
addons/purchase/stock_view.xml
addons/sale_journal/sale_journal.py
addons/sale_journal/sale_journal_view.xml
addons/sale_stock/sale_stock.py
addons/sale_stock/stock.py
addons/sale_stock/stock_view.xml
addons/stock/procurement.py
addons/stock/security/ir.model.access.csv
addons/stock/stock.py
addons/stock/stock_data.xml
addons/stock/stock_demo.yml
addons/stock/stock_report.xml
addons/stock/stock_sequence.xml
addons/stock/stock_view.xml
addons/stock/wizard/stock_return_picking.py
addons/stock/wizard/stock_return_picking_view.xml
addons/stock_account/stock_account_view.xml
addons/stock_account/wizard/stock_invoice_onshipping_view.xml
addons/stock_complex_routes/stock_complex_routes.xml
addons/stock_location/stock_location.py
addons/stock_location/stock_location_data.xml
addons/stock_location/stock_location_demo_cpu1.xml
addons/stock_location/stock_location_demo_cpu3.yml
addons/stock_location/test/stock_location_push_flow.yml

index 9187b1d..f9002a1 100644 (file)
@@ -13,7 +13,7 @@
         <record id="crm_claim_from_delivery" model="ir.ui.view">
             <field name="name">crm.claim.from_delivery.form</field>
             <field name="model">stock.picking.out</field>
-            <field name="inherit_id" ref="stock.view_picking_out_form"/>
+            <field name="inherit_id" ref="stock.view_picking_form"/>
             <field name="arch" type="xml">
                 <xpath expr="/form/sheet/h1" position="before">
                     <div class="oe_right oe_button_box">
index 1ad729d..2cf7d00 100644 (file)
             </field>
         </record>
 
-        <record id="action_picking_tree4" model="ir.actions.act_window">
+        <record id="action_picking_tree" model="ir.actions.act_window">
             <field name="name">Picking to be invoiced</field>
             <field name="res_model">stock.picking.out</field>
             <field name="type">ir.actions.act_window</field>
         
         <record id="view_picking_withcarrier_in_form" model="ir.ui.view">
             <field name="name">delivery.stock.picking_withcarrier.in.form.view</field>
-            <field name="model">stock.picking.in</field>
+            <field name="model">stock.picking</field>
             <field name="inherit_id" ref="stock.view_picking_form"/>
             <field name="arch" type="xml">
               <field name="company_id" position="before">
index e05a974..207f94c 100644 (file)
@@ -899,6 +899,7 @@ class mrp_production(osv.osv):
             'move_dest_id': production.move_prod_id.id,
             'state': 'waiting',
             'company_id': production.company_id.id,
+            'picking_type_id': self.pool.get("ir.model.data").get_object_reference(cr, uid, 'stock', 'picking_type_internal')[1], 
         }
         move_id = stock_move.create(cr, uid, data, context=context)
         production.write({'move_created_ids': [(6, 0, [move_id])]}, context=context)
@@ -928,6 +929,7 @@ class mrp_production(osv.osv):
             'state': 'waiting',
             'company_id': production.company_id.id,
             'procure_method': 'make_to_order',
+            'picking_type_id': self.pool.get("ir.model.data").get_object_reference(cr, uid, 'stock', 'picking_type_internal')[1],
         })
         production.write({'move_lines': [(4, move_id)]}, context=context)
         return move_id
index b1f854b..5836692 100644 (file)
                                             <field name="product_qty"/>
                                             <field name="product_uom"  string="Unit of Measure" groups="product.group_uom"/>
                                             <field name="state" invisible="1"/>
-                                            <button name="%(stock.action_partial_move_server)d"
-                                                string="Partial"
-                                                type="action" states="confirmed,assigned"
-                                                icon="gtk-justify-fill"/>
+                                            <!--TODO: should have a partial picking here-->
                                         </tree>
                                     </field>
                                 </group>
index f2a3a2f..d96ff00 100644 (file)
@@ -1,5 +1,4 @@
 id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
 access_stock_picking,stock.picking,stock.model_stock_picking,portal.group_portal,1,0,0,0
-access_stock_picking.out,stock.picking.out,stock.model_stock_picking_out,portal.group_portal,1,0,0,0
 access_stock_move,stock.move,stock.model_stock_move,portal.group_portal,1,0,0,0
 access_stock_warehouse_orderpoint,stock.warehouse.orderpoint,stock.model_stock_warehouse_orderpoint,portal.group_portal,1,0,0,0
index c558745..efcf54a 100644 (file)
@@ -9,13 +9,5 @@
             <field name="domain_force">[('message_follower_ids','in',[user.partner_id.id])]</field>
             <field name="groups" eval="[(4, ref('portal.group_portal'))]"/>
         </record>
-
-        <record id="portal_stock_picking_out_user_rule" model="ir.rule">
-            <field name="name">Portal Personal Out Pickings</field>
-            <field name="model_id" ref="stock.model_stock_picking_out"/>
-            <field name="domain_force">[('message_follower_ids','in',[user.partner_id.id])]</field>
-            <field name="groups" eval="[(4, ref('portal.group_portal'))]"/>
-        </record>
-
     </data>
 </openerp>
index 5d262a6..56512be 100644 (file)
@@ -60,7 +60,7 @@ Dashboard / Reports for Purchase Management will include:
         'purchase_view.xml',
         'stock_view.xml',
         'partner_view.xml',
-        'process/purchase_process.xml',
+#         'process/purchase_process.xml',
         'report/purchase_report_view.xml',
         'board_purchase_view.xml',
         'edi/purchase_order_action_data.xml',
index 7feb476..c45b855 100644 (file)
@@ -95,7 +95,7 @@
         </record>
 
         <record id="process_node_packinglist0" model="process.node">
-            <field name="menu_id" ref="stock.menu_action_picking_tree4"/>
+            <field name="menu_id" ref="stock.menu_action_picking_tree"/>
             <field name="model_id" ref="stock.model_stock_picking"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
             <field eval="&quot;&quot;&quot;Incoming Products&quot;&quot;&quot;" name="name"/>
index ee1f893..18e1f98 100644 (file)
@@ -192,7 +192,7 @@ class purchase_order(osv.osv):
         'validator' : fields.many2one('res.users', 'Validated by', readonly=True),
         'notes': fields.text('Terms and Conditions'),
         'invoice_ids': fields.many2many('account.invoice', 'purchase_invoice_rel', 'purchase_id', 'invoice_id', 'Invoices', help="Invoices generated for a purchase order"),
-        'picking_ids': fields.one2many('stock.picking.in', 'purchase_id', 'Picking List', readonly=True, help="This is the list of incoming shipments that have been generated for this purchase order."),
+        'picking_ids': fields.one2many('stock.picking', 'purchase_id', 'Picking List', readonly=True, help="This is the list of incoming shipments that have been generated for this purchase order."),
         'shipped':fields.boolean('Received', readonly=True, select=True, help="It indicates that a picking has been done"),
         'shipped_rate': fields.function(_shipped_rate, string='Received Ratio', type='float'),
         'invoiced': fields.function(_invoiced, string='Invoice Received', type='boolean', help="It indicates that an invoice has been paid"),
@@ -373,7 +373,7 @@ class purchase_order(osv.osv):
         for po in self.browse(cr, uid, ids, context=context):
             pick_ids += [picking.id for picking in po.picking_ids]
 
-        action_model, action_id = tuple(mod_obj.get_object_reference(cr, uid, 'stock', 'action_picking_tree4'))
+        action_model, action_id = tuple(mod_obj.get_object_reference(cr, uid, 'stock', 'action_picking_tree'))
         action = self.pool[action_model].read(cr, uid, action_id, context=context)
         ctx = eval(action['context'])
         ctx.update({
@@ -623,7 +623,7 @@ class purchase_order(osv.osv):
 
     def _prepare_order_picking(self, cr, uid, order, context=None):
         return {
-            'name': self.pool.get('ir.sequence').get(cr, uid, 'stock.picking.in'),
+            'name': self.pool.get('ir.sequence').get(cr, uid, 'stock.picking'),
             'origin': order.name + ((order.origin and (':' + order.origin)) or ''),
             'date': self.date_to_datetime(cr, uid, order.date_order, context),
             'partner_id': order.dest_address_id.id or order.partner_id.id,
index 00bcba8..6fc6172 100644 (file)
@@ -84,8 +84,6 @@
       <!--Inventory control-->
       <menuitem id="menu_procurement_management_inventory" name="Incoming Products"
             parent="base.menu_purchase_root" sequence="4"/>
-      <menuitem action="stock.action_picking_tree4" id="menu_action_picking_tree4" parent="menu_procurement_management_inventory"
-            name="Incoming Shipments" sequence="9"/>
       <menuitem action="stock.action_reception_picking_move" id="menu_action_picking_tree_in_move"
             parent="menu_procurement_management_inventory" sequence="11"/>
 
index 267e1b3..093329b 100644 (file)
@@ -43,6 +43,7 @@ class stock_picking(osv.osv):
     _columns = {
         'purchase_id': fields.many2one('purchase.order', 'Purchase Order',
             ondelete='set null', select=True),
+        'warehouse_id': fields.related('purchase_id', 'warehouse_id', type='many2one', relation='stock.warehouse', string='Destination Warehouse'),
     }
 
     _defaults = {
@@ -125,28 +126,18 @@ class stock_picking(osv.osv):
         if picking.purchase_id:
             purchase_obj.write(cursor, user, [picking.purchase_id.id], {'invoice_ids': [(4, invoice_id)]})
         return super(stock_picking, self)._invoice_hook(cursor, user, picking, invoice_id)
+# 
+# class stock_partial_picking(osv.osv_memory):
+#     _inherit = 'stock.partial.picking'
+# 
+#     # Overridden to inject the purchase price as true 'cost price' when processing
+#     # incoming pickings. The price is always stored in the company currency.
+#     def _product_cost_for_average_update(self, cr, uid, move):
+#         if move.picking_id.purchase_id:
+#             currency_obj = self.pool.get("res.currency")
+#             new_price = currency_obj.compute(cr, uid, move.picking_id.purchase_id.pricelist_id.currency_id.id, move.company_id.currency_id.id, 
+#                                                  move.purchase_line_id.price_unit, round=False)
+#             return {'cost': new_price}
+#         return super(stock_partial_picking, self)._product_cost_for_average_update(cr, uid, move)
 
-class stock_partial_picking(osv.osv_memory):
-    _inherit = 'stock.partial.picking'
-
-    # Overridden to inject the purchase price as true 'cost price' when processing
-    # incoming pickings. The price is always stored in the company currency.
-    def _product_cost_for_average_update(self, cr, uid, move):
-        if move.picking_id.purchase_id:
-            currency_obj = self.pool.get("res.currency")
-            new_price = currency_obj.compute(cr, uid, move.picking_id.purchase_id.pricelist_id.currency_id.id, move.company_id.currency_id.id, 
-                                                 move.purchase_line_id.price_unit, round=False)
-            return {'cost': new_price}
-        return super(stock_partial_picking, self)._product_cost_for_average_update(cr, uid, move)
-
-# Redefinition of the new field in order to update the model stock.picking.in in the orm
-# FIXME: this is a temporary workaround because of a framework bug (ref: lp996816). It should be removed as soon as
-#        the bug is fixed
-class stock_picking_in(osv.osv):
-    _inherit = 'stock.picking.in'
-    _columns = {
-        'purchase_id': fields.many2one('purchase.order', 'Purchase Order',
-            ondelete='set null', select=True),
-        'warehouse_id': fields.related('purchase_id', 'warehouse_id', type='many2one', relation='stock.warehouse', string='Destination Warehouse'),
-    }
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index 0ba48a6..07aefef 100644 (file)
@@ -14,7 +14,7 @@
 
         <record id="stock_picking_in_inherit_purchase" model="ir.ui.view">
             <field name="name">Incoming Picking Inherited</field>
-            <field name="model">stock.picking.in</field>
+            <field name="model">stock.picking</field>
             <field name="inherit_id" ref="stock.view_picking_form"/>
             <field name="arch" type="xml">
                 <xpath expr="//field[@name='date']" position="before">
@@ -28,8 +28,8 @@
 
         <record id="view_picking_in_search_picking_inherit" model="ir.ui.view">
             <field name="name">stock.picking.in.search.inherit</field>
-            <field name="model">stock.picking.in</field>
-            <field name="inherit_id" ref="stock.view_picking_in_search"/>
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_internal_search"/>
             <field name="arch" type="xml">
                 <xpath expr="//field[@name='product_id']" position="before">
                     <field name="purchase_id"/>
             </field>
         </record>
 
-        <record id="action_picking_tree4_picking_to_invoice" model="ir.actions.act_window">
+        <record id="action_picking_tree_picking_to_invoice" model="ir.actions.act_window">
             <field name="name">On Incoming Shipments</field>
-            <field name="res_model">stock.picking.in</field>
+            <field name="res_model">stock.picking</field>
             <field name="type">ir.actions.act_window</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form,calendar</field>
-            <field name="domain">[('type','=','in'),('purchase_id.invoice_method','=','picking')]</field>
+            <field name="domain">[('purchase_id.invoice_method','=','picking')]</field>
             <field name="context">{"default_type": "in", "contact_display": "partner_address", "search_default_done": 1, "search_default_to_invoice": 1}</field>
-            <field name="search_view_id" ref="stock.view_picking_in_search"/>
+            <field name="search_view_id" ref="stock.view_picking_internal_search"/>
             <field name="help" type="html">
               <p class="oe_view_nocontent_create">
                 Click to create a new incoming shipment.
@@ -76,8 +76,8 @@
             </field>
        </record>
 
-        <menuitem action="action_picking_tree4_picking_to_invoice"
-            id="menu_action_picking_tree4_picking_to_invoice"
+        <menuitem action="action_picking_tree_picking_to_invoice"
+            id="menu_action_picking_tree_picking_to_invoice"
             parent="purchase.menu_procurement_management_invoice" sequence="90"/>
     </data>
 </openerp>
index 73fd5b6..b6cf6d2 100644 (file)
@@ -61,7 +61,7 @@ class picking(osv.osv):
     }
 
 class stock_picking_in(osv.osv):
-    _inherit = "stock.picking.in"
+    _inherit = "stock.picking"
     _columns = {
         'invoice_type_id': fields.many2one('sale_journal.invoice.type', 'Invoice Type', readonly=True)
     }
index 9d41103..573596f 100644 (file)
@@ -98,7 +98,7 @@
 
         <record model="ir.ui.view" id="sale_journal_picking_order_in">
             <field name="name">stock.picking.journal.view.form</field>
-            <field name="model">stock.picking.in</field>
+            <field name="model">stock.picking</field>
             <field name="inherit_id" ref="stock.view_picking_in_form" />
             <field name="arch" type="xml">
                 <field name="move_type" position="before">
 
         <record model="ir.ui.view" id="sale_journal_picking_order_tree_in">
             <field name="name">stock.picking.journal.view.tree</field>
-            <field name="model">stock.picking.in</field>
+            <field name="model">stock.picking</field>
             <field name="inherit_id" ref="stock.view_picking_in_tree" />
             <field name="arch" type="xml">
                 <field name="state" position="before">
 
         <record model="ir.ui.view" id="sale_journal_picking_order_out">
             <field name="name">stock.picking.journal.view.form</field>
-            <field name="model">stock.picking.out</field>
-            <field name="inherit_id" ref="stock.view_picking_out_form" />
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_form" />
             <field name="arch" type="xml">
                 <field name="move_type" position="before">
                     <field name="invoice_type_id"/>
 
         <record model="ir.ui.view" id="sale_journal_picking_order_tree_out">
             <field name="name">stock.picking.journal.view.tree</field>
-            <field name="model">stock.picking.out</field>
+            <field name="model">stock.picking</field>
             <field name="inherit_id" ref="stock.view_picking_out_tree" />
             <field name="arch" type="xml">
                 <field name="state" position="before">
 
         <record id="view_picking_out_search" model="ir.ui.view">
             <field name="name">stock.picking.out.search.inherit</field>
-            <field name="model">stock.picking.out</field>
-            <field name="inherit_id" ref="stock.view_picking_out_search"/>
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_internal_search"/>
             <field name="arch" type="xml">
                 <xpath expr="//group/filter[@string='Journal']" position="after">
                     <filter string="Invoice Type" domain="[]" context="{'group_by':'invoice_type_id'}"/>
 
         <record id="view_picking_in_search" model="ir.ui.view">
             <field name="name">stock.picking.in.search.inherit</field>
-            <field name="model">stock.picking.in</field>
+            <field name="model">stock.picking</field>
             <field name="inherit_id" ref="stock.view_picking_in_search"/>
             <field name="arch" type="xml">
                 <xpath expr="//group/filter[@string='Journal']" position="after">
index a0fe5b7..9149cf3 100644 (file)
@@ -63,7 +63,7 @@ class sale_order(osv.osv):
             #TODO: not better to use picking
             pickingstates = []
             for pick in sale.picking_ids:
-                pickingstates += [x.state not in ['cancel', 'done'] for x in pick.move_lines]
+                pickingstates += [x.state not in ['cancel', 'done'] for x in pick.move_lines if x]
             if any(pickingstates):
                 res[sale.id] = False
         return res
@@ -175,7 +175,7 @@ class sale_order(osv.osv):
         if len(pick_ids) > 1:
             result['domain'] = "[('id','in',["+','.join(map(str, pick_ids))+"])]"
         else:
-            res = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_out_form')
+            res = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_form')
             result['views'] = [(res and res[1] or False, 'form')]
             result['res_id'] = pick_ids and pick_ids[0] or False
         return result
index b871a2e..ef5fcd3 100644 (file)
@@ -118,13 +118,4 @@ class stock_picking(osv.osv):
                 self.pool.get('sale.order').message_post(cr, uid, [record.sale_id.id], body=_("Products delivered"), context=context)
         return super(stock_picking, self).action_done(cr, uid, ids, context=context)
 
-# Redefinition of the new field in order to update the model stock.picking.out in the orm
-# FIXME: this is a temporary workaround because of a framework bug (ref: lp996816). It should be removed as soon as
-#        the bug is fixed
-class stock_picking_out(osv.osv):
-    _inherit = 'stock.picking.out'
-    _columns = {
-        'sale_id': fields.many2one('sale.order', 'Sale Order',
-            ondelete='set null', select=True),
-    }
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index 0f5b9c4..64ea51d 100644 (file)
@@ -32,7 +32,7 @@
         <record id="action_sale_picking_out_form_view" model="ir.actions.act_window.view">
             <field eval="2" name="sequence"/>
             <field name="view_mode">form</field>
-            <field name="view_id" ref="stock.view_picking_out_form"/>
+            <field name="view_id" ref="stock.view_picking_form"/>
             <field name="act_window_id" ref="act_sale_order_2_stock_picking"/>
         </record>
         -->
@@ -41,8 +41,8 @@
 
         <record id="stock_picking_out_inherit_sale" model="ir.ui.view">
             <field name="name">Outgoing picking Inherited</field>
-            <field name="model">stock.picking.out</field>
-            <field name="inherit_id" ref="stock.view_picking_out_form"/>
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_form"/>
             <field name="arch" type="xml">
                 <field name="move_type" position="after">
                     <field name="sale_id"/>
@@ -57,9 +57,9 @@
             <field name="type">ir.actions.act_window</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form,calendar</field>
-            <field name="domain">[('type','=','out')]</field>
+            <field name="domain">[('location_id.usage','=','internal'), ('location_dest_id.usage','!=','internal')]</field>
             <field name="context">{'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1, 'default_invoice_state': '2binvoiced'}</field>
-            <field name="search_view_id" ref="stock.view_picking_out_search"/>
+            <field name="search_view_id" ref="stock.view_picking_internal_search"/>
         </record>
         <menuitem action="outgoing_picking_list_to_invoice" id="menu_action_picking_list_to_invoice" parent="base.menu_invoiced" groups="sale_stock.group_invoice_deli_orders" sequence="20"/>
 
index e16d98b..a9b5865 100644 (file)
@@ -40,7 +40,7 @@ class procurement_rule(osv.osv):
         'location_id': fields.many2one('stock.location', 'Destination Location'),
         'location_src_id': fields.many2one('stock.location', 'Source Location',
             help="Source location is action=move"), 
-        'picking_type_id': fields.many2one('stock.picking.type', 'Picking Type', 
+        'picking_type_id': fields.many2one('stock.picking.type', 'Picking Type', required=True, 
             help="Picking Type determines the way the picking should be shown in the view, reports, ...")
     }
 
@@ -83,7 +83,7 @@ class procurement_order(osv.osv):
             'move_dest_id': procurement.move_dest_id and procurement.move_dest_id.id or False,
             #'cancel_cascade': procurement.rule_id and procurement.rule_id.cancel_cascade or False,
             'group_id': procurement.group_id and procurement.group_id.id or False,
-            'picking_type': self.pool.get('stock.move').get_type_from_usage(cr, uid, procurement.rule_id.location_src_id, procurement.rule_id.location_id, context=context)
+            'picking_type_id': procurement.rule_id.picking_type_id.id, 
         }
 
     def _run(self, cr, uid, procurement, context=None):
index e9a543f..0d87294 100644 (file)
@@ -9,11 +9,7 @@ access_stock_location_user,stock.location.user,model_stock_location,base.group_u
 access_stock_journal_user,stock.journal.user,model_stock_journal,base.group_user,1,0,0,0
 access_stock_journal_manager,stock.journal.manager,model_stock_journal,stock.group_stock_manager,1,1,1,1
 access_stock_picking_user,stock.picking user,model_stock_picking,stock.group_stock_user,1,1,1,1
-access_stock_picking_in_user,stock.picking.in,model_stock_picking_in,stock.group_stock_user,1,1,1,1
-access_stock_picking_out_user,stock.picking.out,model_stock_picking_out,stock.group_stock_user,1,1,1,1
 access_stock_picking_manager,stock.picking manager,model_stock_picking,stock.group_stock_manager,1,1,0,0
-access_stock_picking_in_manager,stock.picking.in manager,model_stock_picking_in,stock.group_stock_manager,1,0,0,0
-access_stock_picking_out_manager,stock.picking.out manager,model_stock_picking_out,stock.group_stock_manager,1,0,0,0
 access_stock_production_lot_manager,stock.production.lot manager,model_stock_production_lot,stock.group_stock_manager,1,0,0,0
 access_stock_production_lot_user,stock.production.lot user,model_stock_production_lot,stock.group_stock_user,1,1,1,1
 access_stock_move_manager,stock.move manager,model_stock_move,stock.group_stock_manager,1,1,1,1
index 7ffe529..423a141 100644 (file)
@@ -440,7 +440,7 @@ class stock_picking(osv.osv):
         'name': fields.char('Reference', size=64, select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
         'origin': fields.char('Source Document', size=64, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="Reference of the document", select=True),
         'backorder_id': fields.many2one('stock.picking', 'Back Order of', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="If this shipment was split, then this field links to the shipment which contains the already processed part.", select=True),
-        'type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], 'Shipping Type', required=True, select=True, help="Shipping type specify, goods coming in or going out."),
+        #'type': fields.selection([('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], 'Shipping Type', required=True, select=True, help="Shipping type specify, goods coming in or going out."),
         'note': fields.text('Notes', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
         'stock_journal_id': fields.many2one('stock.journal','Stock Journal', select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
         'move_type': fields.selection([('direct', 'Partial'), ('one', 'All at once')], 'Delivery Method', required=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}, help="It specifies goods to be deliver partially or all at once"),
@@ -470,13 +470,13 @@ class stock_picking(osv.osv):
         'partner_id': fields.many2one('res.partner', 'Partner', states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
         'company_id': fields.many2one('res.company', 'Company', required=True, select=True, states={'done':[('readonly', True)], 'cancel':[('readonly',True)]}),
         'pack_operation_ids': fields.one2many('stock.pack.operation', 'picking_id', string='Related Packing Operations'), 
-        'picking_type_id': fields.many2one('stock.picking.type', string="Picking Type"), 
-
+         
         # Used to search a product on pickings
         'product_id': fields.related('move_lines', 'product_id', type='many2one', relation='product.product', string='Product'),
         'location_id': fields.related('move_lines', 'location_id', type='many2one', relation='stock.location', string='Location'),
         'location_dest_id': fields.related('move_lines', 'location_dest_id', type='many2one', relation='stock.location', string='Destination Location'),
-        'group_id': fields.related('move_lines', 'group_id', type='many2one', relation='procurement.group', string='Procurement Group'), 
+        'group_id': fields.related('move_lines', 'group_id', type='many2one', relation='procurement.group', string='Procurement Group'),
+        'picking_type_id': fields.related('move_lines', 'picking_type_id', type='many2one', relation='stock.picking.type', string="Picking Type"),
     }
     _defaults = {
         'name': lambda self, cr, uid, context: '/',
@@ -484,7 +484,6 @@ class stock_picking(osv.osv):
         'partner_id': lambda self, cr, uid, context: self.pool.get('stock.move')._default_destination_address(cr, uid, context=context),
         'state': 'draft',
         'move_type': 'direct',
-        'type': 'internal',
         'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
         'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.picking', context=c)
     }
@@ -504,14 +503,6 @@ class stock_picking(osv.osv):
             default['backorder_id'] = False
         return super(stock_picking, self).copy(cr, uid, id, default, context)
 
-    def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
-        if view_type == 'form' and not view_id:
-            mod_obj = self.pool.get('ir.model.data')
-            if self._name == "stock.picking.in":
-                model, view_id = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_in_form')
-            if self._name == "stock.picking.out":
-                model, view_id = mod_obj.get_object_reference(cr, uid, 'stock', 'view_picking_out_form')
-        return super(stock_picking, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
 
     def action_confirm(self, cr, uid, ids, context=None):
         """ Confirms picking.
@@ -760,18 +751,14 @@ class stock_picking(osv.osv):
             self.make_packaging(cr, uid, picking.id, todo_move_ids, context=context)
 
     # views associated to each picking type
-    _VIEW_LIST = {
-        'out': 'view_picking_out_form',
-        'in': 'view_picking_in_form',
-        'internal': 'view_picking_form',
-    }
     def _get_view_id(self, cr, uid, type):
         """Get the view id suiting the given type
 
         @param type: the picking type as a string
         @return: view i, or False if no view found
         """
-        res = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'stock', self._VIEW_LIST.get(type, 'view_picking_form'))      
+        res = self.pool.get('ir.model.data').get_object_reference(cr, uid, 
+            'stock', 'view_picking_form')
         return res and res[1] or False
 
     def _get_picking_for_packing_ui(self, cr, uid, context=None):
@@ -1014,8 +1001,9 @@ class stock_move(osv.osv):
 
         # used for colors in tree views:
         'scrapped': fields.related('location_dest_id','scrap_location',type='boolean',relation='stock.location',string='Scrapped', readonly=True),
-        'type': fields.related('picking_id', 'type', type='selection', selection=[('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], string='Shipping Type'),
-        'quant_ids': fields.many2many('stock.quant', 'stock_quant_move_rel', 'move_id', 'quant_id', 'Quants'),
+        'picking_type_id': fields.many2one('stock.picking.type', 'Picking Type', help="The picking type will be used for composing the views and reports the related picking", required=True), 
+        #'type': fields.related('picking_id', 'type', type='selection', selection=[('out', 'Sending Goods'), ('in', 'Getting Goods'), ('internal', 'Internal')], string='Shipping Type'),
+        'quant_ids': fields.many2many('stock.quant',  'stock_quant_move_rel', 'move_id', 'quant_id', 'Quants'),
         'reserved_quant_ids': fields.one2many('stock.quant', 'reservation_id', 'Reserved quants'),
         'remaining_qty': fields.function(_get_remaining_qty, type='float', string='Remaining Quantity', digits_compute=dp.get_precision('Product Unit of Measure'), states={'done': [('readonly', True)]}),
         'group_id': fields.many2one('procurement.group', 'Procurement Group'),
@@ -1126,7 +1114,7 @@ class stock_move(osv.osv):
         'location_id': _default_location_source,
         'location_dest_id': _default_location_destination,
         'partner_id': _default_destination_address,
-        'type': _default_move_type,
+#         'picking_type_id': lambda self, cr, uid, c: self.pool.get('ir.model.data').get_object_reference(cr, uid, 'stock', 'picking_type_internal')[1], 
         'state': 'draft',
         'priority': '1',
         'product_qty': 1.0,
@@ -1293,7 +1281,7 @@ class stock_move(osv.osv):
             result['location_dest_id'] = loc_dest_id
         return {'value': result}
 
-    def onchange_move_type(self, cr, uid, ids, type, context=None):
+    def onchange_move_type(self, cr, uid, ids, picking_type_id, context=None):
         """ On change of move type gives sorce and destination location.
         @param type: Move Type
         @return: Dictionary of values
@@ -1301,6 +1289,7 @@ class stock_move(osv.osv):
         mod_obj = self.pool.get('ir.model.data')
         location_source_id = 'stock_location_stock'
         location_dest_id = 'stock_location_stock'
+        type="internal"
         if type == 'in':
             location_source_id = 'stock_location_suppliers'
             location_dest_id = 'stock_location_stock'
@@ -1337,7 +1326,7 @@ class stock_move(osv.osv):
                 original_picking = pick_obj.browse(cr, uid, context.get('backorder_of'), context=context)
                 new_picking_name = original_picking.name
                 #TODO back_order_name is False currently => find why
-                back_order_name = sequence_obj.get(cr, uid, 'stock.picking.%s' % (original_picking.type))
+                back_order_name = sequence_obj.get(cr, uid, 'stock.picking') #TODO: Need to have sequence for every picking type
                 pick_obj.write(cr, uid, [original_picking.id], {'name': back_order_name})
                 pick = pick_obj.copy(cr, uid, original_picking.id, {'name': new_picking_name,
                                                     'move_lines': [],
@@ -1350,7 +1339,7 @@ class stock_move(osv.osv):
                 #a backorder picking doesn't exist yet, create a new one
                 values = {'origin': move.origin,
                           'company_id': move.company_id and move.company_id.id or False,
-                          'type': 'internal',
+#                           'type': 'internal',
                           'move_type': 'one',
                           'partner_id': move.partner_id and move.partner_id.id or False,
                           #'invoice_state': move.invoice_state
@@ -1872,7 +1861,8 @@ class stock_inventory(osv.osv):
                         'product_id': line.product_id.id,
                         'product_uom': line.product_uom.id,
                         'date': inv.date,
-                        'company_id': line.location_id.company_id.id
+                        'company_id': line.location_id.company_id.id, 
+                        'picking_type_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'stock', 'picking_type_inventory')[1], 
                     }
 
                     if change > 0:
@@ -1978,95 +1968,6 @@ class stock_warehouse(osv.osv):
     }
 
 
-#----------------------------------------------------------
-# "Empty" Classes that are used to vary from the original stock.picking  (that are dedicated to the internal pickings)
-#   in order to offer a different usability with different views, labels, available reports/wizards.. 
-# --> TO BE REPLACED by stock_picking_type
-#----------------------------------------------------------
-
-class stock_picking_in(osv.osv):
-    _name = "stock.picking.in"
-    _inherit = "stock.picking"
-    _table = "stock_picking"
-    _description = "Incoming Shipments"
-
-#     def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
-#         return self.pool.get('stock.picking').search(cr, user, args, offset, limit, order, context, count)
-# 
-#     def read(self, cr, uid, ids, fields=None, context=None, load='_classic_read'):
-#         return self.pool.get('stock.picking').read(cr, uid, ids, fields=fields, context=context, load=load)
-
-    def check_access_rights(self, cr, uid, operation, raise_exception=True):
-        #override in order to redirect the check of acces rights on the stock.picking object
-        return self.pool.get('stock.picking').check_access_rights(cr, uid, operation, raise_exception=raise_exception)
-
-    def check_access_rule(self, cr, uid, ids, operation, context=None):
-        #override in order to redirect the check of acces rules on the stock.picking object
-        return self.pool.get('stock.picking').check_access_rule(cr, uid, ids, operation, context=context)
-
-    _columns = {
-        'backorder_id': fields.many2one('stock.picking.in', 'Back Order of', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}, help="If this shipment was split, then this field links to the shipment which contains the already processed part.", select=True),
-        'state': fields.selection(
-            [('draft', 'Draft'),
-            ('auto', 'Waiting Another Operation'),
-            ('confirmed', 'Waiting Availability'),
-            ('assigned', 'Ready to Receive'),
-            ('done', 'Received'),
-            ('cancel', 'Cancelled')],
-            'Status', readonly=True, select=True,
-            help="""* Draft: not confirmed yet and will not be scheduled until confirmed\n
-                 * Waiting Another Operation: waiting for another move to proceed before it becomes automatically available (e.g. in Make-To-Order flows)\n
-                 * Waiting Availability: still waiting for the availability of products\n
-                 * Ready to Receive: products reserved, simply waiting for confirmation.\n
-                 * Received: has been processed, can't be modified or cancelled anymore\n
-                 * Cancelled: has been cancelled, can't be confirmed anymore"""),
-    }
-    _defaults = {
-        'type': 'in',
-    }
-
-class stock_picking_out(osv.osv):
-    _name = "stock.picking.out"
-    _inherit = "stock.picking"
-    _table = "stock_picking"
-    _description = "Delivery Orders"
-
-#     def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False):
-#         return self.pool.get('stock.picking').search(cr, user, args, offset, limit, order, context, count)
-# 
-#     def read(self, cr, uid, ids, fields=None, context=None, load='_classic_read'):
-#         return self.pool.get('stock.picking').read(cr, uid, ids, fields=fields, context=context, load=load)
-
-    def check_access_rights(self, cr, uid, operation, raise_exception=True):
-        #override in order to redirect the check of acces rights on the stock.picking object
-        return self.pool.get('stock.picking').check_access_rights(cr, uid, operation, raise_exception=raise_exception)
-
-    def check_access_rule(self, cr, uid, ids, operation, context=None):
-        #override in order to redirect the check of acces rules on the stock.picking object
-        return self.pool.get('stock.picking').check_access_rule(cr, uid, ids, operation, context=context)
-
-    _columns = {
-        'backorder_id': fields.many2one('stock.picking.out', 'Back Order of', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}, help="If this shipment was split, then this field links to the shipment which contains the already processed part.", select=True),
-        'state': fields.selection(
-            [('draft', 'Draft'),
-            ('auto', 'Waiting Another Operation'),
-            ('confirmed', 'Waiting Availability'),
-            ('assigned', 'Ready to Deliver'),
-            ('done', 'Delivered'),
-            ('cancel', 'Cancelled')],
-            'Status', readonly=True, select=True,
-            help="""* Draft: not confirmed yet and will not be scheduled until confirmed\n
-                 * Waiting Another Operation: waiting for another move to proceed before it becomes automatically available (e.g. in Make-To-Order flows)\n
-                 * Waiting Availability: still waiting for the availability of products\n
-                 * Ready to Deliver: products reserved, simply waiting for confirmation.\n
-                 * Delivered: has been processed, can't be modified or cancelled anymore\n
-                 * Cancelled: has been cancelled, can't be confirmed anymore"""),
-    }
-    _defaults = {
-        'type': 'out',
-    }
-
-
 # -------------------------
 # Packaging related stuff
 # -------------------------
@@ -2410,7 +2311,8 @@ class stock_picking_type(osv.osv):
     _columns = {
         'name': fields.char('name', size=30), 
         'pack': fields.boolean('Pack', 'This picking type needs packing interface'), 
-        'print_delivery': fields.boolean('Print delivery'), 
+        'delivery': fields.boolean('Print delivery'),
+        
             }
 
 
index 1009caa..ba0e2dc 100644 (file)
@@ -98,27 +98,11 @@ watch your stock valuation, and track production lots upstream and downstream (b
             <field name="location_id" ref="stock_location_company"/>
         </record>
 
-        <!--
-             Procurement rules
-        -->
-
-        <record id="procurement_rule_customer0" model="procurement.rule">
-            <field name="name">Output > Customer</field>
-            <field name="action">move</field>
-            <field name="location_id" ref="stock_location_customers"/>
-            <field name="location_src_id" ref="stock_location_output"/>
-        </record>
-
-        <record id="procurement_rule_customer1" model="procurement.rule">
-            <field name="name">Stock > Output</field>
-            <field name="action">move</field>
-            <field name="location_id" ref="stock_location_output"/>
-            <field name="location_src_id" ref="stock_location_stock"/>
-        </record>
 
         <!--
             Picking types
          -->
+
         <record id="picking_type_in" model="stock.picking.type">
             <field name="name">in</field>
         </record>
@@ -128,6 +112,24 @@ watch your stock valuation, and track production lots upstream and downstream (b
         <record id="picking_type_internal" model="stock.picking.type">
             <field name="name">internal</field>
         </record>
+        <record id="picking_type_inventory" model="stock.picking.type">
+            <field name="name">inventory</field>
+        </record>
+
+
+        <!--
+             Procurement rules
+        -->
+
+        <record id="procurement_rule_customer0" model="procurement.rule">
+            <field name="name">Stock > Customer</field>
+            <field name="action">move</field>
+            <field name="location_id" ref="stock_location_customers"/>
+            <field name="location_src_id" ref="stock_location_stock"/>
+            <field name="picking_type_id" ref="picking_type_out"/>
+        </record>
+
+
 
         <!--
     Properties
index 29b4bbe..4927b8d 100644 (file)
     location_id: location_refrigerator
 -
  !record {model: stock.picking, id: outgoing_shipment}:
-    type: out
     location_dest_id: location_delivery_counter
 -
  !record {model: stock.move, id: outgoing_shipment_icecream}:
     picking_id: outgoing_shipment
+    picking_type_id: picking_type_out
     product_id: product_icecream
     product_uom: product.product_uom_kgm
     product_uom_qty: 130.0
     location_dest_id: location_delivery_counter
 -
  !record {model: stock.picking, id: incomming_shipment}:
-    type: in
     partner_id: base.res_partner_address_9
     location_dest_id: location_refrigerator
 -
  !record {model: stock.move, id: incomming_shipment_icecream}:
     picking_id: incomming_shipment
+    picking_type_id: picking_type_in
     product_id: product_icecream
     product_uom: product.product_uom_kgm
     product_uom_qty: 50.0
index 1cd72b9..39c895f 100644 (file)
@@ -4,8 +4,8 @@
         <report auto="False" id="report_product_history" model="product.product" name="stock.product.history" string="Stock Level Forecast"/>
         <report id="report_picking_list" model="stock.picking" name="stock.picking.list.internal" string="Picking Slip" rml="stock/report/picking_internal.rml"/>
         <report id="report_quant_package_barcode" model="stock.quant.package" name="stock.quant.package.barcode" string="Picking BarCode" rml="stock/report/picking_barcode.rml"/>
-        <report id="report_picking_list_in" model="stock.picking.in" name="stock.picking.list" string="Receipt Slip" rml="stock/report/picking.rml"/>
-        <report id="report_picking_list_out" model="stock.picking.out" name="stock.picking.list" string="Delivery Slip" rml="stock/report/picking.rml"/>
+        <report id="report_picking_list_in" model="stock.pickin" name="stock.picking.list" string="Receipt Slip" rml="stock/report/picking.rml"/>
+        <report id="report_picking_list_out" model="stock.picking" name="stock.picking.list" string="Delivery Slip" rml="stock/report/picking.rml"/>
         <report id="report_move_labels" model="stock.move" name="stock.move.label" string="Item Labels" xml="stock/report/lot_move_label.xml" xsl="stock/report/lot_move_label.xsl"/>
         <report auto="False"  id="report_location_overview" model="stock.location" name="lot.stock.overview" string="Location Inventory Overview" rml="stock/report/lot_overview.rml"/>
         <report id="report_location_overview_all" model="stock.location" name="lot.stock.overview_all" string="Location Content" rml="stock/report/lot_overview_all.rml"/>
index da6621e..5aea5b2 100644 (file)
@@ -24,7 +24,7 @@
             Sequences for pickings
         -->
 
-        <record id="seq_picking_in" model="ir.sequence">
+        <!--<record id="seq_picking_in" model="ir.sequence">
             <field name="name">Picking IN</field>
             <field name="code">stock.picking.in</field>
             <field name="prefix">IN/</field>
@@ -38,7 +38,7 @@
             <field name="prefix">OUT/</field>
             <field name="padding">5</field>
             <field name="company_id" eval="False"/>
-        </record>
+        </record>-->
         
         <record id="seq_picking_internal" model="ir.sequence">
             <field name="name">Picking INT</field>
index 9ef427e..5547395 100644 (file)
             <field name="arch" type="xml">
                 <calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="partner_id">
                     <field name="origin"/>
-                    <field name="type"/>
+                    <field name="picking_type_id"/>
                     <field name="partner_id"/>
                 </calendar>
             </field>
                             <group>
                                 <group>
                                     <field name="move_type"/>
-                                    <field name="type" invisible="1"/>
+                                    <field name="picking_type_id"/>
                                     <field name="auto_picking" groups="base.group_user"/>
                                 </group>
                                 <group>
             </field>
         </record>
 
-        <record id="action_picking_tree6" model="ir.actions.act_window">
+        <record id="action_picking_tree" model="ir.actions.act_window">
             <field name="name">Internal Moves</field>
             <field name="res_model">stock.picking</field>
             <field name="type">ir.actions.act_window</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form,calendar</field>
-            <field name="domain">[('type','=','internal')]</field>
+            <field name="domain"></field>
             <field name="context">{'contact_display': 'partner_address', 'search_default_available': 1}</field>
             <field name="search_view_id" ref="view_picking_internal_search"/>
             <field name="help" type="html">
             </field>
         </record>
 
-        <record model="ir.actions.act_window.view" id="action_picking_tree6_tree_view">
+        <record model="ir.actions.act_window.view" id="action_picking_tree_tree_view">
             <field name="sequence" eval="1"/>
             <field name="view_mode">tree</field>
             <field name="view_id" ref="vpicktree"/>
-            <field name="act_window_id" ref="action_picking_tree6"/>
+            <field name="act_window_id" ref="action_picking_tree"/>
         </record>
-        <record model="ir.actions.act_window.view" id="action_picking_tree6_form_view">
+        <record model="ir.actions.act_window.view" id="action_picking_tree_form_view">
             <field name="sequence" eval="2"/>
             <field name="view_mode">form</field>
             <field name="view_id" ref="view_picking_form"/>
-            <field name="act_window_id" ref="action_picking_tree6"/>
-        </record>
-
-        <!-- Sending Products -->
-        <record model="ir.ui.view" id="stock_picking_out_calendar">
-            <field name="name">stock.picking.out.calendar</field>
-            <field name="model">stock.picking.out</field>
-            <field name="priority" eval="2"/>
-            <field name="arch" type="xml">
-                <calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="partner_id">
-                    <field name="origin"/>
-                    <field name="type"/>
-                    <field name="partner_id"/>
-                </calendar>
-            </field>
-        </record>
-        
-        <record id="view_picking_out_tree" model="ir.ui.view">
-            <field name="name">stock.picking.out.tree</field>
-            <field name="model">stock.picking.out</field>
-            <field name="arch" type="xml">
-                <tree colors="blue:state == 'draft';grey:state == 'cancel';red:state not in ('cancel', 'done') and min_date &lt; current_date" string="Delivery Orders">
-                    <field name="name"/>
-                    <field name="partner_id" string="Customer"/>
-                    <field name="origin"/>
-                    <field name="min_date"/>
-                    <field name="date"/>
-                    <field name="backorder_id"/>
-                    <field name="stock_journal_id"/>
-                    <field name="state"/>
-                </tree>
-            </field>
-        </record>
-        <record id="view_picking_out_form" model="ir.ui.view">
-            <field name="name">stock.picking.out.form</field>
-            <field name="model">stock.picking.out</field>
-            <field name="inherit_id" ref="view_picking_form"/>
-            <field name="arch" type="xml">
-                <field name="date_done" position="attributes" version="7.0">
-                    <attribute name="string">Date of Delivery</attribute>
-                </field>
-                <xpath expr="/form/header//button[@name='%(act_stock_return_picking)d']" position="replace">
-                    <button name="%(report_picking_list_out)d" string="Print Delivery Slip" type="action" states="done" class="oe_highlight"/>
-                    <button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action"/>
-                </xpath>
-                <xpath expr="/form/header//button[@name='draft_validate']" position="replace">
-                    <button name="draft_validate" states="draft" string="Confirm &amp; Deliver" type="object" class="oe_highlight"/>
-                    <button name="action_assign" states="confirmed" string="Check Availability" type="object" class="oe_highlight"/>
-                </xpath>
-                <xpath expr="/form/header//button[@name='do_partial']" position="replace">
-                    <button name="do_partial" states="assigned" string="Deliver" type="object" class="oe_highlight"/>
-                </xpath>
-                <xpath expr="/form/header//field[@name='state']" position="replace">
-                    <field name="state" nolabel="1" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
-                </xpath>
-                <xpath expr="//field[@name='move_lines']" position="replace">
-                    <field name="move_lines" context="{'address_out_id': partner_id, 'picking_type': 'out', 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree'}"/>
-                </xpath>
-                <xpath expr="/form/sheet" position="after">
-                    <div class="oe_chatter">
-                        <field name="message_follower_ids" widget="mail_followers"/>
-                        <field name="message_ids" widget="mail_thread"/>
-                    </div>
-                </xpath>
-            </field>
-        </record>
-        <record id="view_picking_out_search" model="ir.ui.view">
-            <field name="name">stock.picking.out.search</field>
-            <field name="model">stock.picking</field>
-            <field name="arch" type="xml">
-                <search string="Picking list">
-                    <field name="name" string="Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/>
-                    <filter icon="terp-check" name="available" string="Ready" domain="[('state','=','assigned')]" help="Assigned Delivery Orders"/>
-                    <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Delivery Orders"/>
-                    <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Delivery orders already processed"/>
-                    <separator/>
-                    <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
-                    <separator/>
-                    <field name="partner_id" filter_domain="[('partner_id','child_of',self)]"/>
-                    <field name="stock_journal_id"/>
-                    <field name="company_id" groups="base.group_multi_company"/>
-                    <group expand="0" string="Group By...">
-                        <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
-                        <filter string="Order Date" icon="terp-go-month" domain="[]"  context="{'group_by':'date'}"/>
-                        <filter string="Expected Date" icon="terp-go-month" domain="[]"  context="{'group_by':'min_date'}"/>
-                        <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
-                    </group>
-                </search>
-            </field>
-        </record>
-
-        <record id="action_picking_tree" model="ir.actions.act_window">
-            <field name="name">Delivery Orders</field>
-            <field name="res_model">stock.picking.out</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form,calendar</field>
-            <field name="domain">[('type','=','out')]</field>
-            <field name="context">{'default_type': 'out', 'contact_display': 'partner_address'}</field>
-            <field name="search_view_id" ref="view_picking_out_search"/>
-            <field name="help" type="html">
-              <p class="oe_view_nocontent_create">
-                Click to create a delivery order. 
-              </p><p>
-                This is the list of all delivery orders that have to be
-                prepared, according to your different sales orders and your
-                logistics rules.
-              </p>
-            </field>
-        </record>
-        <record id="action_picking_tree_out_view1_waiting" model="ir.actions.act_window.view">
-            <field eval="1" name="sequence"/>
-            <field name="view_mode">tree</field>
-            <field name="view_id" ref="view_picking_out_tree"/>
-            <field name="act_window_id" ref="action_picking_tree"/>
-        </record>
-        <record id="action_picking_tree_out_view2_waiting" model="ir.actions.act_window.view">
-            <field eval="2" name="sequence"/>
-            <field name="view_mode">form</field>
-            <field name="view_id" ref="view_picking_out_form"/>
             <field name="act_window_id" ref="action_picking_tree"/>
         </record>
-        <record id="action_picking_tree_out_view2_waiting_cal" model="ir.actions.act_window.view">
-            <field eval="3" name="sequence"/>
-            <field name="view_mode">calendar</field>
-            <field name="view_id" ref="stock_picking_out_calendar"/>
-            <field name="act_window_id" ref="action_picking_tree"/>
-        </record>
-        <menuitem action="action_picking_tree" id="menu_action_picking_tree" parent="menu_stock_warehouse_mgmt" sequence="3"/>
-
-        <!-- Incomming Shipments -->
-        <record model="ir.ui.view" id="stock_picking_in_calendar">
-            <field name="name">stock.picking.in.calendar</field>
-            <field name="model">stock.picking.in</field>
-            <field name="priority" eval="2"/>
-            <field name="arch" type="xml">
-                <calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="partner_id">
-                    <field name="origin"/>
-                    <field name="type"/>
-                    <field name="partner_id"/>
-                </calendar>
-            </field>
-        </record>
 
-        <record id="view_picking_in_tree" model="ir.ui.view">
-            <field name="name">stock.picking.in.tree</field>
-            <field name="model">stock.picking.in</field>
-            <field name="arch" type="xml">
-                <tree colors="blue:state == 'draft';grey:state == 'done';red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
-                    <field name="name"/>
-                    <field name="partner_id" string="Supplier"/>
-                    <field name="backorder_id"/>
-                    <field name="origin"/>
-                    <field name="date"/>
-                    <field name="min_date"/>
-                    <field name="stock_journal_id" widget="selection"/>
-                    <field name="state"/>
-                </tree>
-            </field>
-        </record>
-        <record id="view_picking_in_form" model="ir.ui.view">
-            <field name="name">stock.picking.in.form</field>
-            <field name="model">stock.picking.in</field>
-            <field name="inherit_id" ref="view_picking_form"/>
-            <field name="arch" type="xml">
-                <field name="date_done" position="attributes" version="7.0">
-                    <attribute name="string">Date of Reception</attribute>
-                </field>
-                <xpath expr="/form/header//button[@name='%(act_stock_return_picking)d']" position="replace">
-                    <button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action"/>
-                </xpath>
-                <xpath expr="//button[@name='draft_validate']" position="replace">
-                    <button name="draft_validate" states="draft" string="Confirm &amp; Receive" type="object" class="oe_highlight"/>
-                </xpath>
-                <xpath expr="//button[@name='do_partial']" position="replace">
-                    <button name="do_partial" states="assigned" string="Receive" type="object" class="oe_highlight"/>
-                </xpath>
-                <xpath expr="//field[@name='move_lines']" position="replace">
-                    <field name="move_lines" context="{'address_in_id': partner_id, 'picking_type': 'in', 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree'}"/>
-                </xpath>
-                <xpath expr="/form/sheet" position="after">
-                    <div class="oe_chatter">
-                        <field name="message_follower_ids" widget="mail_followers"/>
-                        <field name="message_ids" widget="mail_thread"/>
-                    </div>
-                </xpath>
-            </field>
-        </record>
-        <record id="view_picking_in_search" model="ir.ui.view">
-            <field name="name">stock.picking.in.search</field>
-            <field name="model">stock.picking.in</field>
-            <field name="arch" type="xml">
-                <search string="Incoming Shipments">
-                    <field name="name" string="Incoming Shipments" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
-                    <filter icon="terp-check" name="available" string="Ready to Process" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
-                    <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Incoming Shipments already processed"/>
-                    <separator/>
-                    <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
-                    <separator/>
-                    <field name="partner_id" filter_domain="[('partner_id','child_of',self)]"/>
-                    <field name="stock_journal_id"/>
-                    <field name="product_id"/>
-                    <group expand="0" string="Group By...">
-                        <filter icon="terp-stock_effects-object-colorize" name="state" string="Status" domain="[]" context="{'group_by':'state'}"/>
-                        <filter string="Order Date" icon="terp-go-month" domain="[]"  context="{'group_by':'date'}"/>
-                        <filter string="Expected Date" icon="terp-go-month" domain="[]"  context="{'group_by':'min_date'}"/>
-                        <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
-                    </group>
-                </search>
-            </field>
-        </record>
 
+        <menuitem action="action_picking_tree" id="menu_action_picking_tree" parent="menu_stock_warehouse_mgmt" sequence="0"/>
 
-        <record id="action_picking_tree4" model="ir.actions.act_window">
-            <field name="name">Incoming Shipments</field>
-            <field name="res_model">stock.picking.in</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form,calendar</field>
-            <field name="domain">[('type','=','in')]</field>
-            <field name="context">{'contact_display': 'partner_address', 'default_type': 'in'}</field>
-            <field name="search_view_id" ref="view_picking_in_search"/>
-            <field name="help" type="html">
-              <p class="oe_view_nocontent_create">
-                Click to create an incoming shipment. 
-              </p><p>
-                The Incoming Shipments is the list of all orders you will
-                receive from your suppliers. An incoming shipment contains a
-                list of products to be received according to the original
-                purchase order.
-              </p>
-            </field>
-        </record>
-        <record id="action_invoice_tree5_view1" model="ir.actions.act_window.view">
-            <field eval="1" name="sequence"/>
-            <field name="view_mode">tree</field>
-            <field name="view_id" ref="view_picking_in_tree"/>
-            <field name="act_window_id" ref="action_picking_tree4"/>
-        </record>
-        <record id="action_invoice_tree5_view2" model="ir.actions.act_window.view">
-            <field eval="2" name="sequence"/>
-            <field name="view_mode">form</field>
-            <field name="view_id" ref="view_picking_in_form"/>
-            <field name="act_window_id" ref="action_picking_tree4"/>
-        </record>
-        <record id="action_invoice_tree5_view2_cal" model="ir.actions.act_window.view">
-            <field eval="3" name="sequence"/>
-            <field name="view_mode">calendar</field>
-            <field name="view_id" ref="stock_picking_in_calendar"/>
-            <field name="act_window_id" ref="action_picking_tree4"/>
-        </record>
-        <menuitem action="action_picking_tree4" id="menu_action_picking_tree4" parent="menu_stock_warehouse_mgmt" sequence="1"/>
-
-        <menuitem action="action_picking_tree6" id="menu_action_picking_tree6" parent="menu_stock_warehouse_mgmt" sequence="2" groups="stock.group_locations"/>
 
         <record id="view_move_tree" model="ir.ui.view">
             <field name="name">stock.move.tree</field>
                     <field name="name"/>
                     <field name="picking_id" string="Reference"/>
                     <field name="origin"/>
-                    <field name="type" on_change="onchange_move_type(type)"/>
+                    <field name="picking_type_id" on_change="onchange_move_type(picking_type_id)"/>
                     <field name="create_date" invisible="1" groups="base.group_no_one"/>
                     <field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, False)"/>
                     <field name="product_uom_qty" on_change="onchange_quantity(product_id, product_uom_qty, product_uom, product_uos)"/>
                         </group>
                         <group name="origin_grp" string="Origin">
                             <field name="origin"/>
-                            <field name="picking_id" domain="[('type','=',type)]"/>
-                             <field name="type" on_change="onchange_move_type(type)"/>
+                            <field name="picking_id" domain="[('picking_type_id','=',picking_type_id)]"/>
+                             <field name="picking_type_id" on_change="onchange_move_type(picking_type_id)"/>
                             <field name="location_id" groups="stock.group_locations"/>
                             <field name="create_date" groups="base.group_no_one"/>
                         </group>
                     <group>
                         <field name="name" invisible="1"/>
                         <field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, parent.partner_id)"/>
-                        <field name="type" invisible="1"/>
+                        <field name="picking_type_id" invisible="1"/>
                         <field name="procure_method"/>
                         <label for="product_uom_qty"/>
                         <div>
             <field name="type">ir.actions.act_window</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
-            <field name="domain">['|','&amp;',('picking_id','=',False),('location_id.usage', 'in', ['customer','supplier']),'&amp;',('picking_id','!=',False),('picking_id.type','=','in')]</field>
+            <field name="domain">['|','&amp;',('picking_id','=',False),('location_id.usage', 'in', ['customer','supplier']),'&amp;',('picking_id','!=',False)]</field>
             <field name="view_id" ref="view_move_tree_reception_picking"/>
-            <field name="context">{'product_receive': True, 'search_default_future': True, 'picking_type': 'in'}</field>
+            <field name="context">{'product_receive': True, 'search_default_future': True}</field>
             <field name="help" type="html">
               <p class="oe_view_nocontent_create">
                 Click to register a product reception. 
             <field name="name">Open Products</field>
             <field eval="'ir.actions.act_window,%d'%action_view_stock_location_product" name="value"/>
         </record>
-        <record id="action_picking_tree_out" model="ir.actions.act_window">
-            <field name="name">Customers Packings</field>
-            <field name="res_model">stock.picking</field>
-            <field name="type">ir.actions.act_window</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form,calendar</field>
-            <field name="domain">[('type','=','out')]</field>
-            <field name="context">{'default_type': 'out', 'contact_display': 'partner',"search_default_available":1}</field>
-            <field name="search_view_id" ref="view_picking_in_search"/>
-        </record>
-        <record id="action_invoice_tree5_out" model="ir.actions.act_window.view">
-            <field eval="1" name="sequence"/>
-            <field name="view_mode">tree</field>
-            <field name="view_id" ref="view_picking_in_tree"/>
-            <field name="act_window_id" ref="action_picking_tree_out"/>
-        </record>
-        <record id="action_invoice_tree5_view2_out" model="ir.actions.act_window.view">
-            <field eval="2" name="sequence"/>
-            <field name="view_mode">form</field>
-            <field name="view_id" ref="view_picking_in_form"/>
-            <field name="act_window_id" ref="action_picking_tree_out"/>
-        </record>
-        <record id="action_invoice_tree5_viewout_cal" model="ir.actions.act_window.view">
-            <field eval="3" name="sequence"/>
-            <field name="view_mode">calendar</field>
-            <field name="act_window_id" ref="action_picking_tree_out"/>
-        </record>
+
+
 
         <record id="action_out_picking_move" model="ir.actions.act_window">
             <field name="name">Deliver Products</field>
                     <field name="location_src_id"/>
                     <field name="location_id"/>
                     <field name="action"/>
+                    <field name="picking_type_id"/>
                 </tree>
             </field>
         </record>
index b0b152e..1e1961d 100644 (file)
@@ -210,18 +210,12 @@ class stock_return_picking(osv.osv_memory):
             pick_obj.write(cr, uid, [pick.id], {'invoice_state':'none'}, context=context)
         pick_obj.signal_button_confirm(cr, uid, [new_picking])
         pick_obj.force_assign(cr, uid, [new_picking], context)
-        # Update view id in context, lp:702939
-        model_list = {
-                'out': 'stock.picking.out',
-                'in': 'stock.picking.in',
-                'internal': 'stock.picking',
-        }
         return {
             'domain': "[('id', 'in', ["+str(new_picking)+"])]",
             'name': _('Returned Picking'),
             'view_type':'form',
             'view_mode':'tree,form',
-            'res_model': model_list.get(new_type, 'stock.picking'),
+            'res_model': 'stock.picking',
             'type':'ir.actions.act_window',
             'context':context,
         }
index 57c921d..79f2d81 100644 (file)
@@ -11,7 +11,7 @@
             id="act_stock_return_picking"/>
          <act_window name="Return Shipment"
             res_model="stock.return.picking"
-            src_model="stock.picking.in"
+            src_model="stock.picking"
             view_mode="form"
             target="new"
             key2="client_action_multi"
@@ -19,7 +19,7 @@
             id="act_stock_return_picking_in"/>
          <act_window name="Return Shipment"
             res_model="stock.return.picking"
-            src_model="stock.picking.out"
+            src_model="stock.picking"
             view_mode="form"
             target="new"
             key2="client_action_multi"
index 0586843..1f570a8 100644 (file)
         </record>-->
 
 
-        <record id="view_picking_in_search_inherit" model="ir.ui.view">
+        <record id="view_picking_internal_search_inherit" model="ir.ui.view">
             <field name="name">stock.picking.in.search.inherit</field>
-            <field name="model">stock.picking.in</field>
-            <field name="inherit_id" ref="stock.view_picking_in_search"/>
+            <field name="model">stock.picking</field>
+            <field name="inherit_id" ref="stock.view_picking_internal_search"/>
             <field name="arch" type="xml">
                 <xpath expr="//field[@name='partner_id']" position="before">
                     <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/>
@@ -66,7 +66,7 @@
         <record id="view_picking_out_search_inherit" model="ir.ui.view">
             <field name="name">stock.picking.out.search.inherit</field>
             <field name="model">stock.picking</field>
-            <field name="inherit_id" ref="stock.view_picking_out_search"/>
+            <field name="inherit_id" ref="stock.view_picking_internal_search"/>
             <field name="arch" type="xml">
                 <xpath expr="//field[@name='partner_id']" position="before">
                     <filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/>
index a65afb3..dd91a7c 100644 (file)
@@ -23,7 +23,7 @@
 
         <act_window name="Create Invoice"
             res_model="stock.invoice.onshipping"
-            src_model="stock.picking.out"
+            src_model="stock.picking"
             key2="client_action_multi"
             multi="True"
             view_mode="form"
@@ -33,7 +33,7 @@
 
         <act_window name="Create Draft Invoices"
             res_model="stock.invoice.onshipping"
-            src_model="stock.picking.in"
+            src_model="stock.picking"
             key2="client_action_multi"
             multi="True"
             view_mode="form"
index 7ba10ea..2f39c86 100644 (file)
@@ -1,6 +1,10 @@
 <?xml version="1.0"?>
 <openerp>
     <data>
+        <!-- Picking type dropship-->
+        <record id="picking_type_dropship" model="stock.picking.type">
+            <field name="name">dropship</field>
+        </record>
         <!-- Drop Shipping-->
         <record id="route_drop_shipping" model='stock.location.route'>
             <field name="name">Drop Shipping</field>
@@ -15,6 +19,7 @@
             <field name="location_src_id" ref="stock.stock_location_suppliers"/>
             <field name="procure_method">make_to_stock</field>
             <field name="route_id" ref="route_drop_shipping"/>
+            <field name="picking_type_id" ref="picking_type_dropship"/>
         </record>
 
 
@@ -25,6 +30,7 @@
             <field name="location_id" ref="stock.stock_location_output"/>
             <field name="location_src_id" ref="stock.stock_location_suppliers"/>
             <field name="route_id" ref="stock_location.route_warehouse0_crossdock"/>
+            <field name="picking_type_id" ref="stock.picking_type_in"/>
         </record>
     </data>
 </openerp>
index d71f04a..4478493 100644 (file)
@@ -63,7 +63,8 @@ class stock_location_path(osv.osv):
             ("2binvoiced", "To Be Invoiced"),
             ("none", "Not Applicable")], "Invoice Status",
             required=True,),
-        'picking_type': fields.selection([('out','Sending Goods'),('in','Getting Goods'),('internal','Internal')], 'Shipping Type', required=True, select=True, help="Depending on the company, choose whatever you want to receive or send products"),
+#         'picking_type': fields.selection([('out','Sending Goods'),('in','Getting Goods'),('internal','Internal')], 'Shipping Type', required=True, select=True, help="Depending on the company, choose whatever you want to receive or send products"),
+        'picking_type_id': fields.many2one('stock.picking.type', 'Picking Type', help="This is the picking type associated with the different pickings"), 
         'auto': fields.selection(
             [('auto','Automatic Move'), ('manual','Manual Operation'),('transparent','Automatic No Step Added')],
             'Automatic Move',
@@ -78,7 +79,6 @@ class stock_location_path(osv.osv):
         'auto': 'auto',
         'delay': 1,
         'invoice_state': 'none',
-        'picking_type': 'internal',
         'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'procurement.order', context=c)
     }
     def _apply(self, cr, uid, rule, move, context=None):
index a1a9bf3..6d240c7 100644 (file)
@@ -28,6 +28,7 @@
             <field name="location_src_id" ref="stock.stock_location_stock"/>
             <field name="procure_method">make_to_stock</field>
             <field name="route_id" ref="route_warehouse0_mts"/>
+            <field name="picking_type_id" ref="stock.picking_type_internal"/>
         </record>
 
         <record id="procurement_rule_customer1_mts" model="procurement.rule">
@@ -37,6 +38,7 @@
             <field name="location_src_id" ref="stock.stock_location_output"/>
             <field name="procure_method">make_to_order</field>
             <field name="route_id" ref="route_warehouse0_mts"/>
+            <field name="picking_type_id" ref="stock.picking_type_out"/>
         </record>
         
         
@@ -52,6 +54,7 @@
             <field name="location_src_id" ref="stock.stock_location_stock"/>
             <field name="procure_method">make_to_order</field>
             <field name="route_id" ref="route_warehouse0_mto"/>
+            <field name="picking_type_id" ref="stock.picking_type_internal"/>
         </record>
 
         <record id="route_warehouse0_crossdock" model='stock.location.route'>
@@ -66,6 +69,7 @@
             <field name="location_src_id" ref="stock.stock_location_output"/>
             <field name="procure_method">make_to_order</field>
             <field name="route_id" ref="route_warehouse0_crossdock"/>
+            <field name="picking_type_id" ref="stock.picking_type_out"/>
         </record>
         
         <!--TODO: pack zone must be in data of stock_location, not demo -->
@@ -83,6 +87,7 @@
             <field name="location_src_id" ref="stock.stock_location_stock"/>
             <field name="procure_method">make_to_stock</field>
             <field name="route_id" ref="route_warehouse0_pack"/>
+            <field name="picking_type_id" ref="stock.picking_type_internal"/>
         </record>
 
         <record id="procurement_rule_customer1_pack" model="procurement.rule">
@@ -92,6 +97,7 @@
             <field name="location_src_id" ref="stock.stock_location_output"/>
             <field name="procure_method">make_to_order</field>
             <field name="route_id" ref="route_warehouse0_pack"/>
+            <field name="picking_type_id" ref="stock.picking_type_out"/>
         </record>
         
         <record id="procurement_rule_customer2_pack" model="procurement.rule">
             <field name="location_src_id" ref="location_pack_zone"/>
             <field name="procure_method">make_to_order</field>
             <field name="route_id" ref="route_warehouse0_pack"/>
+            <field name="picking_type_id" ref="stock.picking_type_internal"/>
         </record>
-        
-        
 
 
         <record id="procurement_rule_customer0_mto_pack" model="procurement.rule">
             <field name="location_src_id" ref="stock.stock_location_stock"/>
             <field name="procure_method">make_to_order</field>
             <field name="route_id" ref="route_warehouse0_mto"/>
+            <field name="picking_type_id" ref="stock.picking_type_internal"/>
         </record>
     </data>
 </openerp>
index abfa79a..57269ad 100644 (file)
@@ -12,7 +12,6 @@
                 <field eval="0" name="scrap_location"/>
                 <field name="company_id" ref="base.main_company"/>
                 <field name="usage">internal</field>
-                <field name="chained_location_type">none</field>
                 <field name="name">Quality Control</field>
         </record>
         <record id="stock_location_path_4" model="stock.location.path">
@@ -24,7 +23,7 @@
             <field name="name">Receptions to Quality Control</field>
             <field name="location_dest_id" ref="stock_location_qualitytest0"/>
             <field name="location_from_id" ref="stock.stock_location_stock"/>
-            <field name="picking_type">in</field>
+            <field name="picking_type_id" ref="stock.picking_type_internal"/>
         </record>
         <record id="stock_location_path_5" model="stock.location.path">
             <field name="location_from_id" ref="stock_location_qualitytest0"/>
@@ -34,7 +33,7 @@
             <field name="name">Store in Shelf</field>
             <field eval="5" name="delay"/>
             <field name="location_dest_id" ref="stock.stock_location_14"/>
-            <field name="picking_type">internal</field>
+            <field name="picking_type_id" ref="stock.picking_type_internal"/>
         </record>
 
         <record id="product_pulled_flow_l0" model="procurement.rule">
@@ -47,7 +46,7 @@
             <field name="type_proc">move</field>
             <field eval="0" name="cancel_cascade"/>
             <field name="procure_method">make_to_order</field>
-            <field name="picking_type">in</field>
+            <field name="picking_type_id" ref="stock.picking_type_in"/>
             <field name="name">Receive from Warehouse</field>
             <field name="action">move</field>
         </record>
@@ -61,7 +60,7 @@
             <field name="company_id" ref="base.main_company"/>
             <field eval="0" name="cancel_cascade"/>
             <field name="procure_method">make_to_stock</field>
-            <field name="picking_type">out</field>
+            <field name="picking_type_id" ref="stock.picking_type_out"/>
             <field name="name">Deliver Shop</field>
             <field name="action">move</field>
         </record>
index aa8a562..38d3cfe 100644 (file)
@@ -36,4 +36,4 @@
     product_id: product.product_product_10
     location_from_id: stock.stock_location_output
     location_dest_id: location_pack_zone
-    picking_type: internal
+    picking_type_id: stock.picking_type_internal
index c8346aa..6409a6a 100644 (file)
@@ -75,8 +75,8 @@
   !python {model: stock.picking }: |
     self.draft_force_assign(cr, uid, [ref("stock_picking_in0")], {"lang": "en_US",
       "search_default_available": 1, "tz": False, "active_model": "ir.ui.menu",
-      "contact_display": "partner_address", "active_ids": [ref("stock.menu_action_picking_tree4")],
-      "active_id": ref("stock.menu_action_picking_tree4"), })
+      "contact_display": "partner_address", "active_ids": [ref("stock.menu_action_picking_tree")],
+      "active_id": ref("stock.menu_action_picking_tree"), })
 -
   I check that the outgoing order of the supplier  is create with two move line.
   Stock/Input To Quality test and Quality test  To Stock.