Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
6208 Widoki

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

Awatar
Odrzuć
Najlepsza odpowiedź

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)]"/>
Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
2
lis 22
4662
0
lip 25
72
Search a message Rozwiązane
1
lut 25
1050
0
lis 23
1014
0
wrz 23
2062