]> git.decadent.org.uk Git - maypole.git/commitdiff
Templates should be valid XHTML now...
authorSebastian Riedel <sri@labs.kraih.com>
Wed, 15 Sep 2004 16:46:58 +0000 (16:46 +0000)
committerSebastian Riedel <sri@labs.kraih.com>
Wed, 15 Sep 2004 16:46:58 +0000 (16:46 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@176 48953598-375a-da11-a14b-00016c27c3ee

templates/factory/addnew
templates/factory/edit
templates/factory/footer
templates/factory/frontpage
templates/factory/header
templates/factory/list
templates/factory/macros
templates/factory/navbar
templates/factory/pager
templates/factory/search_form
templates/factory/view

index cdf21a67a994452f08705c8839752af40a1039ec..f56fcf4e25cc2441ae2aeaf536cb8db35795307e 100644 (file)
@@ -10,16 +10,17 @@ table.
 =cut
 
 #%]
-<h3>Add a new [%classmetadata.moniker%]</h3>
-<FORM METHOD="post" ACTION="[%base%]/[%classmetadata.table%]/do_edit/">
-    <INPUT TYPE="hidden" NAME="action" VALUE="create">
-    <TABLE class="view">
-     [% FOR col = classmetadata.columns;
-        NEXT IF col == "id";
-     %]
-     <TR> <TD class="field"> [% classmetadata.colnames.$col; %] </TD>
-     <TD> [% classmetadata.cgi.$col.as_HTML; %] </TD> </TR>
+<h3>Add a new [% classmetadata.moniker %]</h3>
+<form method=post action="[% base %]/[% classmetadata.table %]/do_edit/">
+    <input type=hidden name=action value=create />
+    <table class=view>
+    [% FOR col = classmetadata.columns %]
+        [% NEXT IF col == "id" %]
+        <tr>
+            <td>[% classmetadata.colnames.$col %]</td>
+            <td>[% classmetadata.cgi.$col.as_HTML; %]</td>
+        </tr>
     [% END; %]
-    </TABLE>
-    <INPUT TYPE="submit" NAME="create" VALUE="create">
-</FORM>
+    </table>
+    <input type=submit name=create value=create />
+</form>
index 69ca0d2659d760d2c2def4dd694bdaaf870d5ca7..f1e0fbfeefe77f0f39b67a0fb1adc41402b122e5 100644 (file)
@@ -5,27 +5,24 @@
 This is the edit page. It edits the passed-in object, by displaying a
 form similar to L<add_new> but with the current values filled in.
 
-#%]
+=cut
 
+#%]
 [% PROCESS macros %]
 [% INCLUDE header %]
-
 [% FOR item = objects; %]
-<h2> Edit [% item.name %]</h2>
-
-<FORM ACTION="[% base %]/[% item.table %]/do_edit/[% item.id %]" METHOD="post">
-[%
-     FOR col = classmetadata.columns;
-        NEXT IF col == "id";
-        "<P>";
-        "<B>"; classmetadata.colnames.$col; "</B>";
-        ": ";
-            item.to_field(col).as_HTML;
-        "</P>";
-        IF errors.$col; 
-            "<FONT COLOR=\"#ff0000\">"; errors.$col; "</FONT>";
-        END;
+<h2>Edit [% item.name %]</h2>
+<form action="[% base %]/[% item.table %]/do_edit/[% item.id %]" method=post>
+[% FOR col = classmetadata.columns;
+    NEXT IF col == "id";
+    "<p>";
+    "<b>"; classmetadata.colnames.$col; "</b>";
+    ": ";
+    item.to_field(col).as_HTML;
+    "</p>";
+    IF errors.$col; 
+        errors.$col;
     END;
-     '<INPUT TYPE="submit" NAME="edit" VALUE="edit">';
+    '<input type=submit name=edit value=edit />';
 END %]
 [% INCLUDE footer %]
index 599e9786709ddc7f1778ec5d11c583e51efc27b0..2ab5c0d1fc7b0e6c12fb00bf177037f64450298c 100644 (file)
@@ -1,3 +1,2 @@
-       </div>\r
-</body>\r
-</html>
\ No newline at end of file
+    </body>
+</html>
index acee7a72b1b0b101a67be66861b78684b33fe45e..9cf356213d91d884b9a4d3b6ec761c4dd505a5f8 100644 (file)
@@ -1,16 +1,25 @@
-[% INCLUDE header %]
+[%#
+
+=head1 frontpage
+
+This is the frontpage for your Maypole application.
+It shows a list of all tables it is allowed to display.
 
-<h2> [% config.application_name || "A poorly configured Maypole application" %] </h2>
+=cut
 
-<TABLE BORDER="0" ALIGN="center" WIDTH="70%">
+#%]
+[% INCLUDE header %]
+<h2>
+    [% config.application_name || "A poorly configured Maypole application" %]
+</h2>
+<table border=0 align=center width=70%>
 [% FOR table = config.display_tables %]
-<TR>
-<TD>
-<A HREF="[%table%]/list">List by [%table %]</A>
-</TD>
-</TR>
+    <tr>
+        <td>
+            <a href="[%table%]/list">List by [%table %]</a>
+        </td>
+    </tr>
 [% END %]
-</TABLE>
-
-<BR>
+</table>
+<br/>
 [% INCLUDE footer %]
index 90274d48c76bc14300ad0357b0a2b98096c4acc8..7e16e2657e4c74b74c5c955258aabfc95713cb0e 100644 (file)
@@ -1,20 +1,26 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
-<head>\r
-        <title>[% config.application_name || "A poorly configured Maypole application" %]</title>\r
-       <meta http-equiv="Content-Language" content="en" />\r
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
-       <link title="Maypole Default" href="/maypole.css" type="text/css" rel="stylesheet" />\r
-       <script type="text/javascript">\r
-<!--\r
-function go() {\r
-    box = document.forms[-1].navi;\r
-    destination = box.options[box.selectedIndex].value;\r
-    if (box.options[box.selectedIndex].class == 'redirect')\r
-        location.href = destination;\r
-}\r
-// -->\r
-</script>\r
-</head>\r
-<body>\r
-       <div class="content">
\ No newline at end of file
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+        <title>
+            [%
+                config.application_name ||
+                "A poorly configured Maypole application"
+            %]
+        </title>
+        <meta http-equiv=Content-Type content="text/html; charset=utf-8" />
+        <link title=Maypole href=/maypole.css type=text/css rel=stylesheet />
+        <script language="javascript" type="text/javascript">
+            <!--
+                function go()
+                {
+                    box = document.forms[-1].navi;
+                    destination = box.options[box.selectedIndex].value;
+                    if (box.options[box.selectedIndex].class == 'redirect')
+                        location.href = destination;
+                }
+            // -->
+        </script>
+    </head>
+    <body>
+    <div class="content">
index 9f7fe0e03e418df5e531566b3f67e143439925a8..8cd0209fc9531fe457ca1f2e6b959c0d290202e5 100644 (file)
@@ -1,43 +1,39 @@
 [% PROCESS macros %]
-
 [% INCLUDE header %]
-
 [% IF search %]
-<h2> Search results </h2>
+    <h2>Search results</h2>
 [% ELSE %]
-<h2> Listing of all [% classmetadata.plural %]</h2>
+    <h2>Listing of all [% classmetadata.plural %]</h2>
 [% END %]
-
 [% INCLUDE navbar %]
-<DIV class="search"> [% INCLUDE search_form %] </DIV>
-
-<DIV class="list">
-<TABLE id="matrix" WIDTH="100%">
-<TR>
-[% FOR col = classmetadata.columns.list;
-    NEXT IF col == "id";
-    "<TH>"; 
-    SET additional = "?order=" _ col;
-    SET additional = additional _ "&page=" _ pager.current_page IF pager;
-    SET additional = additional _ "&o2=desc" 
-        IF col == request.query.order and request.query.o2 != "desc";
-     link(classmetadata.table, "list", additional, classmetadata.colnames.$col);
-    "</TH>";
-END %]
-</TR>
-
-[%  SET count = 0;
-FOR item = objects;
-    SET count = count + 1;
-    "<tr";
-    ' class="alternate"' IF count % 2;
-    ">";
-    display_line(item);
-    "</tr>";
-END %]
-</TABLE>
-
-[% INCLUDE pager; %]
-[% INCLUDE addnew; %]
-</DIV>
+<div class=search>[% INCLUDE search_form %]</div>
+<div class=list>
+    <table id=matrix width=100%>
+        <tr>
+            [% FOR col = classmetadata.columns.list;
+                NEXT IF col == "id";
+                "<th>"; 
+                SET additional = "?order=" _ col;
+                SET additional = additional _ "&page=" _ pager.current_page
+                    IF pager;
+                SET additional = additional _ "&o2=desc" 
+                IF col == request.query.order and request.query.o2 != "desc";
+                link(classmetadata.table, "list", additional,
+                    classmetadata.colnames.$col);
+                "</th>";
+            END %]
+        </tr>
+        [%  SET count = 0;
+        FOR item = objects;
+            SET count = count + 1;
+            "<tr";
+            ' class="alternate"' IF count % 2;
+            ">";
+            display_line(item);
+            "</tr>";
+        END %]
+    </table>
+[% INCLUDE pager %]
+[% INCLUDE addnew %]
+</div>
 [% INCLUDE footer %]
index edae5c1a61647b0c5dacd3a173823c3e783d5229..2442dd5d32b11bfb8b3273a3189f049127e4b9e3 100644 (file)
@@ -13,9 +13,9 @@ catenating the base URL, table, command, and any arguments.
 #%]
 [%
 MACRO link(table, command, additional, label) BLOCK;
-    '<A HREF="' _ base _ "/" _ table _ "/" _ command _ "/" _ additional _ '">';
+    '<a href="' _ base _ "/" _ table _ "/" _ command _ "/" _ additional _ '">';
     label;
-    "</A>";
+    "</a>";
 END;
 %]
 
@@ -31,7 +31,6 @@ command for that object. Otherwise, it just displays the data.
 #%]
 
 [%
-
 MACRO maybe_link_view(object) BLOCK;
     IF object.table; # It's an object, i.e. a has-a
         link(object.table, "view", object.id, object);
@@ -53,7 +52,7 @@ for some.
 
 #%]
 [% MACRO display_line(item) BLOCK;
-     FOR col = classmetadata.columns;
+    FOR col = classmetadata.columns;
         NEXT IF col == "id";
         "<td>";
         IF col == "url";
@@ -64,7 +63,7 @@ for some.
             maybe_link_view(item.$col);
         END;
         "</td>";
-     END;
+    END;
     button(item, "edit");
     button(item, "delete");
 END %]
@@ -78,11 +77,11 @@ This is a generic button, which performs an action on an object.
 
 #%]
 [% MACRO button(obj, action) BLOCK; %]
-<TD>
-<FORM METHOD="post" ACTION="[%base%]/[%obj.table%]/[%action%]/[%obj.id%]">
-    <INPUT TYPE="submit" NAME="[%action%]" VALUE="[%action%]">
-</FORM>
-</TD>
+<td>
+<form method=post action="[% base %]/[% obj.table %]/[% action %]/[% obj.id %]">
+    <input type=submit name=[% action %] value=[% action %] />
+</form>
+</td>
 [% END %]
 [%#
 
@@ -99,12 +98,12 @@ brewery) calls the accesor, and displays a list of the results.
 [% 
 MACRO view_related(object) BLOCK;
     FOR accessor = classmetadata.related_accessors.list;
-        "<H3>"; accessor | ucfirst; "</H3>\n";
-        "<UL id=\"vlist\">";
+        "<h3>"; accessor | ucfirst; "</h3>\n";
+        "<ul id=\"vlist\">";
         FOR thing = object.$accessor;
-            "<LI>"; maybe_link_view(thing); "</LI>\n";
+            "<li>"; maybe_link_view(thing); "</li>\n";
         END;
-        "</UL>";
+        "</ul>";
     END; 
 END;
 
index 40050d37c9d30907d9676535542cc2f3f83c9626..60a69a9f399fe914888365db1c656ed503b72fc9 100644 (file)
@@ -12,16 +12,13 @@ accessible, with a link to the list page for each one.
 <ul id="navlist">
 [%
     FOR table = config.display_tables;
-        '<LI '; 'id="active"' IF table == classmetadata.table; '>';
-
+        '<li '; 'id="active"' IF table == classmetadata.table; '>';
         # Hack
         SET active = '" id="current' IF table == classmetadata.table;
-
         link(table, "list", active, table);
         SET active = "";
-        '</LI>';
+        '</li>';
     END;
 %]
 </ul>
 </div> 
-
index 5f10f5905830ee5079b075af47f8f81d947f69b4..c10fdeed685a8f4025bc005dcb94b18e87a2e313 100644 (file)
@@ -10,8 +10,7 @@ to the L<Data::Page> interface.
 [%
 IF pager AND pager.first_page != pager.last_page;
 %]
-
-<P ALIGN="center">Pages: 
+<p align=center>Pages: 
 [%
     SET begin_page = pager.current_page - 10;
     IF begin_page < 1;
@@ -25,11 +24,18 @@ IF pager AND pager.first_page != pager.last_page;
           IF num == pager.current_page;
             "["; num; "] ";
           ELSE;
-            SET args = "?page=" _ num; # Order?
             SET label = "[" _ num _ "]";
-          link(classmetadata.table, "list", args, label);
+            SET args = "?page=" _ num;
+            SET action = "list";
+            FOR col = classmetadata.columns.list;
+              IF request.query.$col;
+                SET args = args _ "&" _ col _ "=" _ request.query.$col;
+                SET action = "search";
+              END;
+            END;
+            link(classmetadata.table, action, args, label);
           END;
      END;
 %]
-</P>
+</p>
 [% END %]
index 63f867d3353e78319cded3b546804674c9b51be3..e5458f80b22e01bf352f74599e8c6c616f463f85 100644 (file)
@@ -1,23 +1,24 @@
-
 <h3>Search</h3>
-<FORM METHOD="post" ACTION="[%base%]/[%classmetadata.moniker%]/search/">
-    <INPUT TYPE="hidden" NAME="action" VALUE="create">
-    <INPUT TYPE="hidden" NAME="class" VALUE="[%classmetadata.name%]">
-    <TABLE class="view">
-     [% FOR col = classmetadata.columns;
-        NEXT IF col == "id";
-     %]
-     <TR> <TD class="field"> [% classmetadata.colnames.$col; %] </TD>
-     <TD> [% 
-        SET element = classmetadata.cgi.$col;
-        IF element.tag == "select";
-            USE element_maker = Class("HTML::Element");
-            SET element = element.unshift_content(
+<form method=get action="[% base %]/[% classmetadata.moniker %]/search/">
+    <input type=hidden name=action value=create />
+    <input type=hidden name=class value=[% classmetadata.name %] />
+    <table class=view>
+        [% FOR col = classmetadata.columns;
+            NEXT IF col == "id";
+         %]
+            <tr>
+                <td class=field>[% classmetadata.colnames.$col; %]</td>
+                <td>
+                    [% SET element = classmetadata.cgi.$col;
+                    IF element.tag == "select";
+                        USE element_maker = Class("HTML::Element");
+                        SET element = element.unshift_content(
                             element_maker.new("option", value," "));
-        END;
-        element.as_HTML; 
-        %] </TD> </TR>
-    [% END; %]
-    </TABLE>
-    <INPUT TYPE="submit" NAME="search" VALUE="search">
-</FORM>
+                    END;
+                   element.as_HTML; %]
+                </td>
+            </tr>
+        [% END; %]
+    </table>
+    <input type=submit name=search value=search>
+</form>
index 29b817e4378d4eba48313173ae8615d8ade874e7..c00046c7606416d57fc1255e2da186b3d50b583e 100644 (file)
@@ -10,21 +10,19 @@ C<objects> and displays the object's properties in a table.
 #%]
 [% PROCESS macros %]
 [% INCLUDE header %]
-
 [% FOR item = objects %]
-[% SET string = item.stringify_column %]
-<h2> [% item.$string %]</h2>
-
-[% 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;
-%]
-
+    [% SET string = item.stringify_column %]
+    <h2> [% item.$string %]</h2>
+    [% 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
@@ -33,24 +31,14 @@ 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> [%
-
-#=cut
-
-    IF col == "url";  # Possibly too much magic.
-                "<A HREF="; item.url; "> "; item.url; "</A>";
-    ELSE;
-
-#=for doc
-
-#One interesting macro used in this template is C<maybe_link_view>:
-
-        maybe_link_view(item.$col); 
-%] 
-
+            <tr>
+                <td class=field>[% classmetadata.colnames.$col; %]</td>
+                <td>
+                    [% IF col == "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,
@@ -62,13 +50,10 @@ if there is no C<name> method or other stringification method defined.
 =cut
 
 #%] 
-
-[% END; %]
- </TD>
-</TR>
-[% END; %]
-</TABLE>
-
+                </td>
+            </tr>
+        [% END; %]
+    </table>
 [%#
 
 =for doc
@@ -82,11 +67,7 @@ displays the results in a table.
 #%]
 [%
     view_related(item);
-
-#=cut
-
     button(item, "edit");
     button(item, "delete");
 %]
 [% END; %]
-