Mayur Maheshwari(OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-stock_picking_usability-mma into 
lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-stock_picking_usability-mma/+merge/98155

Hello,

   I have made following changes in stock

1] Improved view of stock.picking model as per specification of pad 
[http://pad.openerp.com/internalv61-project-task-2667-I5N6E7GV]
2] set related string for button and separator in partial wizard on related 
view of stock.picking model


Thanks.
mma

-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-stock_picking_usability-mma/+merge/98155
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-stock_picking_usability-mma.
=== modified file 'purchase/stock_view.xml'
--- purchase/stock_view.xml	2011-12-19 16:54:40 +0000
+++ purchase/stock_view.xml	2012-03-19 06:54:21 +0000
@@ -19,7 +19,7 @@
             <field name="inherit_id" ref="stock.view_picking_form"/>
             <field name="arch" type="xml">
                 <field name="auto_picking" position="after">
-                    <field name="purchase_id"/>
+                    <field name="purchase_id" invisible="1"/>
                 </field>
             </field>
         </record>
@@ -52,9 +52,9 @@
             <field name="type">form</field>
             <field name="inherit_id" ref="stock.view_picking_in_form"/>
             <field name="arch" type="xml">
-                <field name="backorder_id" position="after">
+                 <xpath expr="/form/notebook/page/field[@name='date']"  position="before">
                     <field name="purchase_id"/>
-                </field>
+                </xpath>
             </field>
         </record>
         

=== modified file 'sale/stock_view.xml'
--- sale/stock_view.xml	2011-12-19 16:54:40 +0000
+++ sale/stock_view.xml	2012-03-19 06:54:21 +0000
@@ -8,7 +8,7 @@
             <field name="inherit_id" ref="stock.view_picking_form"/>
             <field name="arch" type="xml">
                 <field name="auto_picking" position="after">
-                    <field name="sale_id"/>
+                    <field name="sale_id" invisible="1"/>
                 </field>
             </field>
         </record>
@@ -57,9 +57,9 @@
             <field name="type">form</field>
             <field name="inherit_id" ref="stock.view_picking_out_form"/>
             <field name="arch" type="xml">
-                <field name="move_type" position="after">
+                <xpath expr="/form/notebook/page/field[@name='date']"  position="after">
                     <field name="sale_id"/>
-                </field>
+                </xpath>
             </field>
         </record>
 

=== modified file 'stock/__openerp__.py'
--- stock/__openerp__.py	2012-02-13 15:27:55 +0000
+++ stock/__openerp__.py	2012-03-19 06:54:21 +0000
@@ -72,8 +72,8 @@
         'wizard/stock_return_picking_view.xml',
         "stock_workflow.xml",
         "stock_incoterms.xml",
+        "stock_report.xml",
         "stock_view.xml",
-        "stock_report.xml",
         "stock_sequence.xml",
         "product_data.xml",
         "product_view.xml",

=== modified file 'stock/stock.py'
--- stock/stock.py	2012-02-28 14:08:16 +0000
+++ stock/stock.py	2012-03-19 06:54:21 +0000
@@ -639,7 +639,7 @@
                  "* Done: has been processed, can't be modified or cancelled anymore\n"\
                  "* Cancelled: has been cancelled, can't be confirmed anymore"),
         'min_date': fields.function(get_min_max_date, fnct_inv=_set_minimum_date, multi="min_max_date",
-                 store=True, type='datetime', string='Expected Date', select=1, help="Expected date for the picking to be processed"),
+                 store=True, type='datetime', string='Scheduled Date', select=1, help="Expected date for the picking to be processed"),
         'date': fields.datetime('Order Date', help="Date of Order", select=True),
         'date_done': fields.datetime('Date Done', help="Date of Completion"),
         'max_date': fields.function(get_min_max_date, fnct_inv=_set_maximum_date, multi="min_max_date",
@@ -738,7 +738,10 @@
         """ Changes state of picking to available if all moves are confirmed.
         @return: True
         """
+        wf_service = netsvc.LocalService("workflow")
         for pick in self.browse(cr, uid, ids):
+            if pick.state == 'draft':
+                wf_service.trg_validate(uid, 'stock.picking', pick.id,'button_confirm', cr)
             move_ids = [x.id for x in pick.move_lines if x.state == 'confirmed']
             if not move_ids:
                 raise osv.except_osv(_('Warning !'),_('Not enough stock, unable to reserve the products.'))

=== modified file 'stock/stock_view.xml'
--- stock/stock_view.xml	2012-02-13 15:27:55 +0000
+++ stock/stock_view.xml	2012-03-19 06:54:21 +0000
@@ -696,14 +696,12 @@
                         <group colspan="4" col="4">
                             <field name="name" readonly="1"/>
                             <field name="origin"/>
-                            <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
+                            <field name="address_id" string="Warehouse" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
                             <field name="invoice_state" string="Invoice Control" groups="base.group_extended"/>
+                        </group>
+                        <group colspan="2" col="2">
                             <field name="backorder_id" readonly="1" groups="base.group_extended"/>
-                        </group>
-                        <group colspan="2" col="2">
-                            <field name="date"/>
                             <field name="min_date" readonly="1"/>
-                            <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
                         </group>
                     </group>
                     <notebook colspan="4">
@@ -737,8 +735,9 @@
                                         groups="base.group_extended"
                                         icon="terp-stock_effects-object-colorize"
                                         states="draft,assigned,confirmed"/>
+                                    <field name="location_id"/>
                                     <field name="location_dest_id"/>
-                                    <field name="date_expected" string="Date Expected"/>
+                                    <field name="date_expected" />
                                     <field name="state"/>
                                 </tree>
                                 <form string="Stock Moves">
@@ -809,10 +808,12 @@
                         </page>
                         <page string="Additional info" groups="base.group_extended,base.group_multi_company">
                             <field name="auto_picking" groups="base.group_extended"/>
-                            <field name="date_done" groups="base.group_extended"/>
+                            <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                             <field name="move_type" groups="base.group_extended"/>
-                            <field name="type" groups="base.group_extended"/>
-                            <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+                            <field name="date"/>
+                            <field name="type" groups="base.group_extended" invisible="1"/>
+                            <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
+                            <field name="date_done" string="Received Date" groups="base.group_extended"/>
                         </page>
                         <page string="Notes">
                             <field colspan="4" name="note" nolabel="1"/>
@@ -889,12 +890,12 @@
                         <group colspan="4" col="4">
                             <field name="name" readonly="1"/>
                             <field name="origin" readonly="1"/>
-                            <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
+                            <field name="address_id" string="Customer" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" colspan="4"/>
                             <field name="invoice_state"/>
+                            
+                        </group>
+                        <group colspan="2" col="2">
                             <field name="backorder_id" readonly="1" groups="base.group_extended"/>
-                        </group>
-                        <group colspan="2" col="2">
-                            <field name="date"/>
                             <field name="min_date" readonly="1"/>
                             <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
                         </group>
@@ -928,7 +929,7 @@
                                         groups="base.group_extended"
                                         states="draft,assigned,confirmed"/>
                                     <field name="location_id"/>
-                                    <field name="date"/>
+                                    <field name="date_expected"/>
                                     <field name="state"/>
                                     <button name="%(action_partial_move_server)d" string="Process" type="action" states="confirmed,assigned" icon="gtk-go-forward"/>
                                 </tree>
@@ -989,22 +990,23 @@
                             </field>
                             <group col="12" colspan="4">
                                 <field name="state" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
-                                <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
-                                <button name="draft_force_assign" states="draft" string="Process Later" type="object" icon="gtk-ok"/>
                                 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-yes"/>
-                                <button name="action_assign" states="confirmed" string="Check Availability" type="object" groups="base.group_extended" icon="gtk-find"/>
+                                <button name="action_assign" states="draft" string="Check Availability" type="object" groups="base.group_extended" icon="gtk-find"/>
                                 <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
                                 <button name="action_process" states="assigned" string="Process" type="object" icon="gtk-go-forward"/>
+                                <button name="%(report_picking_list)d" string="Print Delivery Order" states="done" type="action" icon="gtk-print"/>
                                 <button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action" icon="gtk-execute"/>
                                 <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}"  type="action" icon="terp-gtk-go-back-rtl"/>
+                                <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
                             </group>
                         </page>
                         <page string="Additional info" groups="base.group_extended,base.group_multi_company">
                             <field name="auto_picking" groups="base.group_extended"/>
-                            <field name="date_done" groups="base.group_extended"/>
+                            <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                             <field name="move_type" groups="base.group_extended"/>
-                            <field name="type" groups="base.group_extended"/>
-                            <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+                            <field name="date"/>
+                            <field name="date_done" string="Delivery Date" groups="base.group_extended"/>
+                            <field name="type" groups="base.group_extended" invisible="1"/>
                         </page>
                         <page string="Notes">
                             <field colspan="4" name="note" nolabel="1"/>
@@ -1110,12 +1112,12 @@
                         <group colspan="4" col="4">
                             <field name="name" readonly="1"/>
                             <field name="origin"/>
-                            <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" domain="[('partner_id','&lt;&gt;',False)]" colspan="4"/>
+                            <field name="address_id" string="Supplier" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" domain="[('partner_id','&lt;&gt;',False)]" colspan="4"/>
                             <field name="invoice_state" string="Invoice Control"/>
+                            
+                        </group>
+                        <group colspan="2" col="2">
                             <field name="backorder_id" readonly="1" groups="base.group_extended"/>
-                        </group>
-                        <group colspan="2" col="2">
-                            <field name="date"/>
                             <field name="min_date" readonly="1"/>
                             <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
                         </group>
@@ -1208,19 +1210,20 @@
                                 </form>
                             </field>
                             <group col="10" colspan="4">
-                                <field name="state" readonly="1" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
-                                <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
-                                <button name="draft_force_assign" states="draft" string="Process Later" type="object" icon="gtk-ok"/>
+                                <field name="state" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
                                 <button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
-                                <button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
+                                <button name="action_assign" states="draft, confirmed" string="Check Availability" type="object" icon="gtk-find"/>
                                 <button name="force_assign" states="confirmed" string="Force Availability" type="object" groups="base.group_extended" icon="gtk-jump-to"/>
                                 <button name="action_process" states="assigned" string="Process" type="object" icon="gtk-go-forward"/>
+                                <button name="%(report_picking_list)d" string="Print Reception" type="action" icon="gtk-print" states="done"/>
                                 <button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action" icon="gtk-execute"/>
                                 <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" icon="terp-gtk-go-back-rtl" />
+                                <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel" icon="gtk-cancel"/>
                             </group>
                         </page>
                         <page string="Additional Info" groups="base.group_extended,base.group_multi_company">
-                            <field name="type" groups="base.group_extended"/>
+                            <field name="type" groups="base.group_extended" invisible="1"/>
+                            <field name="date"/>
                             <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                         </page>
                         <page string="Notes">

=== modified file 'stock/wizard/stock_partial_picking.py'
--- stock/wizard/stock_partial_picking.py	2012-01-31 13:36:57 +0000
+++ stock/wizard/stock_partial_picking.py	2012-03-19 06:54:21 +0000
@@ -23,6 +23,7 @@
 from osv import fields, osv
 from tools.misc import DEFAULT_SERVER_DATETIME_FORMAT
 import decimal_precision as dp
+from lxml import etree
 from tools.translate import _
 
 class stock_partial_picking_line(osv.TransientModel):
@@ -71,6 +72,34 @@
         'picking_id': fields.many2one('stock.picking', 'Picking', required=True, ondelete='CASCADE'),
         'hide_tracking': fields.function(_hide_tracking, string='Tracking', type='boolean', help='This field is for internal purpose. It is used to decide if the column prodlot has to be shown on the move_ids field or not'),
      }
+    
+    def fields_view_get(self, cr, uid, view_id=None, view_type='form', 
+                        context=None, toolbar=False, submenu=False):
+        if context is None:
+            context={}
+        res = super(stock_partial_picking, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
+        type = context.get('default_type', False)
+        doc = etree.XML(res['arch'])
+        nodes = doc.xpath("//group/button[@string='_Validate']")
+        separator_extended = ''
+        for field in res['fields']:
+            if type == 'in':
+                for node in nodes:
+                    separator_extended = '''<separator colspan="4" string="Receive Products"/>'''
+                    node.set('string', '_Receive')
+            if type == 'internal':
+                for node in nodes:
+                    separator_extended = '''<separator colspan="4" string="Move Products"/>'''
+                    node.set('string', '_Move')
+            if type == 'out':
+                for node in nodes:
+                    separator_extended = '''<separator colspan="4" string="Deliver Products"/>'''
+                    node.set('string', '_Deliver')
+
+        res['arch'] = etree.tostring(doc)
+        if separator_extended:
+            res['arch'] = res['arch'].replace('<separator colspan="4" string="Products"/>', separator_extended)
+        return res
 
     def default_get(self, cr, uid, fields, context=None):
         if context is None: context = {}

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to