İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
6221 Görünümler

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
Vazgeç
En İyi Yanıt

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
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
2
Kas 22
4666
1
Tem 25
150
Search a message Çözüldü
1
Şub 25
1058
0
Kas 23
1019
0
Eyl 23
2068