X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=templates%2Ffactory%2Fmacros;h=95dc9730e4a4b31f632f164a84c8a0d0a7d1ab8f;hb=abd21e88bc4d622a7c43c6d04db28be75a4e7c5b;hp=06f57735b99709da092c3d9a411c4185574b6393;hpb=4c0d8f0266ab4acd371955c3bf3cdc9c080ea1c9;p=maypole.git diff --git a/templates/factory/macros b/templates/factory/macros index 06f5773..95dc973 100644 --- a/templates/factory/macros +++ b/templates/factory/macros @@ -13,7 +13,9 @@ catenating the base URL, table, command, and any arguments. #%] [% MACRO link(table, command, additional, label) BLOCK; - ''; + SET lnk = base _ "/" _ table _ "/" _ command _ "/" _ additional; + lnk = lnk | uri | html; + ''; label; ""; 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"; ""; IF col == "url" AND item.url; @@ -64,7 +66,7 @@ for some. END; ""; END; - ""; + ''; button(item, "edit"); button(item, "delete"); ""; @@ -79,8 +81,10 @@ This is a generic button, which performs an action on an object. #%] [% MACRO button(obj, action) BLOCK; %] - - [% action %] +[% IF obj.is_public(action) %] +
+
+[% 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; - "

"; accessor | ucfirst; "

\n"; + "
"; accessor | ucfirst; "
\n"; "