X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ex%2Ffancy_example%2Ftemplates%2Fcustom%2Fdisplay_search_inputs;fp=ex%2Ffancy_example%2Ftemplates%2Fcustom%2Fdisplay_search_inputs;h=ee1d586acfb26e83a95952d5441904c729efd312;hb=7bb021648c28d2f70ec2853f0d01dd49c6437460;hp=0000000000000000000000000000000000000000;hpb=c3973978e1373a262d13da63c9e9ecfde4b72cc7;p=maypole.git
diff --git a/ex/fancy_example/templates/custom/display_search_inputs b/ex/fancy_example/templates/custom/display_search_inputs
new file mode 100644
index 0000000..ee1d586
--- /dev/null
+++ b/ex/fancy_example/templates/custom/display_search_inputs
@@ -0,0 +1,62 @@
+[%#
+
+=head1 display_search_inputs
+
+This displays inputs for search page. Override in individual class template
+directories as needed.
+
+Vars it needs:
+classmetadata-- the hash of inputs keyed on column names
+errors -- hash of errors keyed on columns
+=cut
+
+#%]
+
+[% IF errors.FATAL; "FATAL ERROR: "; errors.FATAL; " "; END %]
+
+[% USE this = Class(classmetadata.name);
+ SET srch_fields = classmetadata.search_columns ||
+ classmetadata.columns;
+ SET cgi = classmetadata.cgi;
+ SET delimiter = this.foreign_input_delimiter;
+ FOR field IN srch_fields;
+ # Recursivly call this tmeplate if we have foreign field
+ # (hash of foreign inputs should come with it)
+ IF ( cgi.$field.keys );
+ fclass = this.related_class(request, field);
+ fclass_meta = this.get_classmetadata(fclass);
+ fclass_meta.cgi = cgi.$field;
+ tbl = fclass_meta.table;
+ INCLUDE display_search_inputs
+ col_prefix = col _ delimiter _ col_prefix
+ classmetadata = fclass_meta;
+ NEXT;
+ END;
+
+ NEXT IF field == 'id' OR field == classmetadata.table _ 'id';
+ SET element = cgi.$field;
+%]
+
+
+[% END; %]
+
+