Send only the required fields when fetching a readonly view definition

issue11134
review380081002
This commit is contained in:
Nicolas Évrard
2022-04-08 19:07:13 +02:00
parent 85c26f2fb8
commit 54ca46c2d6
4 changed files with 4 additions and 14 deletions
+1 -5
View File
@@ -55,7 +55,7 @@ class Employee(ModelSQL, ModelView):
'company': If(
Eval('company', -1) >= 0, Eval('company', None), None),
},
depends=['company'],
depends={'company'},
help="The party which represents the employee.")
company = fields.Many2One('company.company', 'Company', required=True,
help="The company to which the employee belongs.")
@@ -65,7 +65,6 @@ class Employee(ModelSQL, ModelView):
(),
)
],
depends=['end_date'],
help="When the employee joins the company.")
end_date = fields.Date('End Date',
domain=[If((Eval('start_date')) & (Eval('end_date')),
@@ -73,21 +72,18 @@ class Employee(ModelSQL, ModelView):
(),
)
],
depends=['start_date'],
help="When the employee leaves the company.")
supervisor = fields.Many2One(
'company.employee', "Supervisor",
domain=[
('company', '=', Eval('company', -1)),
],
depends=['company'],
help="The employee who oversees this employee.")
subordinates = fields.One2Many(
'company.employee', 'supervisor', "Subordinates",
domain=[
('company', '=', Eval('company', -1)),
],
depends=['company'],
help="The employees to be overseen by this employee.")
@staticmethod
+1 -2
View File
@@ -52,8 +52,7 @@ def employee_field(string, states=None, company='company'):
domain=[('company', '=', Eval(company, -1))],
states={
'readonly': Eval('state').in_(states),
},
depends=[company, 'state'])
})
def set_employee(field, company='company'):
+2 -4
View File
@@ -44,8 +44,7 @@ class PartyLang(CompanyValueMixin, metaclass=PoolMeta):
def __setup__(cls):
super().__setup__()
cls.party.context['company'] = Eval('company', -1)
if 'company' not in cls.party.depends:
cls.party.depends.append('company')
cls.party.depends.add('company')
@classmethod
def __register__(cls, module_name):
@@ -123,8 +122,7 @@ class ContactMechanismLanguage(CompanyValueMixin, metaclass=PoolMeta):
def __setup__(cls):
super().__setup__()
cls.contact_mechanism.context['company'] = Eval('company', -1)
if 'company' not in cls.contact_mechanism.depends:
cls.contact_mechanism.depends.append('company')
cls.contact_mechanism.depends.add('company')
class LetterReport(Report):
-3
View File
@@ -39,21 +39,18 @@ class User(metaclass=PoolMeta):
domain=[
('id', 'in', Eval('companies', [])),
],
depends=['companies'],
help="Select the company to work for.")
employees = fields.Many2Many('res.user-company.employee', 'user',
'employee', 'Employees',
domain=[
('company', 'in', Eval('companies', [])),
],
depends=['companies'],
help="Add employees to grant the user access to them.")
employee = fields.Many2One('company.employee', 'Current Employee',
domain=[
('company', '=', Eval('company', -1)),
('id', 'in', Eval('employees', [])),
],
depends=['company', 'employees'],
help="Select the employee to make the user behave as such.")
company_filter = fields.Selection([
('one', "Current"),