--- /dev/null
+[%#
+
+=head1 edit
+
+This is the edit page. It edits the passed-in object, by displaying a
+form similar to L<addnew> but with the current values filled in.
+
+=cut
+
+#%]
+[% PROCESS macros %]
+[% INCLUDE header %]
+[% INCLUDE title %]
+[% IF objects.size %]
+<div id="title">Edit a [% classmetadata.moniker %]</div>
+[% FOR item = objects; %]
+<form action="[% base %]/[% item.table %]/do_edit/[% item.id %]" method="post">
+<fieldset>
+<legend>Edit [% item.name %]</legend>
+[% FOR col = classmetadata.columns;
+ NEXT IF col == "id";
+ '<label><span class="field">';
+ classmetadata.colnames.$col; ":</span>";
+ item.to_field(col).as_XML;
+ "</label>";
+ IF errors.$col;
+ '<span class="error">'; errors.$col;'</span>';
+ END;
+ END %]
+ <input type="submit" name="edit" value="edit"/>
+ <input type="hidden" name="__form_id" value="[% request.make_random_id %]">
+ </fieldset></form>
+
+ [% END %]
+[% ELSE %]
+[% INCLUDE addnew %]
+[% END %]
+[% INCLUDE footer %]