[IMP] stock.picking: improve picking form view to have unified layout
authorOlivier Dony <odo@openerp.com>
Tue, 7 Sep 2010 13:20:08 +0000 (15:20 +0200)
committerOlivier Dony <odo@openerp.com>
Tue, 7 Sep 2010 13:20:08 +0000 (15:20 +0200)
bzr revid: odo@openerp.com-20100907132008-j3mmsn9ifp08z7ti

addons/stock/stock.py
addons/stock/stock_view.xml

index b17fadb..5ecbd5f 100644 (file)
@@ -658,7 +658,7 @@ class stock_picking(osv.osv):
         'invoice_state': fields.selection([
             ("invoiced", "Invoiced"),
             ("2binvoiced", "To Be Invoiced"),
-            ("none", "Not from Picking")], "Invoice Status",
+            ("none", "Not from Picking")], "Invoice Control",
             select=True, required=True, readonly=True, states={'draft': [('readonly', False)]}),
         'company_id': fields.many2one('res.company', 'Company', required=True, select=True),
     }
index 7c7dffb..609fecf 100644 (file)
             <field name="model">stock.picking</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
-                <form string="Picking list">
+                <form string="Internal Picking list">
                     <group colspan="4" col="6">
-                        <field name="name" readonly="1"/>
-                        <field name="origin"/>
-                        <field name="backorder_id" groups="base.group_extended" readonly="1"/>
-                        <field name="date"/>
-                        <field name="min_date"/>
-                        <field name="type"/>
-                        <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
-                        <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+                        <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'}" required="1" colspan="4"/>
+                            <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">
-                        <page string="General Information">
+                        <page string="Products">
                             <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines}">
                                 <tree colors="grey:scrapped == True" string="Stock Moves">
                                     <field name="name" string="Move Name"/>
                                 <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="invoice_state" groups="base.group_extended"/>
+                            <field name="date_done" groups="base.group_extended"/>
+                            <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"/>
+                        </page>
                         <page string="Notes">
                             <field colspan="4" name="note" nolabel="1"/>
                         </page>
-                        <page string="Other info" groups="base.group_extended">
-                            <field name="auto_picking"/>
-                            <field name="invoice_state"/>
-                            <field name="date_done"/>
-                            <newline/>
-                            <field name="move_type"/>
-                        </page>
                     </notebook>
                 </form>
             </field>
             <field name="model">stock.picking</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
-                <form string="Picking list">
+                <form string="Delivery Picking list">
                     <group col="6" colspan="4" attrs="{'readonly': [('state','not in',['draft','auto'])]}">
-                        <field name="name" readonly="1"/>
-                        <field name="address_id" required="1"/>
-                        <field name="origin"/>
-                        <field name="backorder_id" groups="base.group_extended" readonly="1"/>
-                        <field name="date" />
-                        <field name="min_date"/>
-                        <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
-                        <field name="company_id" groups="base.group_multi_company" widget="selection"/>
-                        <field name="type" invisible="1"/>
-                        <field name="invoice_state" invisible="1"/>
+                        <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'}" required="1" colspan="4"/>
+                            <field name="invoice_state"/>
+                            <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">
-                        <page string="General Information">
+                    <notebook colspan="4">
+                        <page string="Products">
                             <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines, 'address_out_id': address_id}" >
                                 <tree colors="grey:scrapped == True" string="Stock Moves">
                                     <field name="name" string="Move Name"/>
                                 <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="invoice_state" groups="base.group_extended"/>
+                            <field name="date_done" groups="base.group_extended"/>
+                            <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"/>
+                        </page>
                         <page string="Notes">
                             <field colspan="4" name="note" nolabel="1"/>
                         </page>
-                        <page string="Other info" groups="base.group_extended">
-                            <field name="auto_picking"/>
-                            <newline/>
-                            <field name="date_done"/>
-                            <field name="move_type"/>
-                        </page>
                     </notebook>
                 </form>
             </field>
             <field name="model">stock.picking</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
-                <form string="Picking list">
+                <form string="Outgoing Picking list">
                     <group col="6" colspan="4">
-                        <field name="address_id" required="1" />
-                        <field name="min_date"/>
-                        <field name="name" readonly="1"/>
-                        <field name="invoice_state"/>
-                        <field name="backorder_id" readonly="1"/>
-                        <field name="origin" readonly="1"/>
-                        <field name="type" invisible="1"/>
-                        <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
-                        <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+                        <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'}" required="1" colspan="4"/>
+                            <field name="invoice_state"/>
+                            <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">
-                        <page string="General Information">
+                        <page string="Products">
                             <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines, 'address_out_id': address_id}" >
                                 <tree colors="grey:scrapped==True" string="Stock Moves">
                                     <field name="product_id"/>
                                 <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="move_type" groups="base.group_extended"/>
+                            <field name="type" groups="base.group_extended"/>
+                            <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+                        </page>
                         <page string="Notes">
                             <field colspan="4" name="note" nolabel="1"/>
                         </page>
-                        <page string="Other info" groups="base.group_extended">
-                            <field name="auto_picking"/>
-                            <newline/>
-                            <field name="date_done"/>
-                            <field name="move_type"/>
-                        </page>
                     </notebook>
                 </form>
             </field>
             <field name="arch" type="xml">
                 <form string="Input Picking List">
                     <group colspan="4" col="6">
-                        <field name="name" readonly="1"/>
-                        <field name="address_id" on_change="onchange_partner_in(address_id)" context="{'contact_display':'partner'}" required="1" />
-                        <field name="origin"/>
-                        <field name="backorder_id" readonly="1" groups="base.group_extended"/>
-                        <field name="date"/>
-                        <field name="type"/>
-                        <field name="min_date" readonly="1"/>
-                        <field name="invoice_state" string="Invoice Control"/>
-                        <field name="stock_journal_id" groups="base.group_extended" widget="selection"/>
-                        <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+                        <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'}" required="1" colspan="4"/>
+                            <field name="invoice_state" string="Invoice Control"/>
+                            <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">
                         <page string="General Information">
                                 <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="company_id" groups="base.group_multi_company" widget="selection"/>
+                        </page>
                         <page string="Notes">
                             <field colspan="4" name="note" nolabel="1"/>
                         </page>