i want to show the sequence name based on the value of a selection field 'type', my code is like this:
.xml
<record id='certification_view_form' model='ir.ui.view'>
<field name="name">hr.certification.form</field>
<field name="model">certificat.order</field>
<field name="arch" type="xml">
<form>
<header>
<button name="action_validate_one" type="object" string="Valider" class="oe_highlight" attrs="{'invisible':[('type','!=','one')]}" state="draft"/>
<button name="action_validate_two" type="object" string="Valider" class="oe_highlight" attrs="{'invisible':[('type','!=','two')]}" state="draft"/>
field name="state" widget="statusbar"/>
</header>
<sheet>
<div class='oe_title'>
<h1>
<field name="name" readonly="1" attrs="{'invisible': [('type','!=','one')]}"/>
<field name="name_sal" readonly="1" attrs="{'invisible': [('type','!=','two')]}"/>
</h1>
</div>
<group>
<field name="type"/>
</group>
</sheet>
</form>
</field>
</record>
.py
name = fields.Char(string='Reference one', required=True, copy=False, readonly=True, index=True, default=lambda self: ('New'))
name_sal = fields.Char(string='Reference two', required=True, copy=False, readonly=True, index=True, default=lambda self: ('New'))
@api.model
def create(self, vals):
if vals.get('name', ('New')) == ('New'):
vals['name'] = self.env['ir.sequence'].next_by_code('one.order') or ('New')
result = super(certificationsorder, self).create(vals)
return result
@api.model
def create_sal(self, vals):
if vals.get('name_sal', ('New')) == ('New'):
vals['name_sal'] = self.env['ir.sequence'].next_by_code('two.order') or ('New')
result = super(certificationsorder, self).create_sal(vals)
return result
def action_validate_one(self):
for rec in self:
rec.state = 'valide'
def action_validate_two(self):
for rec in self:
rec.state = 'valide'
Data/sequence.xml
<record id="seq_one_order" model="ir.sequence">
<field name="name">Type One Order</field>
<field name="code">one.order</field>
<field name="prefix">ATTESTTRV</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
<record id="seq_two_order" model="ir.sequence">
<field name="name">Type Two Order</field>
<field name="code">two.order</field>
<field name="prefix">ATTESTSAL</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
</record>
for the type = one the sequence works fine, but for the type two it dosent work i don't know what is still missing
thanks Eman, it works, sorry for replying that late. thank you again