Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
1 Vastaa
6229 Näkymät

I have a entity "request" that has a Many2one "department_id" attribute (hr.department). I have also extended the res.users models to have a reference of the department of that user (department_id)
I want to create a filter in the search view to get all requests of the department of the current user. I've tried with this code but when i clic the filter it shows "Error: AttributeError: object has no attribute 'department_id'"

Search view of the request entity:

    <filter name="my_department" string="From my department" domain="[('department_id','=', uid.department_id)]"/>

Extending res.users:
  

     class User(models.Model):
            _inherit = ['res.users']
       
            department_id = fields.Many2one(comodel_name='hr.department',
                                             compute="_compute_departament",
                                             string="Departament")
        @api.multi
        @api.depends('employee_ids')
        def _compute_departament(self):
            for record in self:
                if record.employee_ids and record.employee_ids[0].department_id:
                    record.departament_id = record.employee_ids[0].department_id

Avatar
Hylkää
Paras vastaus

Hi Ernesto:

uid contains just the numeric id of the department and cannot be used for looking up the department_id using the dot notation.

Try the reverse i.e. looking up the user id based on the department.

<filter name="my_department" string="From my department" domain="[('department_id.member_ids.user_id.id','=', uid)]"/>
Avatar
Hylkää
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
2
marrask. 22
4671
1
heinäk. 25
172
1
helmik. 25
1064
0
marrask. 23
1022
0
syysk. 23
2071