[%- pubdate_filters = ['date1', 'before', 'after', 'between']; FOR filter IN ctx.query_struct.filters; fname = filter.name; fvalues = filter.args; crad = ctx.get_crad(fname); # will be some special ones, like locations IF crad AND NOT pubdate_filters.grep('^' _ filter.name _ '$').size; remove_filter = 'fi:' _ fname; -%]

[% IF filter.negate; l('Not'); END %] [% (crad.description || crad.label) | html %]

[% temp = []; FOR fval IN fvalues; thing = ctx.search_ccvm('ctype',fname,'code',fval).0; display_value = thing.search_label || thing.value; IF display_value.defined; temp.push(display_value); END; END; FOR display_value IN temp.sort; %] [% display_value | html %] [% UNLESS loop.last %] [% l('OR') %] [% END %] [% END; # FOR %]
×
[%- END; # IF crad -%] [%- IF filter.name == 'locations'; locs = ctx.search_acpl('id',filter.args) -%]

[% IF filter.negate; l('Not'); END %] [% l('Locations') %]

[% temp = []; FOR loc IN locs; temp.push(loc.name); END; FOR display_name IN temp.sort; %] [% display_name | html%] [% END; # FOR %] ×
[%- END; # IF locations -%] [%- IF pubdate_filters.grep('^' _ filter.name _ '$').size; date1 = CGI.param('date1') | html; date2 = CGI.param('date2') | html; -%]

[% IF filter.negate; l('Not'); END %] [% l('Publication Year') %]

[% IF filter.name == 'date1' %][% l('[_1]', date1) %] [% ELSIF filter.name == 'before' %][% l('Before [_1]', date1) %] [% ELSIF filter.name == 'after' %][% l('After [_1]', date1) %] [% ELSIF filter.name == 'between' %][% l('Between [_1] and [_2]', date1, date2) %] [% END %] ×
[%- END; # IF pubdate_filters -%] [%- END; # FOR -%]