X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=templates%2Ffactory%2Flist;h=5a4388e749a360cca3ae0f79f21bddec67cf52b5;hb=3323461600041b1b4f420cb8487637067bc2a5fc;hp=99710287b2f626b838dbcf0c7af41a6fed36f56b;hpb=722950186d52d36e3a4e4df93f026183c7b5a602;p=maypole.git
diff --git a/templates/factory/list b/templates/factory/list
index 9971028..5a4388e 100644
--- a/templates/factory/list
+++ b/templates/factory/list
@@ -1,42 +1,58 @@
[% PROCESS macros %]
-
[% INCLUDE header %]
-
+[% INCLUDE title %]
[% IF search %]
-
Search results
+ Search results
[% ELSE %]
- Listing of all [% classmetadata.plural %]
+ Listing of all [% classmetadata.plural %]
[% END %]
-
[% INCLUDE navbar %]
- [% INCLUDE search_form %]
-
-
-
-
-[% FOR col = classmetadata.columns.list;
- NEXT IF col == "id";
- "";
- SET additional = "?order=" _ col;
- SET additional = additional _ "page=" _ pager.current_page _ "&" IF pager;
- SET additional = additional _ "&o2=desc"
- IF col == request.query.order and request.query.o2 != "desc";
- link(classmetadata.table, "list", additional, classmetadata.colnames.$col);
- " | ";
-END %]
-
-
-[% SET count = 0;
-FOR item = objects;
- SET count = count + 1;
- "";
- display_line(item);
- "
";
-END %]
-
+
+
+
+ [% FOR col = classmetadata.list_columns.list;
+ NEXT IF col == "id";
+ "";
+ SET additional = "?order=" _ col;
+ SET additional = additional _ "&page=" _ pager.current_page
+ IF pager;
+ SET additional = additional _ "&o2=desc"
+ IF col == request.params.order and request.params.o2 != "desc";
+ SET action = "list";
+ FOR name = classmetadata.columns.list;
+ IF request.query.$name;
+ SET additional =
+ additional _ "&" _ name _ "=" _
+ request.params.$name;
+ SET action = "search";
+ END;
+ END;
+ link(classmetadata.table, action, additional,
+ classmetadata.colnames.$col);
+ IF col == request.params.order;
+ IF request.params.o2 != "desc";
+ "↓";
+ ELSE;
+ "↑";
+ END;
+ END;
+ " | ";
+ END %]
+ Actions |
+
+ [% SET count = 0;
+ FOR item = objects;
+ SET count = count + 1;
+ "";
+ display_line(item);
+ "
";
+ END %]
+
-[% INCLUDE pager; %]
-[% INCLUDE addnew; %]
-
+[% INCLUDE pager %]
+[% INCLUDE addnew %]
+[% INCLUDE search_form %]
+
+[% INCLUDE footer %]