ヘルプ

0

How to restrict user access to a field but allow exporting other fields from the same view?

One way to limit users from accessing cost prices is to simply hide the fields by limiting visibility to specific groups. But this does not take away the possibility to export the field from a list view. How do we still allow the user to export the other fields from the view without the restricted field?

アバター
破棄
2回答
3
Avatar
Kiran K
Best Answer

Hi  Toon van der Ploeg ,

Try,

@api.model
def fields_get(self, fields=None):
fields_to_hide = ['field1','field2'] //Fields to Hide
res = super(ClassName, self).fields_get()
for field in fields_to_hide:
if self.env.user.has_group('group_which_the_field_to_be_hide'): 
res[field]['exportable'] = False
return res

Hope It Helps,
Kiran K

アバター
破棄
0
Best Answer

In .py file you can add the groups to a specific field so that it will not be visible while exporting also.

                                                    groups="base.group_no_one"

Adding this will make the field accessible only to "base.group_no_one" group users.

3コメント
アバター
破棄
Avatar
Anthony Nelson
-

Hi K Ch Kumar Jagabattula, thanks for your suggestion. Do you mean updating the 'odoo/addons/product/models/product.py' file or is there are more appropriate way to inherit it and update the groups?

Hi Anthony Nelson, Updating the default modules is not a good practice. Inherit the model in a custom addon and add groups for the field.

Something like this should work.

class ProductTemplate(models.Model):
_inherit = "product.template"
field_name = fields.Float(default_content, groups="base.group_user)

default_content - entire code in field definition of default addon.