Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
1 Răspunde
6227 Vizualizări

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

Imagine profil
Abandonează
Cel mai bun răspuns

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)]"/>
Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
2
nov. 22
4670
1
iul. 25
161
1
feb. 25
1062
0
nov. 23
1020
0
sept. 23
2069