]> git.decadent.org.uk Git - maypole.git/commitdiff
Split the meat of the view template off to a view_item macro.
authorDagfinn Ilmari Mannsåker <ilmari+cpan@ilmari.org>
Wed, 8 Dec 2004 19:55:49 +0000 (19:55 +0000)
committerDagfinn Ilmari Mannsåker <ilmari+cpan@ilmari.org>
Wed, 8 Dec 2004 19:55:49 +0000 (19:55 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@307 48953598-375a-da11-a14b-00016c27c3ee

Changes
templates/factory/macros
templates/factory/view

diff --git a/Changes b/Changes
index d56550bd766591562929afb17cd4f9b2202c5650..3f4cbd9c817628e8fca5615959e8537d0df7dccc 100644 (file)
--- a/Changes
+++ b/Changes
@@ -15,6 +15,7 @@ Revision history for Perl extension Maypole
     - Only show buttons for public actions.
       (Dagfinn Ilmari Mannsåker)
     - Added support for extra_headers
+    - Split the meat of the view template off to a view_item macro.
 
 
 2.04  Tue Oct 27 14:00:00 2004
index 367d74faaeaea8e69bfcab9163754694e03c01f1..afa2a74952c39db5f997f4d82d1278d3b2377021 100644 (file)
@@ -117,3 +117,57 @@ MACRO test_xxxx(myblock) BLOCK;
     END;
 END;
 %]
+[%#
+
+=head2 view_item
+
+This takes an object and and displays its properties in a table. 
+
+=cut
+
+#%]
+[% MACRO view_item(item) BLOCK; %]
+    [% SET string = item.stringify_column %]
+    <div id="title"> [% item.$string %]</div>
+    [% INCLUDE navbar %]
+    <table class="view">
+        <tr>
+            <td class="field">[% classmetadata.colnames.$string %]</td>
+            <td>[% item.$string %]</td>
+        </tr>
+        [% FOR col = classmetadata.columns.list;
+            NEXT IF col == "id" OR col == string;
+            NEXT UNLESS item.$col;
+        %]
+[%# 
+
+=for doc
+
+It gets the displayable form of a column's name from the hash returned
+from the C<column_names> method:
+
+#%]
+            <tr>
+                <td class="field">[% classmetadata.colnames.$col; %]</td>
+                <td>
+                    [% IF col == "url" && item.url;  # Possibly too much magic.
+                        '<a href="'; item.url; '"> '; item.url; '</a>';
+                    ELSE;
+                        maybe_link_view(item.$col); 
+                    END; %]
+[%#
+
+This tests whether or not the returned value is an object, and if so,
+creates a link to a page viewing that object; if not, it just displays
+the text as normal. The object is linked using its stringified name;
+by default this calls the C<name> method, or returns the object's ID
+if there is no C<name> method or other stringification method defined.
+
+=cut
+
+#%] 
+                </td>
+            </tr>
+        [% END; %]
+    </table>
+[% END %]
index 19117b5e060836a5884b4e2977af5d4f72cdf653..328678c73d98c86d84d5be888540b756e4881c25 100644 (file)
@@ -11,49 +11,7 @@ C<objects> and displays the object's properties in a table.
 [% PROCESS macros %]
 [% INCLUDE header %]
 [% FOR item = objects %]
-    [% SET string = item.stringify_column %]
-    <div id="title"> [% item.$string %]</div>
-    [% INCLUDE navbar %]
-    <table class="view">
-        <tr>
-            <td class="field">[% classmetadata.colnames.$string %]</td>
-            <td>[% item.$string %]</td>
-        </tr>
-        [% FOR col = classmetadata.columns.list;
-            NEXT IF col == "id" OR col == string;
-            NEXT UNLESS item.$col;
-        %]
-[%# 
-
-=for doc
-
-It gets the displayable form of a column's name from the hash returned
-from the C<column_names> method:
-
-#%]
-            <tr>
-                <td class="field">[% classmetadata.colnames.$col; %]</td>
-                <td>
-                    [% IF col == "url" && item.url;  # Possibly too much magic.
-                        '<a href="'; item.url; '"> '; item.url; '</a>';
-                    ELSE;
-                        maybe_link_view(item.$col); 
-                    END; %]
-[%#
-
-This tests whether or not the returned value is an object, and if so,
-creates a link to a page viewing that object; if not, it just displays
-the text as normal. The object is linked using its stringified name;
-by default this calls the C<name> method, or returns the object's ID
-if there is no C<name> method or other stringification method defined.
-
-=cut
-
-#%] 
-                </td>
-            </tr>
-        [% END; %]
-    </table>
+[% view_item(item); %]
 [%#
 
 =for doc