Skip to Content
Menu
This question has been flagged
2 Replies
4301 Views

i declared a new sequence field  in a relation of one2many of an existing module (event.event) 

like this 

    class event_trajet_line(models.Model):

    _inherit = "event.event"

    trajet = fields.One2many('event.trajet','trajet_id', string="Trajets")


    class event_trajets(models.Model):

    _name = "event.trajet"

    _description = "Trajet de la mission"

    name_id = fields.Char(string='Trajet Reference', required=True, copy=False, readonly=True, index=True, default=lambda self: _('New'))


    @api.model 

    def create(self, vals):

        if vals.get('name_id', _('New')) == _('New'):

            vals['name_id'] = self.env['ir.sequence'].next_by_code('trajet.order') or _('New')

        result = super(event_trajets, self).create(vals)

        return result 


and i declared then the sequence code and its suffix, prefix in a new xml file on a new directory data 

and i call the name of the directory to the _manifest_.py 

and the field works just fine, 

but i need to add it to the field 'name' of the form id "event.view_event_form" 
is there any solution to aproche this ? 

NP i tried this xml structure but it dosen work 


    <xpath expr="/form/sheet/div[@class='oe_title']" position="replace">

                    <div class="oe_title">

                            <label for="name" class="oe_edit_only"/>

                            <h1><field name="name" placeholder="Event Name"/><field name="trajet">          <field name="name_id"/></field></h1>

                            <field name="is_online" groups="base.group_no_one"/>

                            <label for="is_online" string="Online" groups="base.group_no_one"/>

                        </div>

                    </xpath>

Avatar
Discard
Author Best Answer

Hi Ibrahim, thanks for your answer 

I managed that by declaring the field as related

Avatar
Discard
Best Answer

Hi, 
If i understand well what you want to achieve, name_id should be the name that appears in form view at the breadcrumbs.
For example when you click on a record, you ll get : Sale order/  SO0001

If i'm right, then you shoud know that Odoo considers the field *name* by default. If you want other field to be considered, then you need to add _rec_name = "name_id" in your case. 

Note : Since your model is specific, i suggest that you replace *name_id*
with simply *name* for 2 reasons : 
1- with name, you don't need to add _rec_name. It is handled automatically 
2- name_id : For best practices, it should represent Many2one fields not a Char. 

Hope this helps. Upvote if it does.
Regards.

Avatar
Discard
Related Posts Replies Views Activity
1
Jul 23
3873
1
Dec 22
2318
0
Oct 24
957
0
Jun 24
1001
4
May 24
12131