Fix states of analytic account fields
Set the same state of the real one2many and use a custom one for required. issue3012 review1151003
This commit is contained in:
+13
-2
@@ -287,10 +287,15 @@ class Account(ModelSQL, ModelView):
|
||||
parent.remove(element_accounts)
|
||||
|
||||
@classmethod
|
||||
def analytic_accounts_fields_get(cls, field, fields_names=None):
|
||||
def analytic_accounts_fields_get(cls, field, fields_names=None,
|
||||
states=None, required_states=None):
|
||||
res = {}
|
||||
if fields_names is None:
|
||||
fields_names = []
|
||||
if states is None:
|
||||
states = {}
|
||||
|
||||
encoder = PYSONEncoder()
|
||||
|
||||
root_accounts = cls.search([
|
||||
('parent', '=', None),
|
||||
@@ -299,7 +304,13 @@ class Account(ModelSQL, ModelView):
|
||||
name = 'analytic_account_' + str(account.id)
|
||||
if name in fields_names or not fields_names:
|
||||
res[name] = field.copy()
|
||||
res[name]['required'] = account.mandatory
|
||||
field_states = states.copy()
|
||||
if account.mandatory:
|
||||
if required_states:
|
||||
field_states['required'] = required_states
|
||||
else:
|
||||
field_states['required'] = True
|
||||
res[name]['states'] = encoder.encode(field_states)
|
||||
res[name]['string'] = account.name
|
||||
res[name]['relation'] = cls.__name__
|
||||
res[name]['domain'] = PYSONEncoder().encode([
|
||||
|
||||
Reference in New Issue
Block a user