]> git.decadent.org.uk Git - maypole.git/commitdiff
fix M::M::Base::FETCH_CODE_ATTRIBUTES, warn() about CDBI::FromCGI errors, fix array...
authorSimon Cozens <simon@simon-cozens.org>
Mon, 24 Jan 2005 20:05:54 +0000 (20:05 +0000)
committerSimon Cozens <simon@simon-cozens.org>
Mon, 24 Jan 2005 20:05:54 +0000 (20:05 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@333 48953598-375a-da11-a14b-00016c27c3ee

Changes
lib/Maypole/Model/Base.pm
lib/Maypole/Model/CDBI.pm
templates/factory/edit

diff --git a/Changes b/Changes
index a05fbc664c3419f903352cb357b03fee5af2de60..96caa5db60ba62a6bb932c1e5ab40a0386b672ce 100644 (file)
--- a/Changes
+++ b/Changes
@@ -2,7 +2,7 @@ This file documents the revision history for Perl extension Maypole.
 For information about current developments and future releases, see:
     http://maypole.perl.org/?TheRoadmap
 
-2.07  Sun Jan 16 18:45:00 2005
+2.07  Mon Jan 24 20:00:00 2005
     Internal changes:
     - Removed Maypole::Model->description. It didn't work as expected and
       clashed with 'description' columns in the database
@@ -12,6 +12,9 @@ For information about current developments and future releases, see:
       undefined element
     - Fixed overriding $r->template_args->{classmetadata} in M::V::Base
       (Thanks to Dave Howorth for spotting the mistake)
+    - FETCH_CODE_ATRIBUTES in M::M::Base should return an empty list if there
+      are no attributes
+    - M::M::CDBI will warn() about Class::DBI::FromCGI errors
     - #9473: Maypole::Model::CDBI->related_class (Thanks David Baird)
     - #9434: M::M::CDBI->search generated "uninitialized value" warnings
 
index 678c3994f3b5e9d07dd90b1788342becebf90978..3b7c58bc6767021b1c475e77388e6dfd59c7c04f 100644 (file)
@@ -7,7 +7,7 @@ our %remember;
 
 sub MODIFY_CODE_ATTRIBUTES { $remember{ $_[1] } = $_[2]; () }
 
-sub FETCH_CODE_ATTRIBUTES { $remember{ $_[1] } }
+sub FETCH_CODE_ATTRIBUTES { $remember{ $_[1] } || () }
 
 sub process {
     my ( $class, $r ) = @_;
@@ -180,7 +180,7 @@ sub is_public {
     my ( $self, $action ) = @_;
     my $cv = $self->can($action);
     return 0 unless $cv;
-    my $attrs = join " ", attributes::get($cv);
+    my $attrs = join " ", (attributes::get($cv) || ());
     do {
         warn "$action not exported" if Maypole->debug;
         return 0;
index 4ed0aa68b331179ace9c43f7ec516c9338a2759a..a02f36fc6b1102a7d2a58d85e82a956099d81e8c 100644 (file)
@@ -119,7 +119,9 @@ sub do_edit : Exported {
                     { required => $r->{config}{ $r->{table} }{required_cols} || [], }
             );
         };
-        $fatal = $@;
+        if ($fatal = $@) {
+            warn "$fatal" if $r->debug;
+        }
         $creating++;
     }
     if ( my %errors = $fatal ? (FATAL => $fatal) : $obj->cgi_update_errors ) {
@@ -134,7 +136,7 @@ sub do_edit : Exported {
     else {
         $r->{template} = "view";
     }
-    $r->objects( [$obj] );
+    $r->objects( $obj ? [$obj] : []);
 }
 
 sub delete : Exported {
index d114897f9c98552b9ecbff22a94fa0fce616926b..a7c6630f934a11ffaaf79eeb89b1e6ce7eed20bf 100644 (file)
@@ -11,7 +11,7 @@ form similar to L<addnew> but with the current values filled in.
 [% PROCESS macros %]
 [% INCLUDE header %]
 [% INCLUDE title %]
-[% IF objects.length %]
+[% 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">