[FIX]remove unneeded code to compute qty available in product module, use the one...
authorCedric Snauwaert <csn@openerp.com>
Thu, 16 Jan 2014 13:39:05 +0000 (14:39 +0100)
committerCedric Snauwaert <csn@openerp.com>
Thu, 16 Jan 2014 13:39:05 +0000 (14:39 +0100)
lp bug: https://launchpad.net/bugs/1268989 fixed

bzr revid: csn@openerp.com-20140116133905-en7y1b9tibstcou3

addons/product/product.py
addons/product/product_view.xml
addons/stock/product_view.xml

index 4b63100..20346d0 100644 (file)
@@ -508,16 +508,6 @@ class product_product(osv.osv):
             res.setdefault(id, 0.0)
         return res
 
-    def _get_product_available_func(states, what):
-        def _product_available(self, cr, uid, ids, name, arg, context=None):
-            return {}.fromkeys(ids, 0.0)
-        return _product_available
-
-    _product_qty_available = _get_product_available_func(('done',), ('in', 'out'))
-    _product_virtual_available = _get_product_available_func(('confirmed','waiting','assigned','done'), ('in', 'out'))
-    _product_outgoing_qty = _get_product_available_func(('confirmed','waiting','assigned'), ('out',))
-    _product_incoming_qty = _get_product_available_func(('confirmed','waiting','assigned'), ('in',))
-
     def _product_lst_price(self, cr, uid, ids, name, arg, context=None):
         res = {}
         product_uom_obj = self.pool.get('product.uom')
@@ -622,10 +612,6 @@ class product_product(osv.osv):
     _inherit = ['mail.thread']
     _order = 'default_code,name_template'
     _columns = {
-        'qty_available': fields.function(_product_qty_available, type='float', string='Quantity On Hand'),
-        'virtual_available': fields.function(_product_virtual_available, type='float', string='Quantity Available'),
-        'incoming_qty': fields.function(_product_incoming_qty, type='float', string='Incoming'),
-        'outgoing_qty': fields.function(_product_outgoing_qty, type='float', string='Outgoing'),
         'price': fields.function(_product_price, type='float', string='Price', digits_compute=dp.get_precision('Product Price')),
         'lst_price' : fields.function(_product_lst_price, type='float', string='Public Price', digits_compute=dp.get_precision('Product Price')),
         'code': fields.function(_product_code, type='char', string='Internal Reference'),
index e9aac74..241087c 100644 (file)
             <field name="model">product.product</field>
             <field eval="7" name="priority"/>
             <field name="arch" type="xml">
-                <tree colors="red:virtual_available&lt;0;blue:virtual_available&gt;=0 and state in ('draft', 'end', 'obsolete');black:virtual_available&gt;=0 and state not in ('draft', 'end', 'obsolete')" string="Products">
+                <tree string="Products">
                     <field name="default_code"/>
                     <field name="name"/>
                     <field name="categ_id" invisible="1"/>
                     <field name="type" invisible="1"/>
                     <field name="uom_id" string="Unit of Measure" groups="product.group_uom"/>
-                    <field name="qty_available"/>
-                    <field name="virtual_available"/>
                     <field name="lst_price"/>
                     <field name="price" invisible="not context.get('pricelist',False)"/>
                     <field name="standard_price" invisible="1"/>
index 277ec5b..583a958 100644 (file)
             </field>
         </record>
 
+        <record id="view_stock_product_tree" model="ir.ui.view">
+            <field name="name">product.stock.tree.inherit</field>
+            <field name="model">product.product</field>
+            <field name="inherit_id" ref="product.product_product_tree_view"/>
+            <field name="arch" type="xml">
+
+                <field name="uom_id" position="after">
+                    <field name="qty_available"/>
+                    <field name="virtual_available"/>
+                </field>
+                <tree position="attributes">
+                    <attribute name="colors">{'red':virtual_available&lt;0, 'blue':virtual_available&gt;=0 and state in ('draft', 'end', 'obsolete'), 'black':virtual_available&gt;=0 and state not in ('draft', 'end', 'obsolete')}</attribute>
+                </tree>
+            </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>