[MERGE] latest trunk
authorAntonin Bourguignon <abo@openerp.com>
Wed, 18 Jul 2012 10:37:36 +0000 (12:37 +0200)
committerAntonin Bourguignon <abo@openerp.com>
Wed, 18 Jul 2012 10:37:36 +0000 (12:37 +0200)
bzr revid: abo@openerp.com-20120718103736-8alnc11l9uqaskpl

1  2 
addons/purchase/stock_view.xml
addons/stock/stock_view.xml

@@@ -7,11 -7,11 +7,11 @@@
              <field name="type">form</field>
              <field name="inherit_id" ref="stock.view_move_form"/>
              <field name="arch" type="xml">
-                  <xpath expr="//field[@name='tracking_id']" position="before">
-                     <field name="purchase_line_id" colspan="2" />
+                  <xpath expr="//group[@name='destination_grp']" position="inside">
+                     <field name="purchase_line_id"/>
                  </xpath>
              </field>
 -        </record>      
 +        </record>
          <record id="stock_picking_inherit_purchase" model="ir.ui.view">
              <field name="name">Picking list</field>
              <field name="model">stock.picking</field>
              <field name="type">form</field>
              <field name="inherit_id" ref="stock.view_picking_form"/>
              <field name="arch" type="xml">
-                  <xpath expr="/form/sheet/group/group/field[@name='date']" position="before">
+                 <xpath expr="//field[@name='date']" position="before">
                      <field name="purchase_id"/>
                  </xpath>
+                 <xpath expr="//field[@name='company_id']" position="after">
+                     <field name="warehouse_id"/>
+                 </xpath>
              </field>
          </record>
 -        
 +
          <!-- Picking to Invoice -->
          <record id="view_picking_in_search_picking_to_invoice" model="ir.ui.view">
              <field name="name">stock.picking.in.search</field>
@@@ -25,7 -20,7 +25,7 @@@
              parent="stock.menu_stock_configuration" sequence="45" groups="base.group_no_one"/>
          <menuitem
              action="product.product_category_action_form" id="menu_product_category_config_stock"
--            parent="stock.menu_product_in_config_stock" sequence="0" />
++            parent="stock.menu_product_in_config_stock" sequence="0"/>
          <menuitem
              action="product.product_ul_form_action" groups="product.group_stock_packaging"
              id="menu_product_packaging_stock_action" parent="stock.menu_product_in_config_stock" sequence="1"/>
                  <header>
                      <button name="action_confirm" states="draft" string="Confirm Inventory" type="object" class="oe_highlight"/>
                      <button name="action_done" states="confirm" string="Validate Inventory" type="object" class="oe_highlight"/>
--                    <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" />
--                    <button name="action_cancel_inventory" states="draft,confirm,done" string="Cancel Inventory" type="object" />
++                    <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
++                    <button name="action_cancel_inventory" states="draft,confirm,done" string="Cancel Inventory" type="object"/>
                      <field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
                  </header>
                  <sheet>
-                     <div class="oe_title">
-                         <div class="oe_edit_only">
-                             <label for="name"  />
-                         </div>
 -                    <div>
+                         <label for="name" class="oe_edit_only"/>
                          <h1>
-                             <field name="name" placeholder="Annual inventory"/>
+                             <field name="name" placeholder="e.g. Annual inventory" class="oe_inline"/> -
+                             <field name="date" class="oe_inline"/>
                          </h1>
                      </div>
-                 <group>
                      <group>
-                         <field name="date"/>
                          <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                      </group>
-                 </group>
                      <notebook>
                      <page string="General Informations">
                          <field name="inventory_line_id">
              <field name="res_model">stock.inventory</field>
              <field name="view_type">form</field>
              <field name="view_id" ref="view_inventory_tree"/>
--            <field name="search_view_id" ref="view_inventory_filter" />
++            <field name="search_view_id" ref="view_inventory_filter"/>
              <field name="help">Periodical Inventories are used to count the number of products available per location. You can use it once a year when you do the general inventory or whenever you need it, to correct the current stock level of a product.</field>
          </record>
          <menuitem action="action_inventory_form" id="menu_action_inventory_form" parent="menu_stock_inventory_control" sequence="30"/>
              <field name="field_parent">child_ids</field>
              <field name="arch" type="xml">
                  <tree colors="grey:not active" string="Packs">
--                    <field name="name" />
--                    <field name="serial" />
--                    <field name="date" />
++                    <field name="name"/>
++                    <field name="serial"/>
++                    <field name="date"/>
                  </tree>
              </field>
          </record>
                      <group>
                          <field name="name" string="Pack" filter_domain="['|',('name','ilike',self),('serial','ilike',self)]"/>
                          <separator orientation="vertical"/>
--                        <field name="date" />
++                        <field name="date"/>
                          <separator orientation="vertical"/>
                          <field name="active"/>
                      </group>
              <field name="type">tree</field>
              <field name="arch" type="xml">
                  <tree string="Serial Number">
--                    <field name="prefix" />
++                    <field name="prefix"/>
                      <field name="name"/>
                      <field name="ref"/>
                      <field name="product_id"/>
                          <separator orientation="vertical"/>
                          <field name="date"/>
                          <separator orientation="vertical"/>
--                        <filter icon="terp-check" name="available" string="Available" domain="[('stock_available', '&gt;', 0)]" help="Available Product Lots" />
++                        <filter icon="terp-check" name="available" string="Available" domain="[('stock_available', '&gt;', 0)]" help="Available Product Lots"/>
                          <separator orientation="vertical"/>
                          <field name="product_id"/>
                      </group>
              <field name="res_model">stock.production.lot</field>
              <field name="view_type">form</field>
              <field name="view_id" ref="view_production_lot_tree"/>
--            <field name="search_view_id" ref="search_product_lot_filter" />
++            <field name="search_view_id" ref="search_product_lot_filter"/>
              <field name="context">{}</field>
              <field name="help">This is the list of all the production lots (serial numbers) you recorded. When you select a lot, you can get the upstream or downstream traceability of the products contained in lot. By default, the list is filtred on the serial numbers that are available in your warehouse but you can uncheck the 'Available' button to get all the lots you produced, received or delivered to customers.</field>
          </record>
              <field name="field_parent">move_history_ids</field>
              <field name="arch" type="xml">
                  <tree colors="grey:state == 'cancel'" string="Moves">
--                    <field name="product_id" />
--                    <field name="product_qty" />
++                    <field name="product_id"/>
++                    <field name="product_qty"/>
                      <field name="product_uom"  string="Unit of Measure" groups="product.group_uom"/>
                      <field name="prodlot_id"  groups="stock.group_production_lot"/>
                      <field name="tracking_id" groups="stock.group_tracking_lot"/>
              <field name="field_parent">move_history_ids2</field>
              <field name="arch" type="xml">
                  <tree colors="grey:state == 'cancel'" string="Moves">
--                    <field name="product_id" />
--                    <field name="product_qty" />
++                    <field name="product_id"/>
++                    <field name="product_qty"/>
                      <field name="product_uom"  string="Unit of Measure" groups="product.group_uom"/>
                      <field name="prodlot_id"  groups="stock.group_production_lot"/>
                      <field name="tracking_id" groups="stock.group_tracking_lot"/>
                      <field name="name" string="Stock Locations"/>
                      <separator orientation="vertical"/>
                      <filter icon="terp-go-home" name="in_location"
--                        string="Internal" domain="[('usage', '=', 'internal')]" help="Internal Locations" />
++                        string="Internal" domain="[('usage', '=', 'internal')]" help="Internal Locations"/>
                      <filter icon="terp-personal" name="customer"
--                        string="Customer" domain="[('usage', '=', 'customer')]" help="Customer Locations" />
++                        string="Customer" domain="[('usage', '=', 'customer')]" help="Customer Locations"/>
                      <filter icon="terp-personal" name="supplier"
--                        string="Supplier" domain="[('usage', '=', 'supplier')]" help="Supplier Locations" />
++                        string="Supplier" domain="[('usage', '=', 'supplier')]" help="Supplier Locations"/>
                      <separator orientation="vertical"/>
                      <field name="location_id" string="Parent Location"/>
                  </search>
                      <button name="force_assign" states="confirmed" string="Force Availability" type="object" class="oe_highlight"/>
                      <button name="action_process" states="assigned" string="Confirm &amp; Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/>
                      <button name="%(action_stock_invoice_onshipping)d" string="Create Invoice"  attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}"  type="action" class="oe_highlight"/>
--                    <button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action" />
++                    <button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action"/>
                      <button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel"/>
                      <field name="state" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
                  </header>
                                          string="Split in Serial Number"
                                          groups="stock.group_production_lot"
                                          type="action" icon="terp-stock_effects-object-colorize"
--                                        states="draft,waiting,confirmed,assigned" />
++                                        states="draft,waiting,confirmed,assigned"/>
                                      <field groups="stock.group_tracking_lot" name="tracking_id"/>
                                      <button name="setlast_tracking" string="Put in current pack" type="object"
                                          attrs="{'invisible': [('tracking_id','&lt;&gt;',False)]}"
                                          <button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
                                          <button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
                                          <button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/>
--                                        <field name="state" widget="statusbar" statusbar_visible="draft,assigned,done" />
++                                        <field name="state" widget="statusbar" statusbar_visible="draft,assigned,done"/>
                                      </header>
                                      <group>
-                                         <group string="Move Information">
+                                         <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)"/>
                                              <label for="product_qty"/>
                          <field name="name" string="Internal Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/>
                          <separator orientation="vertical"/>
                          <filter icon="terp-check" string="Ready" domain="[('state','=','assigned')]" help="Assigned Internal Moves"/>
--                        <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Internal Moves" />
++                        <filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Internal Moves"/>
                          <filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed"/>
                          <separator orientation="vertical"/>
                          <field name="partner_id"/>
                          <filter string="Expected Date" icon="terp-go-month" domain="[]"  context="{'group_by':'min_date'}"/>
                          <separator orientation="vertical"/>
                          <filter string="Origin" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
--                        <separator orientation="vertical" />
++                        <separator orientation="vertical"/>
                          <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
                      </group>
                  </search>
                  <data>
                      <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" />
++                        <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"/>
                     </group>
                      <newline/>
                      <group expand="0" string="Group By...">
--                        <separator orientation="vertical" />
++                        <separator orientation="vertical"/>
                          <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
--                        <separator orientation="vertical" />
++                        <separator orientation="vertical"/>
                          <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'}"/>
--                        <separator orientation="vertical" />
--                        <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}" />
++                        <separator orientation="vertical"/>
++                        <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
                      </group>
                  </search>
              </field>
              <field name="arch" type="xml">
                  <data>
                      <xpath expr="//button[@name='%(act_stock_return_picking)d']" position="replace">
--                        <button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action" />
++                        <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"/>
                      <group>
                          <field name="name" string="Incoming Shipments" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
                          <separator orientation="vertical"/>
--                        <filter icon="terp-check" name="available" string="Ready to Process" domain="[('state','=','assigned')]" help="Incoming Shipments Available" />
++                        <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"/>
                          <filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
--                        <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]" />
++                        <filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/>
                          <separator orientation="vertical"/>
                          <field name="stock_journal_id" widget="selection"/>
                          <field name="product_id"/>
                      </group>
                      <newline/>
                      <group expand="0" string="Group By...">
--                        <separator orientation="vertical" />
++                        <separator orientation="vertical"/>
                          <filter icon="terp-stock_effects-object-colorize" name="state" string="Status" domain="[]" context="{'group_by':'state'}"/>
--                        <separator orientation="vertical" />
++                        <separator orientation="vertical"/>
                          <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'}"/>
--                        <separator orientation="vertical" />
--                        <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}" />
++                        <separator orientation="vertical"/>
++                        <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
                      </group>
                  </search>
              </field>
                          string="Scrap Products" type="action"
                          icon="gtk-convert" context="{'scrap': True}"
                          states="draft,waiting,confirmed,assigned"
--                       />
++                      />
                      <field name="prodlot_id" groups="stock.group_production_lot"/>
                      <button name="%(track_line)d" string="Split in Serial Numbers" type="action"
                          icon="terp-stock_effects-object-colorize" attrs="{'invisible': [('prodlot_id','&lt;&gt;',False)]}"
                                          icon="gtk-convert" context="{'scrap': True}"
                                          states="draft,waiting,confirmed,assigned" colspan="1"/>
                              </div>
-                             <label for="product_uso_qty" />
-                             <div>
+                             <label for="product_uos_qty" groups="product.group_uos"/>
+                             <div groups="product.group_uos">
 -                                <field name="product_uos_qty" 
 -                                    on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)" 
 +                                <field name="product_uos_qty"
-                                     groups="product.group_uos"
 +                                    on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)"
                                      class="oe_inline"/>
-                                 <field name="product_uos" groups="product.group_uos" colspan="4" class="oe_inline"/>
+                                 <field name="product_uos" class="oe_inline"/>
                              </div>
                              <field name="name" string="Reason"/>
+                             <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                          </group>
-                         <group>
+                         <group name="origin_grp" string="Origin">
                              <field name="picking_id"/>
-                             <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                              <field name="location_id" groups="stock.group_locations"/>
+                             <field name="create_date" groups="base.group_no_one"/>
+                         </group>
+                         <group name="destination_grp" string="Destination">
                              <field name="location_dest_id" groups="stock.group_locations"/>
                              <field name="partner_id" context="{'contact_display':'partner'}"/>
-                             <field name="create_date" groups="base.group_no_one" />
-                             <field name="date" groups="base.group_no_one" />
                              <field name="date_expected" on_change="onchange_date(date,date_expected)"/>
 -                            <field name="date" groups="base.group_no_one" />
++                            <field name="date" groups="base.group_no_one"/>
                          </group>
-                         <group>
+                         <group string="Tracability">
                              <label for="tracking_id"/>
                              <div>
                                  <field name="tracking_id" groups="stock.group_tracking_lot" class="oe_inline"/>
                          <filter string="Source" name="groupby_location_id" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'location_id'}"/>
                          <filter string="Destination" name="groupby_dest_location_id" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'location_dest_id'}"/>
                          <separator orientation="vertical"/>
--                        <filter icon="terp-stock_effects-object-colorize" string="Status" domain="[]" context="{'group_by':'state'}" />
++                        <filter icon="terp-stock_effects-object-colorize" string="Status" domain="[]" context="{'group_by':'state'}"/>
                          <separator orientation="vertical"/>
                          <filter string="Creation" name="groupby_create_date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
                          <filter string="Expected" name="groupby_date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
              <field name="name">stock.move.tree2</field>
              <field name="model">stock.move</field>
              <field name="type">tree</field>
--            <field name="priority" eval="6" />
++            <field name="priority" eval="6"/>
              <field name="arch" type="xml">
                  <tree colors="grey:state == 'cancel'" string="Moves">
                      <field name="picking_id" string="Reference"/>
                      <field name="origin"/>
                      <field name="product_id"/>
--                    <field name="product_qty" />
++                    <field name="product_qty"/>
                      <field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
                      <button name="%(stock.move_scrap)d"
                          string="Scrap Products" type="action"
                  <tree string="Moves">
                      <field name="picking_id" string="Reference"/>
                      <field name="product_id"/>
--                    <field name="product_qty" />
++                    <field name="product_qty"/>
                      <field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
--                    <field name="date" groups="base.group_no_one" />
++                    <field name="date" groups="base.group_no_one"/>
                  </tree>
              </field>
          </record>