diff --git a/paramecio/citoplasma/httputils.py b/paramecio/citoplasma/httputils.py
index ed3ee43..3990186 100644
--- a/paramecio/citoplasma/httputils.py
+++ b/paramecio/citoplasma/httputils.py
@@ -99,6 +99,8 @@ class GetPostFiles:
del s['csrf_token']
+ s.save()
+
else:
raise NameError('Error: you don\'t send any valid csrf_token')
diff --git a/paramecio/citoplasma/mtemplates.py b/paramecio/citoplasma/mtemplates.py
index 56785c0..dba4e24 100644
--- a/paramecio/citoplasma/mtemplates.py
+++ b/paramecio/citoplasma/mtemplates.py
@@ -61,7 +61,7 @@ def env_theme(module, cache_enabled=True, cache_impl='', cache_args={}, module_d
#Standard templates
#print(standard_templates)
- return TemplateLookup(directories=search_folders, default_filters=['h'], input_encoding='utf-8', encoding_errors='replace', cache_enabled=cache_enabled, cache_impl=cache_impl, cache_args=cache_args, module_directory=module_directory)
+ return TemplateLookup(directories=search_folders, default_filters=['h'], input_encoding='utf-8', encoding_errors='replace', cache_enabled=cache_enabled, cache_impl=cache_impl, cache_args=cache_args, module_directory=module_directory, filesystem_checks=config.debug)
def preload_templates(template_files, env):
diff --git a/paramecio/cromosoma/formsutils.py b/paramecio/cromosoma/formsutils.py
index d21bd60..c650b5a 100644
--- a/paramecio/cromosoma/formsutils.py
+++ b/paramecio/cromosoma/formsutils.py
@@ -61,16 +61,16 @@ class CheckForm():
def show_form(post, arr_form, t, yes_error=True, pass_values=True, modelform_tpl='forms/modelform.phtml'):
- # Create csrf_token in session
-
- s=get_session()
-
- s['csrf_token']=create_key_encrypt()
-
- if pass_values==True:
- pass_values_to_form(post, arr_form, yes_error)
-
- return t.render_template(modelform_tpl, forms=arr_form)
+ # Create csrf_token in session
+
+ s=get_session()
+
+ s['csrf_token']=create_key_encrypt()
+
+ if pass_values==True:
+ pass_values_to_form(post, arr_form, yes_error)
+
+ return t.load_template(modelform_tpl, forms=arr_form)
#Simple Function for add repeat_password form to user model
@@ -92,13 +92,23 @@ def set_extra_forms_user(user_admin):
def ini_fields(fields):
pass
-def csrf_token():
+def csrf_token(token_id='csrf_token'):
+
+ s=get_session()
+
+ if not 'csrf_token' in s:
+ s['csrf_token']=create_key_encrypt()
+ s.save()
+
+ return ''
+
+def generate_csrf():
s=get_session()
s['csrf_token']=create_key_encrypt()
s.save()
-
- return ''
+
+ return s['csrf_token']
def request_type():
diff --git a/paramecio/cromosoma/webmodel.py b/paramecio/cromosoma/webmodel.py
index a818bcb..892d33c 100644
--- a/paramecio/cromosoma/webmodel.py
+++ b/paramecio/cromosoma/webmodel.py
@@ -351,7 +351,7 @@ class WebModel:
self.fields[field_model.name].model=self
- #self.fields[field_model.name].required=required
+ self.fields[field_model.name].required=required
self.fields[field_model.name].post_register()
@@ -1120,6 +1120,23 @@ class WebModel:
error_txt="\n".join(arr_error)
return error_txt
+
+ def collect_errors(self):
+
+ arr_error= {}
+ error_txt=''
+
+ for field_error, k_error in self.fields_errors.items():
+
+ for error in k_error:
+ arr_error[field_error]=error
+ """
+ for type_error in self.errors.values():
+ for error in type_error:
+ arr_error[field_error]=error
+ """
+
+ return arr_error
def close(self):