Odoo V8
I've added a global discount field that I want that I only want editable if the Public Pricelist is selected, unless the user is in the sale manager group, in which case they can edit irrespective of the pricelist selected.
.py
class sale_order(models.Model):
_inherit = 'sale.order'
ct_global_discount = fields.Float('Global Discount')
can_apply_discount = fields.Boolean(default=False)
@api.one
@api.onchange('pricelist_id')
def onchange_pricelist_id(self):
if self.pricelist_id.name != 'Public Pricelist':
self.ct_global_discount = 0
if self.env.user.has_group('base.group_sale_manager'):
self.can_apply_discount = True
else:
self.can_apply_discount = False
else:
self.can_apply_discount = True
XML
<xpath expr="//group[@name='sale_total']" position="after">
<field name="can_apply_discount" invisible="1"/>
<field name="ct_global_discount" attrs="{'readonly': ['can_apply_discount', '=', False]}" />
</xpath>
I get an error that can_apply_discount does not exist. I can get this working using the old interface but can't for the life of me see how you get this working with the new API.
addition: I've also tried without @api.one but with no luck