3 =head1 display_search_inputs
5 This displays inputs for search page. Override in individual class template
9 classmetadata-- the hash of inputs keyed on column names
10 errors -- hash of errors keyed on columns
15 [% IF errors.FATAL; "FATAL ERROR: "; errors.FATAL; "<br>"; END %]
17 [% USE this = Class(classmetadata.name);
18 SET srch_fields = classmetadata.search_columns ||
19 classmetadata.columns;
20 SET cgi = classmetadata.cgi;
21 SET delimiter = this.foreign_input_delimiter;
22 FOR field IN srch_fields;
24 # Recursivly call this tmeplate if we have foreign field
25 # (hash of foreign inputs should come with it)
26 IF ( cgi.$field.keys );
27 fclass = this.related_class(request, field);
28 fclass_meta = this.get_classmetadata(fclass);
29 fclass_meta.cgi = cgi.$field;
30 tbl = fclass_meta.table;
31 INCLUDE display_search_inputs
32 col_prefix = col _ delimiter _ col_prefix
33 classmetadata = fclass_meta;
37 NEXT IF field == 'id' OR field == classmetadata.table _ 'id';
38 SET element = cgi.$field;
44 classmetadata.colnames.$field || field | ucfirst | replace('_',' '); %]
46 [% IF element.tag == "select";
47 # set the previous value
48 IF cgi_params.exists(field);
49 set_selected(element, cgi_params.$field);
53 IF element.tag == "input"; # wipe out any default value
54 old_val = element.attr('value', '');