diff --git a/paramecio/citoplasma/generate_admin_class.py b/paramecio/citoplasma/generate_admin_class.py index caede7f..31e06ee 100644 --- a/paramecio/citoplasma/generate_admin_class.py +++ b/paramecio/citoplasma/generate_admin_class.py @@ -74,9 +74,12 @@ class GenerateAdminClass: title_edit=I18n.lang('common', 'add_new_item', 'Add new item') + pass_value=False + if getpostfiles.get['id']!='0': post=self.model.select_a_row(getpostfiles.get['id'], [], True) title_edit=I18n.lang('common', 'edit_new_item', 'Edit item') + pass_value=True if post==None or post==False: @@ -87,7 +90,7 @@ class GenerateAdminClass: url_action=add_get_parameters(self.url, op_admin=2, id=getpostfiles.get['id']) - form=show_form(post, edit_forms, self.t, False) + form=show_form(post, edit_forms, self.t, False, pass_value) 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) diff --git a/paramecio/cromosoma/formsutils.py b/paramecio/cromosoma/formsutils.py index 43d0a62..0968db7 100644 --- a/paramecio/cromosoma/formsutils.py +++ b/paramecio/cromosoma/formsutils.py @@ -9,14 +9,22 @@ from bottle import request # Need unittest -def pass_values_to_form(post, arr_form, yes_error=True): +def pass_values_to_form(post, arr_form, yes_error=True, pass_values=True): + if pass_values: + def get_value(key): + return post[key] + + else: + def get_value(key): + return arr_form[key].default_value + for key, value in arr_form.items(): post[key]=post.get(key, '') #if arr_form[key].default_value=='': - arr_form[key].default_value=post[key] + arr_form[key].default_value=get_value(key) if arr_form[key].field==None: arr_form[key].field=corefields.CharField(key, 255, required=False) @@ -66,7 +74,7 @@ def show_form(post, arr_form, t, yes_error=True, pass_values=True, modelform_tpl generate_csrf() if pass_values==True: - pass_values_to_form(post, arr_form, yes_error) + pass_values_to_form(post, arr_form, yes_error, pass_values) return t.load_template(modelform_tpl, forms=arr_form)