Ajuda

1

record rule domain changes not applied unless server is restarted

I have created a record rule using xml as follows:


<record id="filter_user_hotel" model="ir.rule">
            <field name="name">Filter Hotel Allowed</field>
            <field name="model_id" search="[('model','=','hotel.reservation')]" model="ir.model"/>
            <field name="groups" eval="[(4, ref('hotel.group_hotel_user'))]"/>
            <field name="domain_force">[('warehouse_id.id','=',user.warehouse_id_hotel.id)]</field>
     </record>

I created a new field in res.users "warehouse_id_hotel" so each user could see the records related to his warehouse only.

whenever I change the warehouse of the user changes don't take effect until I restart the server ,so  what is causing this behavior ?

1 Comentário
Avatar
Descartar
Avatar
Vadzim Hrachaniuk
-

You save my life too)))

1 Resposta
9
Best Answer

Hi Mohammed,

you have to override create and write method of hotel reservation. and use this code inside

@api.model
def create(self, vals):
    self.clear_caches()
    return super(HotelReservation, self).create(vals)

@api.multi
def write(self, vals):
    self.clear_caches()
    return super(HotelReservation, self).write(vals)

Hope it will help.

Thanks.

3 Comentários
Avatar
Descartar
Avatar
aheficent
-

You saved my life

Avatar
Christian
-

Same problem in v12, clear_caches() helped, thanks !

Avatar
silpa m s
-

Same issue faced with employee department in odoo 10. And clear_caches() worked. Thank You..