X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2Ftemplates%2Ffactory%2Fmacros;h=53f6952dcc82809f33fedab92425d7cfd319e5b7;hb=446373ada20165687d0c3b03a2ee18c08831be02;hp=59d6c925358a9cfa57a27f981a21ed927ab4f339;hpb=48c86c6ba8c5db11ea6906e3237db1322f8dc5e0;p=maypole.git diff --git a/lib/Maypole/templates/factory/macros b/lib/Maypole/templates/factory/macros index 59d6c92..53f6952 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; %] @@ -55,16 +55,21 @@ for some. #%] [% MACRO display_line(item) BLOCK; FOR col = classmetadata.list_columns; - NEXT IF col == "id"; + NEXT IF col == "id" OR col == classmetadata.table _ "_id"; + col_obj = item.find_column(col); ""; IF col == "url" AND item.url; - ' '; item.url; ''; + ' '; item.url; ''; ELSIF col == classmetadata.stringify_column; maybe_link_view(item); - ELSE; - accessor = item.accessor_name(col); + ELSIF col_obj; # its a real column + accessor = item.accessor_name_for(col_obj) || + item.accessor_name(col_obj); # deprecated in cdbi maybe_link_view(item.$accessor); + ELSE; + item.$col; END; + ""; END; ''; @@ -128,16 +133,16 @@ This takes an object and and displays its properties in a table. #%] [% MACRO view_item(item) BLOCK; %] - [% SET string = classmetadata.stringifycolumn %] -
[% item.$string %]
+ [% SET string = classmetadata.stringify_column %] +
[% item.$string | html %]
[% INCLUDE navbar %] - + [% FOR col = classmetadata.columns.list; - NEXT IF col == "id" OR col == string; + NEXT IF col == "id" OR col == string OR col == classmetadata.table _ "_id";; NEXT UNLESS item.$col; %] [%# @@ -152,7 +157,7 @@ from the C method:
[% classmetadata.colnames.$string %][% item.$string %][% item.$string | html %]
[% classmetadata.colnames.$col; %] [% IF col == "url" && item.url; # Possibly too much magic. - ' '; item.url; ''; + ' '; item.url; ''; ELSE; maybe_link_view(item.$col); END; %]