X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=templates%2Ffactory%2Fmacros;h=357c32981ec708da0829db2b4de4e3c58d134d9e;hb=5d49648fd96492e31cf7c6df507ae42e9cd1e42d;hp=e142916d6dd304aa7af9c3d4e42194375f16c798;hpb=f7e68bd92b9b43454454f9715406b7e0f9b956e1;p=maypole.git diff --git a/templates/factory/macros b/templates/factory/macros index e142916..357c329 100644 --- a/templates/factory/macros +++ b/templates/factory/macros @@ -13,9 +13,11 @@ 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; %] @@ -31,10 +33,9 @@ command for that object. Otherwise, it just displays the data. #%] [% - MACRO maybe_link_view(object) BLOCK; - IF object.moniker; # It's an object, i.e. a has-a - link(object.moniker, "view", object.id, object); + IF object.table; # It's an object, i.e. a has-a + link(object.table, "view", object.id, object); ELSE; object; END; @@ -53,20 +54,22 @@ for some. #%] [% MACRO display_line(item) BLOCK; - FOR col = classmetadata.columns; + FOR col = classmetadata.list_columns; NEXT IF col == "id"; ""; - IF col == "url"; - " "; item.url; ""; + IF col == "url" AND item.url; + ' '; item.url; ''; ELSIF col == item.stringify_column; maybe_link_view(item); ELSE; maybe_link_view(item.$col); END; ""; - END; + END; + ''; button(item, "edit"); button(item, "delete"); + ""; END %] [%# @@ -78,11 +81,8 @@ This is a generic button, which performs an action on an object. #%] [% MACRO button(obj, action) BLOCK; %] - -
- -
- +
+
[% END %] [%# @@ -99,12 +99,12 @@ 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"; - ""; END; END;