[FIX] stock: improve speed of product's stock quantity/value calculation
[odoo/odoo.git] / addons / stock / product_view.xml
index d027465..24da97c 100644 (file)
@@ -2,19 +2,19 @@
 <openerp>
     <data>
 
-           <record id="product_search_form_view_stock" model="ir.ui.view">
+        <record id="product_search_form_view_stock" model="ir.ui.view">
             <field name="name">product.search.stock.form</field>
             <field name="model">product.product</field>
             <field name="type">search</field>
             <field name="inherit_id" ref="product.product_search_form_view"/>
             <field name="arch" type="xml">
-                       <field name="pricelist_id" select="1" widget="selection" position="before">
-                               <field name="location_id" select="1" widget="selection" context="{'location': self}" />
-                               <separator orientation="vertical"/>
-                       </field>
+                   <field name="pricelist_id" position="before">
+                       <field name="location_id" context="{'location': self}"/>
+                       <separator orientation="vertical"/>
+                   </field>
             </field>
         </record>
-        
+
         <record id="view_category_property_form" model="ir.ui.view">
             <field name="name">product.category.stock.property.form.inherit</field>
             <field name="model">product.category</field>
                         <separator string="Accounting Stock Properties" colspan="2"/>
                         <field name="property_stock_account_input_categ" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
                         <field name="property_stock_account_output_categ" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
+                        <field name="property_stock_variation"/>
                         <field name="property_stock_journal"/>
                     </group>
                 </form>
             </field>
         </record>
 
-
-
         <record id="view_template_property_form" model="ir.ui.view">
             <field name="name">product.template.stock.property.form.inherit</field>
             <field name="model">product.template</field>
@@ -43,9 +42,9 @@
                  <page position="after" string="Information">
                     <page string="Properties">
                         <separator string="Counter-Part Locations Properties" colspan="4"/>
-                        <field name="property_stock_procurement"  widget="selection"/>
-                        <field name="property_stock_production"  widget="selection"/>
-                        <field name="property_stock_inventory"  widget="selection"/>
+                        <field name="property_stock_procurement" domain="[('usage','=','procurement')]"/>
+                        <field name="property_stock_production" domain="[('usage','=','production')]"/>
+                        <field name="property_stock_inventory" domain="[('usage','=','inventory')]"/>
                         <separator string="Accounting Entries" colspan="4"/>
                         <field name="property_stock_account_input" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
                         <field name="property_stock_account_output" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
             </field>
         </record>
 
-               <record id="view_product_standard_price_form" model="ir.ui.view">
+        <record id="view_product_standard_price_form" model="ir.ui.view">
             <field name="name">product.product.standard.price.form.inherit</field>
             <field name="model">product.product</field>
             <field name="type">form</field>
             <field name="inherit_id" ref="product.product_normal_form_view"/>
             <field name="arch" type="xml">
-                               <field name="standard_price" position="replace">
-                                       <group col="4" colspan="2">
-                                               <field name="standard_price" readonly="True"/>
-                                               <button name="%(action_view_change_standard_price)d" string="Change Price" type="action" icon="gtk-execute"/>
-                               </group>
-                       </field>
-               </field>
-           </record>
+                <field name="standard_price" position="replace">
+                    <label string="Cost Price:" align="1.0"/>
+                    <group col="2" colspan="1">
+                        <field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}" nolabel="1"/>
+                        <button name="%(action_view_change_standard_price)d" string="Update"
+                            type="action" icon="gtk-execute" attrs="{'invisible':[('cost_method','&lt;&gt;','average')]}"/>
+                    </group>
+                </field>
+            </field>
+        </record>
 
         <record id="view_normal_property_acc_form" model="ir.ui.view">
             <field name="name">product.normal.stock.acc.property.form.inherit</field>
             <field name="inherit_id" ref="product.product_normal_form_view"/>
             <field name="priority">26</field>
             <field name="arch" type="xml">
-                <field name="property_account_expense" position="after">
-                    <field name="property_stock_account_output" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
-                    <field name="property_stock_account_input" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
-                </field>
+                <xpath expr="/form/notebook/page/group[@name='properties']" position="before">
+                    <group groups="base.group_extended">
+                        <separator string="Inventory Valuation" colspan="4"/>
+                        <group colspan="2" col="2">
+                            <field name="valuation"/>
+                        </group>
+                        <group colspan="2" col="2">
+                            <field name="property_stock_account_input" attrs="{'readonly':[('valuation', '!=', 'real_time')]}"
+                                domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]" groups="base.group_extended"/>
+                            <field name="property_stock_account_output" attrs="{'readonly':[('valuation', '!=', 'real_time')]}"
+                                domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]" groups="base.group_extended"/>
+                        </group>
+                    </group>
+                    <newline/>
+                </xpath>
             </field>
         </record>
 
             <field name="inherit_id" ref="product.product_normal_form_view"/>
             <field name="arch" type="xml">
                 <group name="status" position="after">
-                    <group colspan="2" col="2">
+                    <group colspan="2" col="3">
                         <separator string="Stocks" colspan="4"/>
                         <field name="qty_available"/>
+                        <button name="%(action_view_change_product_quantity)d" string="Update" attrs="{'invisible': [('type', '=', 'service')]}"
+                            type="action" icon="gtk-execute" groups = "stock.group_stock_manager,stock.group_stock_user"/>
+                        <newline/>
                         <field name="virtual_available"/>
                     </group>
                     <group colspan="2" col="2" name="lot" groups="base.group_extended">
             <field name="inherit_id" ref="product.product_normal_form_view"/>
             <field name="arch" type="xml">
                 <group name="store" position="after">
-                    <group col="2" colspan="2" name="store">
+                    <group col="2" colspan="2" name="store" groups="base.group_extended">
                         <separator string="Counter-Part Locations Properties" colspan="2"/>
-                        <field name="property_stock_procurement" widget="selection" domain="[('usage','=','procurement')]"/>
-                        <field name="property_stock_production" widget="selection"/>
-                        <field name="property_stock_inventory" widget="selection"/>
+                        <field name="property_stock_procurement" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','procurement')]"/>
+                        <field name="property_stock_production" attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','production')]"/>
+                        <field name="property_stock_inventory"  attrs="{'readonly':[('type','=','service')]}" domain="[('usage','=','inventory')]"/>
                     </group>
                 </group>
             </field>
         </record>
 
+<!--        <record id="view_product_valuation_form" model="ir.ui.view">
+            <field name="name">product.valuation.stock.form.inherit</field>
+            <field name="model">product.product</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="product.product_normal_form_view"/>
+            <field name="arch" type="xml">
+                <field name="cost_method" position="after">
+                    <field name="valuation"/>
+                </field>
+            </field>
+        </record>-->
 
     </data>
 </openerp>