diff --git a/cuchulu/libraries/generate_admin_class.py b/cuchulu/libraries/generate_admin_class.py index 05f9958..9df0cc8 100644 --- a/cuchulu/libraries/generate_admin_class.py +++ b/cuchulu/libraries/generate_admin_class.py @@ -186,24 +186,34 @@ class GenerateAdminClass: title_edit=_('Edit item') self.model.conditions=['WHERE `'+self.model.name+'`.`'+self.model.name_field_id+'`=%s', [getpostfiles.get['id']]] - if self.pre_update: - getpostfiles.post=self.pre_update(self, getpostfiles.post) + error_pre=False - if insert_row(getpostfiles.post): - set_flash_message(_('Task successful')) - - if self.post_update: - if getpostfiles.get['id']=='0': - getpostfiles.get['id']=self.model.insert_id() - self.post_update(self, getpostfiles.get['id']) - - redirect(self.url_redirect) + if self.pre_update: + (getpostfiles.post, error_pre)=self.pre_update(self, getpostfiles.post) + + if not error_pre: + + if insert_row(getpostfiles.post): + set_flash_message(_('Task successful')) + + if self.post_update: + if getpostfiles.get['id']=='0': + getpostfiles.get['id']=self.model.insert_id() + self.post_update(self, getpostfiles.get['id']) + + redirect(self.url_redirect) + else: + url_action=add_get_parameters(self.url, op_admin=2, id=getpostfiles.get['id']) + + 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'], url_action=url_action, enctype=self.model.enctype) + else: + url_action=add_get_parameters(self.url, op_admin=2, id=getpostfiles.get['id']) - + 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'], url_action=url_action, enctype=self.model.enctype) - pass diff --git a/cuchulu/libraries/lists.py b/cuchulu/libraries/lists.py index 612d5af..f06405f 100644 --- a/cuchulu/libraries/lists.py +++ b/cuchulu/libraries/lists.py @@ -445,7 +445,7 @@ class AjaxList(SimpleList): return {'fields': self.fields, 'rows': rows, 'html_pages': html_pages} -def simple_ajax_list(model, fields_searched, fields_selected, func_options=None): +def simple_ajax_list(model, fields_searched, fields_selected, func_options=None, num_elements=20): error=1 message='' @@ -467,7 +467,7 @@ def simple_ajax_list(model, fields_searched, fields_selected, func_options=None) except: - num_elements=20 + num_elements=num_elements arr_order=['ASC', 'DESC'] @@ -507,20 +507,17 @@ def simple_ajax_list(model, fields_searched, fields_selected, func_options=None) search_values=arr_values+search_values sql_search_text+=f' AND ({' OR '.join(arr_fields)})' - #print(order_field) - #print(search_values) - #print(sql_search_text) - #print({order_field: order}) - - with model.set_conditions(sql_search_text, search_values).set_order({order_field: order}).select(fields_selected, raw_query=True) as cursor: + with model.set_conditions(sql_search_text, search_values).set_order({order_field: order}).select(fields_selected) as cursor: for v in cursor: items.append(v) if func_options: - items[len(items)-1]['options']=func_options(v) + for k_f,func in func_options.items(): + + items[len(items)-1][k_f]=func(v) pass diff --git a/cuchulu/libraries/mtemplates.py b/cuchulu/libraries/mtemplates.py index ae37874..7b5e905 100644 --- a/cuchulu/libraries/mtemplates.py +++ b/cuchulu/libraries/mtemplates.py @@ -285,6 +285,13 @@ class PTemplate: self.filters[filter_name.__name__]=filter_name def set_flash_message(message): + """Function for save flash message in session + + A function for save flash message in a session for use in templates. + + Args: + message (str): The message to save. + """ s=get_session() @@ -294,6 +301,12 @@ def set_flash_message(message): def show_flash_message(): + """Function for get the message + + Function for get the message from session and clean the value from session. + + """ + s=get_session() message=s.get('flash', '') diff --git a/cuchulu/libraries/templates/forms/modelform.phtml b/cuchulu/libraries/templates/forms/modelform.phtml index 13fab51..57ba89c 100644 --- a/cuchulu/libraries/templates/forms/modelform.phtml +++ b/cuchulu/libraries/templates/forms/modelform.phtml @@ -5,14 +5,20 @@ %def> <%def name="help(help, name)"> % if help: - \ -
+ + + % endif +%def> +<%def name="help_tooltip(help, name)"> + % if help: + % endif %def>${form.form()|n} ${form.txt_error}
+ ${help_tooltip(form.help, form.name)} % else: ${form.form()|n} % endif diff --git a/cuchulu/modules/admin/media/js/jsutils b/cuchulu/modules/admin/media/js/jsutils index ff69d57..598d59c 160000 --- a/cuchulu/modules/admin/media/js/jsutils +++ b/cuchulu/modules/admin/media/js/jsutils @@ -1 +1 @@ -Subproject commit ff69d57ca5224ddf528ab283f4e628b296ea4886 +Subproject commit 598d59c129d15d9d5cde089078808931403cf460