X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=inline;f=lib%2FMaypole%2Ftemplates%2Ffactory%2Fmacros;h=ce9d0e1d3e837944885b63541dc829d834b1c676;hb=15ccc6266852d11e4e4aa10c67b15c70fe9470fb;hp=a102c736a523dd78677661140fec7d0400892ca3;hpb=4a5cef989c825acf0eb66ba6e567fdd8d47c4da4;p=maypole.git diff --git a/lib/Maypole/templates/factory/macros b/lib/Maypole/templates/factory/macros index a102c73..ce9d0e1 100644 --- a/lib/Maypole/templates/factory/macros +++ b/lib/Maypole/templates/factory/macros @@ -16,7 +16,7 @@ MACRO link(table, command, additional, label) BLOCK; SET lnk = base _ "/" _ table _ "/" _ command _ "/" _ additional; lnk = lnk | uri | html; ''; - label; + label | html; ""; END; %] @@ -37,7 +37,7 @@ MACRO maybe_link_view(object) BLOCK; IF object.isa('Maypole::Model::Base'); link(object.table, "view", object.id.join('/'), object); ELSE; - object; + object | html ; END; END; %] @@ -56,15 +56,19 @@ for some. [% MACRO display_line(item) BLOCK; FOR col = classmetadata.list_columns; NEXT IF col == "id" OR col == classmetadata.table _ "_id"; + col_obj = item.find_column(col); "
[% classmetadata.colnames.$string %] | -[% item.$string %] | +[% classmetadata.colnames.$string %] | +[% item.$string | html %] |
[% classmetadata.colnames.$col; %] | +[% classmetadata.colnames.$col || + col | ucfirst | replace('_',' '); %] | [% IF col == "url" && item.url; # Possibly too much magic. - ' '; item.url; ''; + ' '; item.url; ''; + ELSIF item.$col.size > 1; # has_many column + FOR thing IN item.$col; + maybe_link_view(thing);", "; + END; + ELSE; + maybe_link_view(item.$col); END; %] [%# |