From fa536032f1aac1d2ea4d385221ccdc5080c65d5d Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Tue, 3 Oct 2017 18:16:00 +0200 Subject: [PATCH] Fix in webmodel for add new error messages --- paramecio/cromosoma/corefields.py | 12 ++++++++---- paramecio/cromosoma/extrafields/arrayfield.py | 4 +++- paramecio/cromosoma/extrafields/datefield.py | 6 ++++-- paramecio/cromosoma/extrafields/dictfield.py | 6 ++++-- paramecio/cromosoma/extrafields/emailfield.py | 8 +++++++- paramecio/cromosoma/extrafields/passwordfield.py | 4 ++-- paramecio/cromosoma/webmodel.py | 11 ++++++++--- 7 files changed, 36 insertions(+), 15 deletions(-) diff --git a/paramecio/cromosoma/corefields.py b/paramecio/cromosoma/corefields.py index 77e1f79..c0aee3f 100644 --- a/paramecio/cromosoma/corefields.py +++ b/paramecio/cromosoma/corefields.py @@ -81,6 +81,8 @@ class FloatField(PhangoField): def __init__(self, name, size=11, required=False): super(FloatField, self).__init__(name, size, required) + + self.error_default="The value is zero" def check(self, value): @@ -99,12 +101,12 @@ class FloatField(PhangoField): value=str(float(value)) if value=="0" and self.required==True: - self.txt_error="The value is zero" + self.txt_error=self.error_default self.error=True except: value="0" - self.txt_error="The value is zero" + self.txt_error=self.error_default self.error=True return value @@ -187,6 +189,8 @@ class BooleanField(IntegerField): super(IntegerField, self).__init__(name, size, required) + self.default_error="Need 0 or 1 value" + def check(self, value): self.error=False @@ -197,13 +201,13 @@ class BooleanField(IntegerField): value=int(value) if value<0 or value>1: - self.txt_error="Need 0 or 1 value" + self.txt_error=self.default_error self.error=True except: self.error=True - self.txt_error="Need 0 or 1 value" + self.txt_error=self.default_error value=0 value=str(value) diff --git a/paramecio/cromosoma/extrafields/arrayfield.py b/paramecio/cromosoma/extrafields/arrayfield.py index 361d350..4a31145 100644 --- a/paramecio/cromosoma/extrafields/arrayfield.py +++ b/paramecio/cromosoma/extrafields/arrayfield.py @@ -8,6 +8,8 @@ class ArrayField(PhangoField): super().__init__(name, required) self.field_type=field_type + + self.error_default='Sorry, the json array is invalid' def check(self, value): @@ -18,7 +20,7 @@ class ArrayField(PhangoField): value=[] self.error=True - self.txt_error='Sorry, the json array is invalid' + self.txt_error=self.error_default elif type(value).__name__!='list': diff --git a/paramecio/cromosoma/extrafields/datefield.py b/paramecio/cromosoma/extrafields/datefield.py index 79a4619..6fd782a 100644 --- a/paramecio/cromosoma/extrafields/datefield.py +++ b/paramecio/cromosoma/extrafields/datefield.py @@ -11,6 +11,8 @@ class DateField(PhangoField): self.name_form=DateForm self.utc=True + + self.error_default='Date format invalid' def check(self, value): @@ -21,13 +23,13 @@ class DateField(PhangoField): elif not datetime.obtain_timestamp(value, True): self.error=True - self.txt_error='Date format invalid' + self.txt_error=self.error_default return '' if value==False: self.error=True - self.txt_error='Date format invalid' + self.txt_error=self.error_default return '' return value diff --git a/paramecio/cromosoma/extrafields/dictfield.py b/paramecio/cromosoma/extrafields/dictfield.py index fac186d..a7cc462 100644 --- a/paramecio/cromosoma/extrafields/dictfield.py +++ b/paramecio/cromosoma/extrafields/dictfield.py @@ -9,6 +9,8 @@ class DictField(PhangoField): self.field_type=field_type + self.error_default='Sorry, the json dict is invalid' + def check(self, value): if type(value).__name__=='str': @@ -18,13 +20,13 @@ class DictField(PhangoField): value={} self.error=True - self.txt_error='Sorry, the json dict is invalid' + self.txt_error=self.error_default elif type(value).__name__!='dict': value={} self.error=True - self.txt_error='Sorry, the json array is invalid' + self.txt_error=self.error_default for k,v in value.items(): diff --git a/paramecio/cromosoma/extrafields/emailfield.py b/paramecio/cromosoma/extrafields/emailfield.py index a94a5da..bd35b5c 100644 --- a/paramecio/cromosoma/extrafields/emailfield.py +++ b/paramecio/cromosoma/extrafields/emailfield.py @@ -5,6 +5,12 @@ mail_pattern=re.compile("\w[\w\.-]*@\w[\w\.-]+\.\w+") class EmailField(CharField): + def __init__(self, name, size=1024, required=False): + + super().__init__(name, size, required) + + self.error_default='Error: No valid format' + def check(self, value): value=super().check(value) @@ -16,6 +22,6 @@ class EmailField(CharField): self.error=True value="" - self.txt_error='No valid format' + self.txt_error=self.error_default return value diff --git a/paramecio/cromosoma/extrafields/passwordfield.py b/paramecio/cromosoma/extrafields/passwordfield.py index 995fb44..78fe1f8 100644 --- a/paramecio/cromosoma/extrafields/passwordfield.py +++ b/paramecio/cromosoma/extrafields/passwordfield.py @@ -29,11 +29,11 @@ class PasswordField(PhangoField): return "" else: - self.txt_error="The field is empty" + self.txt_error=self.error_default self.error=True else: - self.txt_error="The field is empty" + self.txt_error=self.error_default self.error=True else: diff --git a/paramecio/cromosoma/webmodel.py b/paramecio/cromosoma/webmodel.py index ee8f429..1be5ce9 100644 --- a/paramecio/cromosoma/webmodel.py +++ b/paramecio/cromosoma/webmodel.py @@ -97,6 +97,10 @@ class PhangoField: # Template manager for the form if needed self.t=None + + # Error by default + + self.error_default='Error: field required' # This method is used for describe the new field in a sql language format. @@ -129,7 +133,7 @@ class PhangoField: #value=WebModel.escape_sql(value) if value=="": - self.txt_error="The field is empty" + self.txt_error=self.error_default self.error=True @@ -168,11 +172,12 @@ class PrimaryKeyField(PhangoField): self.protected=True self.name_form=HiddenForm self.required=True + self.error_default="The value is zero" def check(self, value): self.error=None - self.txt_error='' + self.txt_error=self.error_default if value=='': value='0' @@ -186,7 +191,7 @@ class PrimaryKeyField(PhangoField): value=0 if value==0: - self.txt_error="The value is zero" + self.txt_error=self.error_default self.error=True