[REF] inherit product_id_onchange and correct some bugs, change attrs for event in sale order line

bzr revid: mva@openerp.com-20120209083958-f1muqpp30e3drfp4
This commit is contained in:
MVA
2012-02-09 09:39:58 +01:00
parent 07876dfcf4
commit f8991e035f
2 changed files with 21 additions and 12 deletions
+18 -9
View File
@@ -34,15 +34,25 @@ class sale_order_line(osv.osv):
_columns={
'event':fields.many2one('event.event','Event'),
'event_type':fields.char('event_type',128),
'event_ok':fields.boolean('event_ok'),
}
def onchange_product(self,cr,uid,ids,product):
product = self.pool.get('product.product').browse(cr, uid, product)
if product.event_type:
res={'value' : {
'event_type':product.event_type.name
}
}
return res
def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
uom=False, qty_uos=0, uos=False, name='', partner_id=False,
lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False, context=None):
res = {}
if product:
product_res = self.pool.get('product.product').browse(cr, uid, product)
if product_res.event_type:
res={'value' : {
'event_type':product_res.event_type.name,
'event_ok':product_res.event_ok
}
}
return res
return super(sale_order_line,self).product_id_change(cr,uid,ids,res,context)
def button_confirm(self,cr,uid,ids,context=None):
registration = self.browse(cr,uid,ids,context=None)
@@ -60,6 +70,5 @@ class sale_order_line(osv.osv):
})
return super(sale_order_line, self).button_confirm(cr, uid, ids, context)
sale_order_line()
+3 -3
View File
@@ -9,7 +9,7 @@
<field name="arch" type="xml">
<field name='purchase_ok' position='after'>
<field name="event_ok"/>
<field name="event_type" />
<field name="event_type" attrs="{'invisible': [('event_ok', '=', False)]}"/>
</field>
</field>
</record>
@@ -21,9 +21,9 @@
<field name="inherit_id" ref="sale.view_order_form" />
<field name="arch" type="xml">
<xpath expr="//field[@name='product_id']" position="after">
<field name="product_id" on_change="onchange_product(product_id)"/>
<field name="event_type" invisible="1"/>
<field name="event" domain="[('type', '=', event_type )]"/>
<field name="event_ok" invisible="1"/>
<field name="event" domain="[('type', '=', event_type )]" attrs="{'invisible': [('event_ok', '=', False)]}"/>
</xpath>
</field>
</record>