From e218f4a4e7d07a0914ca639773b8e8e61241c34f Mon Sep 17 00:00:00 2001
From: Antonio de la Rosa
Date: Sat, 29 Apr 2017 06:04:19 +0200
Subject: [PATCH] Fixes for i18nfield
---
paramecio/citoplasma/generate_admin_class.py | 80 ++++++++++++++++++-
paramecio/citoplasma/mtemplates.py | 2 +-
.../citoplasma/templates/forms/i18nform.phtml | 67 ++++++++++++++--
.../templates/utils/insertform.phtml | 2 +-
paramecio/cromosoma/coreforms.py | 4 +-
paramecio/cromosoma/extrafields/i18nfield.py | 40 ++++++----
.../modules/admin/templates/admin/home.html | 2 +
paramecio/modules/javascript/__init__.py | 0
paramecio/modules/javascript/load_js.py | 38 +++++++++
9 files changed, 207 insertions(+), 28 deletions(-)
create mode 100644 paramecio/modules/javascript/__init__.py
create mode 100644 paramecio/modules/javascript/load_js.py
diff --git a/paramecio/citoplasma/generate_admin_class.py b/paramecio/citoplasma/generate_admin_class.py
index 3ab8804..32da437 100644
--- a/paramecio/citoplasma/generate_admin_class.py
+++ b/paramecio/citoplasma/generate_admin_class.py
@@ -83,9 +83,11 @@ class GenerateAdminClass:
else:
return ""
+ url_action=add_get_parameters(self.url, op_admin=2, id=getpostfiles.get['id'])
+
form=show_form(post, edit_forms, self.t, False)
- return self.t.render_template(self.template_insert, admin=self, title_edit=title_edit, form=form, model=self.model, id=getpostfiles.get['id'])
+ return self.t.render_template(self.template_insert, admin=self, title_edit=title_edit, form=form, model=self.model, id=getpostfiles.get['id'], url_action=url_action)
elif getpostfiles.get['op_admin']=='2':
@@ -118,7 +120,7 @@ class GenerateAdminClass:
redirect(self.url)
else:
form=show_form(getpostfiles.post, edit_forms, self.t, True)
- return self.t.render_template(self.template_insert, admin=self, title_edit=title_edit, form=form, model=self.model, id=getpostfiles.get['id'])
+ return self.t.render_template(self.template_insert, admin=self, title_edit=title_edit, form=form, model=self.model, id=getpostfiles.get['id'], url_action=url_action)
pass
@@ -165,3 +167,77 @@ class GenerateAdminClass:
return self.t.render_template(self.template_insert, admin=self, title_edit=title_edit, form=form, model=self.model, id=object_id)
"""
+
+class GenerateConfigClass:
+
+ def __init__(self, model, url, t):
+
+ self.model_name=''
+
+ self.model=model
+
+ self.title_name=model.label
+
+ self.t=t
+
+ self.url=url
+
+ self.arr_fields_edit=list(model.fields.keys())
+
+ del self.arr_fields_edit[self.arr_fields_edit.index(model.name_field_id)]
+
+ self.template_insert='utils/insertform.phtml'
+
+ def show(self):
+
+ getpostfiles=GetPostFiles()
+
+ getpostfiles.obtain_query()
+
+ getpostfiles.query['op_config']=getpostfiles.query.get('op_config', '0')
+
+ if len(self.model.forms)==0:
+
+ self.model.create_forms()
+
+ title_edit=I18n.lang('common', 'edit', 'Edit')+' '+self.title_name
+
+ edit_forms=OrderedDict()
+
+ form_values={}
+
+ for key_form in self.arr_fields_edit:
+ edit_forms[key_form]=self.model.forms[key_form]
+
+ url_action=add_get_parameters(self.url, op_config=1)
+
+ if getpostfiles.query['op_config']=='1':
+
+ getpostfiles.obtain_post()
+
+ c=self.model.select_count()
+
+ insert_model=self.model.insert
+
+ if c:
+ insert_model=self.model.update
+
+ if insert_model(getpostfiles.post):
+ set_flash_message(I18n.lang('common', 'task_successful', 'Task successful'))
+ redirect(self.url)
+ else:
+
+ form=show_form(getpostfiles.post, edit_forms, self.t, True)
+
+ return self.t.render_template(self.template_insert, admin=self, title_edit=title_edit, form=form, model=self.model, id='0', url_action=url_action)
+
+ else:
+ form_values=self.model.select_a_row_where()
+
+ if not form_values:
+ form_values={}
+
+ form=show_form(form_values, edit_forms, self.t, True)
+
+ return self.t.render_template(self.template_insert, admin=self, title_edit=title_edit, form=form, model=self.model, id=0, url_action=url_action)
+
diff --git a/paramecio/citoplasma/mtemplates.py b/paramecio/citoplasma/mtemplates.py
index dba4e24..4d30b0a 100644
--- a/paramecio/citoplasma/mtemplates.py
+++ b/paramecio/citoplasma/mtemplates.py
@@ -90,7 +90,7 @@ class PTemplate:
module=path.dirname(module)
"""
- self.autoescape_ext=('html', 'htm', 'xml', 'phtml')
+ self.autoescape_ext=('html', 'htm', 'xml', 'phtml', 'pjs')
"""
self.cache_enabled=cache_enabled
diff --git a/paramecio/citoplasma/templates/forms/i18nform.phtml b/paramecio/citoplasma/templates/forms/i18nform.phtml
index fd8c489..2ad1dbc 100644
--- a/paramecio/citoplasma/templates/forms/i18nform.phtml
+++ b/paramecio/citoplasma/templates/forms/i18nform.phtml
@@ -1,22 +1,73 @@
${add_js_home_local('tools.js', 'admin')}
+<%
+
+choose=''
+
+%>
\ No newline at end of file
+
+
diff --git a/paramecio/citoplasma/templates/utils/insertform.phtml b/paramecio/citoplasma/templates/utils/insertform.phtml
index 5aa6260..28f4f62 100644
--- a/paramecio/citoplasma/templates/utils/insertform.phtml
+++ b/paramecio/citoplasma/templates/utils/insertform.phtml
@@ -5,7 +5,7 @@
${title_edit} \
%endif
-