Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
1316 Vistas

Hi,

In our company we have a external  sales man, therefore he has to see only the contacts  in odoo which  was created by him. I tried it with the  record rule  [("create_uid", "=", user.id)] but however I  get  the following error, still I can close this error and proceed. but the  error pop up comes  often.


because  the followers in contact app  are related  to  res.user eventhough the follower  is he himself.  Anyhelp  would be appreciated . Thanks  

Avatar
Descartar
Autor Mejor respuesta

['|', '|',

('create_uid', '=', user.partner_id.id),

]


For now  got  this working with the above code, but the user  gets error when he opens  a  contact where he  is  a follower assigned by some one in res.partner.  Is  there a way  to  handle this case as well,  where  the user can see the contact where he a follower  and along with it he has access to  the one who created  that contact or  all the followers  of that contact.

Avatar
Descartar
Mejor respuesta

The issue arises because the record rule you applied restricts access based on the create_uid, but certain actions (like adding followers) attempt to fetch related data (e.g., followers) that are not covered by the rule. This inconsistency leads to the error.


Here’s how you can fix it:


Solution: Adjust Record Rule and Consider Followers

1. Modify the Record Rule

The record rule [("create_uid", "=", user.id)] is too restrictive in this case because it doesn’t account for the linked followers model. You need to extend the rule to include records where the user is either the creator or a follower.


Adjusted Rule (Python):


[("|", ("create_uid", "=", user.id), ("message_partner_ids", "in", [user.partner_id.id]))]


Clear Cache and restart Server

Avatar
Descartar
Autor

Hi,
I tried it but i get thefollowing errorwhen trying to save the record rule
Validation error

Invalid domain: Invalid field res.partner.| in leaf (‘|’, (‘create_uid’, ‘=’, 100), (‘message_partner_ids’, ‘in’, [5589]))

There is a small typo but the appraoch is correct
try
['|',("create_uid", "=", user.id),('message_partner_ids','in', [user.partner_id.id])]

Publicaciones relacionadas Respuestas Vistas Actividad
1
abr 25
1746
2
ene 24
3190
0
ene 24
1522
0
dic 20
2078
1
sept 19
4851