]> git.decadent.org.uk Git - maypole.git/blob - templates/factory/list
fixed ordering
[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 title = classmetadata.colnames.$col;
17                 SET additional = "?order=" _ col;
18                 SET additional = additional _ "&amp;page=" _ pager.current_page
19                     IF pager;
20                 SET additional = additional _ "&amp;o2=desc" 
21                 IF col == request.query.order and request.query.o2 != "desc";
22                 SET action = "list";
23                 FOR col = classmetadata.columns.list;
24                   IF request.query.$col;
25                     SET additional =
26                         additional  _ "&" _ col _ "=" _ request.query.$col;
27                     SET action = "search";
28                   END;
29                 END;
30                 link(classmetadata.table, action, additional, title);
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 %]