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;
23 # Recursivly call this tmeplate if we have foreign field
24 # (hash of foreign inputs should come with it)
25 IF ( cgi.$field.keys );
26 fclass = this.related_class(request, field);
27 fclass_meta = this.get_classmetadata(fclass);
28 fclass_meta.cgi = cgi.$field;
29 tbl = fclass_meta.table;
30 INCLUDE display_search_inputs
31 col_prefix = col _ delimiter _ col_prefix
32 classmetadata = fclass_meta;
36 NEXT IF field == 'id' OR field == classmetadata.table _ 'id';
37 SET element = cgi.$field;
43 classmetadata.colnames.$field || field | ucfirst | replace('_',' '); %]
45 [% IF element.tag == "select";
46 # set the previous value
47 IF cgi_params.exists(field);
48 set_selected(element, cgi_params.$field);
52 IF element.tag == "input"; # wipe out any default value
53 old_val = element.attr('value', '');