Make the number of bank accounts required
The number is the record name so it must always be filled. Closes #14297
This commit is contained in:
+16
-2
@@ -199,8 +199,12 @@ class AccountNumber(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView):
|
||||
('iban', 'IBAN'),
|
||||
('other', 'Other'),
|
||||
], 'Type', required=True)
|
||||
number = fields.Char('Number')
|
||||
number_compact = fields.Char('Number Compact', readonly=True)
|
||||
number = fields.Char("Number", required=True)
|
||||
number_compact = fields.Char(
|
||||
"Number Compact", readonly=True,
|
||||
states={
|
||||
'required': Eval('type').in_(['iban']),
|
||||
})
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
@@ -261,6 +265,16 @@ class AccountNumber(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView):
|
||||
return (iban.compact(self.number) if self.type == 'iban'
|
||||
else self.number)
|
||||
|
||||
@classmethod
|
||||
def preprocess_values(cls, mode, values):
|
||||
values = super().preprocess_values(mode, values)
|
||||
if mode == 'create':
|
||||
if (values.get('type') == 'iban'
|
||||
and (number := values.get('number'))):
|
||||
values['number'] = iban.format(number)
|
||||
values['number_compact'] = iban.compact(number)
|
||||
return values
|
||||
|
||||
def compute_fields(self, field_names=None):
|
||||
values = super().compute_fields(field_names=field_names)
|
||||
if ((not field_names or {'type', 'number'} & field_names)
|
||||
|
||||
Reference in New Issue
Block a user