diff --git a/paramecio/cromosoma/extrafields/datefield.py b/paramecio/cromosoma/extrafields/datefield.py index 0467211..da52ec1 100644 --- a/paramecio/cromosoma/extrafields/datefield.py +++ b/paramecio/cromosoma/extrafields/datefield.py @@ -16,8 +16,10 @@ class DateField(PhangoField): value=datetime.local_to_gmt(value) elif not datetime.obtain_timestamp(value, True): - - return False + + self.error=True + self.txt_error='Date format invalid' + return '' if value==False: diff --git a/paramecio/cromosoma/usermodel.py b/paramecio/cromosoma/usermodel.py index ace28c4..b49081d 100644 --- a/paramecio/cromosoma/usermodel.py +++ b/paramecio/cromosoma/usermodel.py @@ -114,35 +114,29 @@ class UserModel(WebModel): if self.username_field in dict_values: - self.conditions=['WHERE (username=%s', [dict_values[self.username_field]]] + self.conditions=['WHERE username=%s AND '+self.name_field_id+'!=%s', [dict_values[self.username_field], get_id]] + + if self.select_count()>0: + + self.fields[self.username_field].error=True + self.fields[self.username_field].txt_error=I18n.lang('common', 'error_username_exists', 'Error: username exists in database') + + error+=1 if self.email_field in dict_values: - if len(self.conditions[1])>0: - - self.conditions[0]+=' OR email=%s)' - else: - self.conditions[0]='WHERE (email=%s)' - self.conditions[1]=[] - - self.conditions[1].append(dict_values[self.email_field]) - - if get_id>0: + self.conditions=['WHERE email=%s AND '+self.name_field_id+'!=%s', [dict_values[self.email_field], get_id]] - self.conditions[0]+=' AND '+self.name_field_id+'!=%s' - self.conditions[1].append(get_id) - - if self.select_count()>0: self.fields[self.username_field].error=True - self.fields[self.username_field].txt_error=I18n.lang('common', 'error_username_or_password_exists', 'Error: username or email exists in database') + self.fields[self.username_field].txt_error=I18n.lang('common', 'error_email_exists', 'Error: email exists in database') error+=1 self.conditions=original_conditions - + if error>0: self.query_error+='Error:if is not expected, please, check that you disabled the special checkings of this model' return False diff --git a/paramecio/cromosoma/webmodel.py b/paramecio/cromosoma/webmodel.py index f8ba927..4556bf7 100644 --- a/paramecio/cromosoma/webmodel.py +++ b/paramecio/cromosoma/webmodel.py @@ -421,7 +421,7 @@ class WebModel: except: self.query_error='Cannot insert the new row' - + print(sys.exc_info()[0]) return False c=len(values) @@ -1070,7 +1070,12 @@ class WebModel: #Error, need this fields. self.num_errors+=1 - self.fields_errors[k].append("Error: "+v.label+" field required") + if self.fields[k].txt_error=='': + + self.fields_errors[k].append("Error: "+v.label+" field required") + + else: + self.fields_errors[k].append(self.fields[k].txt_error) error=True