1[% MACRO form_add_column_input(do_action, column, column_moniker, control_type)  BLOCK; %]
2        <label>
3
4        [% form_field_item(column, column_moniker, ['list'], 'input_field') %]
5        [% element = c.view("TT").element_req(c, do_action, column, control_type); %]
6        [% element.as_HTML('<>&"\'') %]
7
8        [% IF c.form.missing(column); %]
9            <span class="error_text">[% c.form.msgs.$column || 'Missing'; %]</span>
10        [% ELSIF c.form.invalid(column); %]
11            <span class="error_text">[% c.form.msgs.$column || 'Invalid'; %]</span>
12        [% END; %]
13	    </label>
14
15[% END; %]
16
17
18
19[% MACRO form_edit_column_input(do_action, column, column_moniker)  BLOCK; %]
20        <label>
21
22        [% form_field_item(column, column_moniker, ['list'], 'input_field') %]
23
24        [%
25        IF c.action.name == do_action;       #invalid, redisplay req
26            element = c.view("TT").element_req(c, do_action, column);
27        ELSE;                                #display item
28            element = item.to_field(column);
29        END;
30        %]
31        [% element.as_HTML('<>&"\'') %]
32
33        [% IF c.form.missing(column); %]
34            <span class="error_text">[% c.form.msgs.$column || 'Missing'; %]</span>
35        [% ELSIF c.form.invalid(column); %]
36            <span class="error_text">[% c.form.msgs.$column || 'Invalid'; %]</span>
37        [% END; %]
38        </label>
39
40[% END; %]
41
42
43
44[% MACRO form_field_item(column, column_moniker, link_params, span_class)  BLOCK; %]
45        [% namespace = crud.model.namespace_of_column_has_a(c, column); %]
46        [% IF span_class %]<span class="[% span_class %]">[% END %]
47        [% IF namespace; %]
48            <a href="[% uri_for_list(namespace, link_params) %]">[% column_moniker | html %]</a>
49        [% ELSE; %]
50            [% column_moniker | html %]
51        [% END %]
52        [% IF span_class %]</span>[% END %]
53[% END; %]
54