Reviewers: ,


Please review this at http://codereview.tryton.org/370001/

Affected files:
  M trytond/model/modelstorage.py


Index: trytond/model/modelstorage.py
===================================================================
--- a/trytond/model/modelstorage.py
+++ b/trytond/model/modelstorage.py
@@ -1058,6 +1058,13 @@
                                         'domain_validation_record',
                                         error_args=self._get_error_args(
                                             field_name))
+
+                def required_test(value, field_name):
+                    if (isinstance(value,
+ (BrowseRecordNull, type(None), type(False)))
+                            and not value):
+                        self.raise_user_error('required_validation_record',
+                            error_args=self._get_error_args(field_name))
                 # validate states required
                 if field.states and 'required' in field.states:
                     if is_pyson(field.states['required']):
@@ -1071,28 +1078,16 @@
                             env['context'] = Transaction().context
                             env['active_id'] = record.id
required = PYSONDecoder(env).decode(pyson_required)
-                            if required and record[field_name] is None:
-                                self.raise_user_error(
-                                        'required_validation_record',
-                                        error_args=self._get_error_args(
-                                            field_name))
+                            if required:
+ required_test(record[field_name], field_name)
                     else:
                         if field.states['required']:
                             for record in records:
-                                if not record[field_name]:
-                                    self.raise_user_error(
-                                            'required_validation_record',
- error_args=self._get_error_args(
-                                                field_name))
+ required_test(record[field_name], field_name)
                 # validate required
                 if field.required:
                     for record in records:
- if (isinstance(record[field_name], (BrowseRecordNull,
-                                        type(None), type(False)))
-                                and not record[field_name]):
-                            self.raise_user_error(
-                                'required_validation_record',
- error_args=self._get_error_args(field_name))
+                        required_test(record[field_name], field_name)
                 # validate size
                 if hasattr(field, 'size') and field.size:
                     for record in records:


--
[email protected] mailing list

Reply via email to