[% IF helper.dt_columns; helper.column_titles = []; helper.column_fields = []; helper.column_sortable_map = {}; helper.custom_renderers = {}; FOR col IN helper.dt_columns; IF !col.accessor; col.accessor = col.name; col.accessor = col.accessor.replace('\.','_'); END; NEXT UNLESS col.title; helper.column_titles.push(col.title); helper.column_fields.push(col.accessor); helper.column_sortable_map.${col.accessor} = (col.sortable.defined ? col.sortable : 1); IF col.custom_renderer.defined; helper.custom_renderers.${col.accessor} = col.custom_renderer; END; END; END; backuri = c.req.uri; tmp = backuri.query_param_delete('back'); # create unique identifier helper.id_from_name = helper.identifier || helper.name.remove('[\s+\.#]'); helper.identifier = 0; # make sure we don't use the same identifier twice -%] [% IF (!back_created) || helper.top_buttons.size -%]
[% UNLESS back_created -%] [% c.loc("Back") %] [% back_created = 1 -%] [% END -%] [% FOR button IN helper.top_buttons -%] [% IF button.method == "post" -%]
[% ELSE -%] [% IF button.accordion_button == 1 && loop.count == 1 -%] [% button.name %] [% ELSE -%] [% button.name %] [% END -%] [% END -%] [% END -%]
[% END -%] [% IF helper.messages -%]
[% FOREACH m IN helper.messages -%]
[% m.text %]
[% END -%]
[% END -%]
[% FOREACH t IN helper.column_titles -%] [% END -%] [% # one for actions -%] [% IF helper.show_footer -%] [% FOREACH f IN helper.column_fields -%] [% END -%] [% END -%]
[% t %]
[% c.loc('Loading...') %]
[% IF helper.edit_flag || helper.create_flag == 1 -%] [% IF helper.form_object.has_for_js; helper.form_object.render_repeatable_js; END; PROCESS "helpers/modal.tt"; modal_header(m.create_flag=helper.create_flag, m.duplicate_flag=helper.duplicate_flag, m.edit_flag=helper.edit_flag, m.name = helper.name); helper.form_object = translate_form( helper.form_object ); helper.form_object.render; modal_footer(); modal_script(m.close_target = helper.close_target); -%] [% END -%] [% # cleanup helper.show_footer = 0; -%] [% # vim: set tabstop=4 syntax=html expandtab: -%]