Skip to Content
Menu
This question has been flagged
1 Reply
5328 Views

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
Discard
Best Answer

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
Discard
Related Posts Replies Views Activity
2
Nov 22
3197
0
Nov 23
247
0
Sep 23
1026
1
Sep 23
2186
2
Jun 23
2470