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

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?

Avatar
Descartar
Mejor respuesta

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

Avatar
Descartar
Mejor respuesta

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.

Avatar
Descartar

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.

Publicaciones relacionadas Respuestas Vistas Actividad
1
dic 22
5658
1
oct 22
2134
1
may 22
2492
1
feb 22
2762
2
feb 25
9973