تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
3573 أدوات العرض

Let's say I have a model employee.category for which I have created a rule for a group A.

Users from group A shouldn't see all the records when they enter a menu that shows the employee.category records. (This I have achieved using the rule)

The problem is, I have employee.category as a Many2one field in another model's form view, and the users from group A can't see all the records of the Many2one (because the rule is global), is there any way for me to make the rule only work when consulting the menu of employee.category and not when seeing the Many2one records in another model's form view ?


الصورة الرمزية
إهمال
الكاتب أفضل إجابة

Thanks @Niyas Raphy solution worked.

الصورة الرمزية
إهمال

Karsa, can you tell me how the proposed solution worked with you?

أفضل إجابة

Hi,

For this case instead of adding the record rule, you can apply the domain by inheriting the _search method. If you need to apply the filteration in some place only, you can control it by passing some keys in the context. See an example,

@api.model
def _search(self, args, offset=0, limit=None, order=None, count=False, access_rights_uid=None):
# TDE FIXME: strange
if self._context.get('search_default_categ_id'):
args.append((('categ_id', 'child_of', self._context['search_default_categ_id'])))
return super(ProductProduct, self)._search(args, offset=offset, limit=limit, order=order, count=count, access_rights_uid=access_rights_uid)

Thanks

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
2
فبراير 25
6020
1
ديسمبر 24
1537
2
نوفمبر 24
1746
1
نوفمبر 22
16094
3
أغسطس 22
13186