]> git.decadent.org.uk Git - maypole.git/commitdiff
updated MANIFEST
authorAaron Trevena <aaron.trevena@gmail.com>
Mon, 13 Mar 2006 15:15:23 +0000 (15:15 +0000)
committerAaron Trevena <aaron.trevena@gmail.com>
Mon, 13 Mar 2006 15:15:23 +0000 (15:15 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@465 48953598-375a-da11-a14b-00016c27c3ee

MANIFEST
META.yml
lib/Maypole.pm
lib/Maypole/Model/CDBI.pm
lib/Maypole/templates/factory/edit

index e613d817e5e0f3fdfe794726c00eb6b64c1c574e..ea6ab4ee61fdeea15fc92fdda667bd1c85475e06 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,5 +1,7 @@
 Changes
 ex/BeerDB.pm
+ex/BeerDB/Base.pm
+ex/BeerDB/Beer.pm
 ex/beerdb.sql
 lib/Apache/MVC.pm
 lib/CGI/Maypole.pm
index 518816880b10d7d3d5b7d7a477d73bff13840f92..aa93104d8bbeb612d925f0a9cac469c006368b8e 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -6,7 +6,9 @@ version_from: lib/Maypole.pm
 installdirs:  site
 requires:
     CGI::Simple:                   0
-    CGI::Untaint:                  0
+    CGI::Untaint:                  1.26
+    CGI::Untaint::date:            0
+    CGI::Untaint::email:           0
     Class::DBI:                    0.96
     Class::DBI::AbstractSearch:    0
     Class::DBI::AsForm:            2.2
@@ -15,6 +17,7 @@ requires:
     Class::DBI::Loader::Relationship: 0
     Class::DBI::Pager:             0
     Class::DBI::Plugin::RetrieveAll: 0
+    Class::DBI::Plugin::Type:      0
     Class::DBI::SQLite:            0
     Digest::MD5:                   0
     File::MMagic::XS:              0.08
index ae2ae58cd1b7046f6eb58cbcbbfc5542a1a6677e..64e5a1a886c877d8aa59475426ff63f7f9714070 100644 (file)
@@ -592,7 +592,7 @@ sub handler_guts
       if ( my $error = $@ ) 
         {
          $status = $self->call_exception($error, "model");
-         if ( $status != OK ) 
+         if ( $status != OK )
             {
              warn "caught model error: $error";
              return $self->debug ? 
index bd982e6ccfe4e84798d9bfd1183ae58607cfdf18..ae11c4dc1fc50d2d498d5515c93e9a16e262cccd 100644 (file)
@@ -100,11 +100,15 @@ sub do_edit : Exported {
     }
 
     undef $obj if $creating;
+
+    die "do_update failed with error : $fatal" if ($fatal);
     $r->template("edit");
   } else {
     $r->template("view");
   }
 
+
+
   $r->objects( $obj ? [$obj] : []);
 }
 
@@ -136,7 +140,10 @@ sub _do_update_or_create {
     };
 
     if ($fatal = $@) {
-      warn "$fatal" if $r->debug;
+      warn "FATAL ERROR: $fatal" if $r->debug;
+#      $self->dbi_rollback;
+    } else {
+#      $self->dbi_commit;
     }
     $creating++;
   }
@@ -173,7 +180,9 @@ sub delete : Exported {
 
 sub do_delete {
   my ( $self, $r ) = @_;
+  # FIXME: handle fatal error with exception
   $_->SUPER::delete for @{ $r->objects || [] };
+#  $self->dbi_commit;
   $r->objects( [ $self->retrieve_all ] );
   $r->{template} = "list";
   $self->list($r);
index 77dfa3a492fcaee3201ad112c9d792de4420917b..14f77be3c172e46eaa3233ee31339bf6d6cd230e 100644 (file)
@@ -38,6 +38,35 @@ form similar to L<addnew> but with the current values filled in.
     
     [% END %]
 [% ELSE %]
-[% INCLUDE addnew %]
+
+<div id="addnew">
+<form method="post" action="[% base %]/[% classmetadata.table %]/do_edit/">
+<fieldset>
+<legend>Add a new [% classmetadata.moniker %]</legend>
+    [% FOR col = classmetadata.columns %]
+        [% NEXT IF col == "id" %]
+            <label><span class="field">[% classmetadata.colnames.$col %]</span>
+            [% 
+            SET elem = classmetadata.cgi.$col.clone;
+            IF request.action == 'do_edit';
+                IF elem.tag == "textarea";
+                    elem = elem.push_content(request.param(col));
+                ELSE;
+                    elem.attr("value", request.param(col));
+                END;
+            END;
+            elem.as_XML; %]
+           </label>
+        [% IF errors.$col %]
+           <span class="error">[% errors.$col | html  %]</span>
+        [% END %]
+
+    [% END; %]
+    <input type="submit" name="create" value="create" />
+    <input type="hidden" name="__form_id" value="[% request.make_random_id %]" />
+</fieldset>
+</form>
+</div>
+
 [% END %]
 [% INCLUDE footer %]