forked from Techsystech/web
commit
9feb7ddbf1
|
@ -44,9 +44,7 @@ class Base(models.AbstractModel):
|
||||||
("group_ids", "in", self.env.user.groups_id.ids),
|
("group_ids", "in", self.env.user.groups_id.ids),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
if not restrictions:
|
if restrictions:
|
||||||
return arch
|
|
||||||
else:
|
|
||||||
return self.create_restrictions_fields(restrictions, view_type, arch)
|
return self.create_restrictions_fields(restrictions, view_type, arch)
|
||||||
return arch
|
return arch
|
||||||
|
|
||||||
|
@ -127,3 +125,32 @@ class Base(models.AbstractModel):
|
||||||
elif r.group_ids:
|
elif r.group_ids:
|
||||||
if r.group_ids & self.env.user.groups_id:
|
if r.group_ids & self.env.user.groups_id:
|
||||||
record[field_name] = True
|
record[field_name] = True
|
||||||
|
|
||||||
|
def default_get(self, fields_list):
|
||||||
|
res = super(Base, self).default_get(fields_list)
|
||||||
|
vals = self._default_get_compute_restrictions_fields()
|
||||||
|
if vals:
|
||||||
|
res.update(vals)
|
||||||
|
return res
|
||||||
|
|
||||||
|
def _default_get_compute_restrictions_fields(self):
|
||||||
|
restrictions = self.env["custom.field.restriction"].search(
|
||||||
|
[("model_name", "=", self._name)]
|
||||||
|
)
|
||||||
|
values = {}
|
||||||
|
if not restrictions:
|
||||||
|
return values
|
||||||
|
for r in restrictions:
|
||||||
|
if r.visibility_field_id:
|
||||||
|
field_name = r.visibility_field_id.name
|
||||||
|
values[field_name] = False
|
||||||
|
if r.required_field_id:
|
||||||
|
field_name = r.required_field_id.name
|
||||||
|
values[field_name] = False
|
||||||
|
if r.readonly_field_id:
|
||||||
|
field_name = r.readonly_field_id.name
|
||||||
|
values[field_name] = False
|
||||||
|
if r.group_ids:
|
||||||
|
if r.group_ids & self.env.user.groups_id:
|
||||||
|
values[field_name] = True
|
||||||
|
return values
|
||||||
|
|
|
@ -130,3 +130,8 @@ class TestFieldRequiredIvisibleManager(common.SavepointCase):
|
||||||
self.invisible_title_rec_id.unlink()
|
self.invisible_title_rec_id.unlink()
|
||||||
field_id = self.env["ir.model.fields"].search([("name", "=", field_name)])
|
field_id = self.env["ir.model.fields"].search([("name", "=", field_name)])
|
||||||
self.assertFalse(field_id)
|
self.assertFalse(field_id)
|
||||||
|
# default get
|
||||||
|
self.env["res.partner"].default_get(["name"])
|
||||||
|
self.env["res.partner"].default_get(["city"])
|
||||||
|
self.env["res.partner.title"].default_get(["name"])
|
||||||
|
self.env["res.partner.title"].default_get(["shortcut"])
|
||||||
|
|
Loading…
Reference in New Issue