]> git.decadent.org.uk Git - maypole.git/blobdiff - templates/factory/macros
applied patch for public buttons.
[maypole.git] / templates / factory / macros
index 06f57735b99709da092c3d9a411c4185574b6393..95dc9730e4a4b31f632f164a84c8a0d0a7d1ab8f 100644 (file)
@@ -13,7 +13,9 @@ catenating the base URL, table, command, and any arguments.
 #%]
 [%
 MACRO link(table, command, additional, label) BLOCK;
-    '<a href="' _ base _ "/" _ table _ "/" _ command _ "/" _ additional _ '">';
+    SET lnk = base _ "/" _ table _ "/" _ command _ "/" _ additional;
+    lnk = lnk | uri | html;
+    '<a href="' _ lnk _ '">';
     label;
     "</a>";
 END;
@@ -32,8 +34,8 @@ command for that object. Otherwise, it just displays the data.
 
 [%
 MACRO maybe_link_view(object) BLOCK;
-    IF object.table; # It's an object, i.e. a has-a
-        link(object.table, "view", object.id, object);
+    IF object.isa('Maypole::Model::Base');
+        link(object.table, "view", object.id.join('/'), object);
     ELSE;
         object;
     END;
@@ -52,7 +54,7 @@ for some.
 
 #%]
 [% MACRO display_line(item) BLOCK;
-    FOR col = classmetadata.columns;
+    FOR col = classmetadata.list_columns;
         NEXT IF col == "id";
         "<td>";
         IF col == "url" AND item.url;
@@ -64,7 +66,7 @@ for some.
         END;
         "</td>";
     END;
-    "<td>";
+    '<td class="actions">';
     button(item, "edit");
     button(item, "delete");
     "</td>";
@@ -79,8 +81,10 @@ This is a generic button, which performs an action on an object.
 
 #%]
 [% MACRO button(obj, action) BLOCK; %]
-<a class="action" href="[% base %]/[% obj.table %]/[% action %]/[% obj.id %]">
-    [% action %]</a>
+[% IF obj.is_public(action) %]
+<form class="actionform" action="[% base %]/[% obj.table %]/[% action %]/[% obj.id.join('/') %]" method="post">
+<div class="field"><input class="actionbutton" type="submit" value="[% action %]" /></div></form>
+[% END %]
 [% END %]
 [%#
 
@@ -97,7 +101,7 @@ brewery) calls the accesor, and displays a list of the results.
 [% 
 MACRO view_related(object) BLOCK;
     FOR accessor = classmetadata.related_accessors.list;
-        "<h3>"; accessor | ucfirst; "</h3>\n";
+        "<div id=\"subtitle\">"; accessor | ucfirst; "</div>\n";
         "<ul id=\"vlist\">";
         FOR thing = object.$accessor;
             "<li>"; maybe_link_view(thing); "</li>\n";