]> git.decadent.org.uk Git - maypole.git/blob - templates/factory/list
ordering goodness for search results
[maypole.git] / templates / factory / list
1 [% PROCESS macros %]
2 [% INCLUDE header %]
3 [% INCLUDE title %]
4 [% IF search %]
5     <div id="title">Search results</div>
6 [% ELSE %]
7     <div id="title">Listing of all [% classmetadata.plural %]</div>
8 [% END %]
9 [% INCLUDE navbar %]
10 <div class="list">
11     <table id="matrix" width="100%" >
12         <tr>
13             [% FOR col = classmetadata.list_columns.list;
14                 NEXT IF col == "id";
15                 "<th>"; 
16                 SET additional = "?order=" _ col;
17                 SET additional = additional _ "&amp;page=" _ pager.current_page
18                     IF pager;
19                 SET additional = additional _ "&amp;o2=desc" 
20                 IF col == request.query.order and request.query.o2 != "desc";
21                 SET action = "list";
22                 FOR col = classmetadata.columns.list;
23                   IF request.query.$col;
24                     SET additional =
25                         additional  _ "&" _ col _ "=" _ request.query.$col;
26                     SET action = "search";
27                   END;
28                 END;
29                 link(classmetadata.table, action, additional,
30                     classmetadata.colnames.$col);
31                 IF col == request.query.order;
32                     IF request.query.o2 != "desc";
33                         "&darr;";
34                     ELSE;
35                         "&uarr;";
36                     END;
37                 END;
38                 "</th>";
39             END %]
40             <th id="actionth">Actions</th>
41         </tr>
42         [%  SET count = 0;
43         FOR item = objects;
44             SET count = count + 1;
45             "<tr";
46             ' class="alternate"' IF count % 2;
47             ">";
48             display_line(item);
49             "</tr>";
50         END %]
51     </table>
52
53 [% INCLUDE pager %]
54 [% INCLUDE addnew %]
55 [% INCLUDE search_form %]
56 </div>
57 [% INCLUDE footer %]