[% MACRO maybe_link_view(object) BLOCK;
IF object.moniker; # It's an object, i.e. a has-a
"";
object;
"";
ELSE;
object;
END;
END;
%]
[% MACRO display_line(item) BLOCK;
FOR col = classmetadata.columns;
NEXT IF col == "id";
"
";
IF col == "url"; # Possibly too much magic.
" "; item.url; "";
ELSIF col == "name";
maybe_link_view(item);
ELSE;
maybe_link_view(item.$col);
END;
" | ";
END;
button(item, "edit");
button(item, "delete");
END %]
[% MACRO button(obj, action) BLOCK; %]
|
[% END %]
[% MACRO view_related(object) BLOCK;
FOR accessor = classmetadata.related_accessors.list;
""; accessor | ucfirst; "
\n";
"";
FOR thing = object.$accessor;
"- "; maybe_link_view(thing); "
\n";
END;
"
";
END;
END;
%]