]> git.decadent.org.uk Git - maypole.git/commitdiff
fixed bug in DFV model when updating object
authorAaron Trevena <aaron.trevena@gmail.com>
Fri, 3 Nov 2006 11:17:39 +0000 (11:17 +0000)
committerAaron Trevena <aaron.trevena@gmail.com>
Fri, 3 Nov 2006 11:17:39 +0000 (11:17 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@545 48953598-375a-da11-a14b-00016c27c3ee

lib/Maypole/Model/CDBI/AsForm.pm
lib/Maypole/Model/CDBI/DFV.pm
lib/Maypole/Model/CDBI/FromCGI.pm
lib/Maypole/templates/factory/search_form

index c072dc8d7112e1433e1fd5ef3c062b598947842e..06f1039f3f1da76866a975733e63dbd0efb9909b 100644 (file)
@@ -983,7 +983,8 @@ sub _to_foreign_inputs {
   my $rel_meta = $args->{related_meta} || $self->related_meta('r',$accssr); 
   my $fields           = $args->{columns};
   if (!$rel_meta) {
-    $self->_croak( "No relationship for accessor $accssr");
+    $self->_carp( "[_to_foreign_inputs] No relationship for accessor $accssr");
+    return;
   }
 
   my $rel_type = $rel_meta->{name};
index 5a74f71848433e00038c55390045806cbffd7702..a16fa30e3adea337dba6239ee6ec8b8df98a424f 100644 (file)
@@ -140,6 +140,7 @@ sub do_edit : Exported {
     return;
   }
 
+
   my $errors;
   if ($obj) {
     ($obj,$errors) = $class->_do_update($r,$obj);
@@ -183,6 +184,7 @@ sub _do_update {
   }
 
   my $this_class_params = { map { $_ => $r->{params}{$_} }  $class->columns  };
+  delete $this_class_params->{route_id};
 
   # update or make other related (must_have, might_have, has_many  etc )
   unless ($errors) {
@@ -190,7 +192,7 @@ sub _do_update {
       # get related object if it exists
       my $rel_meta = $class->related_meta('r',$accssr);
       if (!$rel_meta) {
-       $class->_carp("No relationship for $accssr in " . ref($class));
+       $r->warn("[_do_update] No relationship for $accssr in " . ref($class));
        next;
       }
 
@@ -212,7 +214,6 @@ sub _do_update {
   }
 
   return ($obj,$errors);
-
 }
 
 sub _do_create {
@@ -257,7 +258,7 @@ sub _create_related {
   my $created = [];
   my $rel_meta = $self->related_meta('r',$accssr);
   if (!$rel_meta) {
-    $self->_carp("No relationship for $accssr in " . ref($self));
+    $self->_carp("[_create_related] No relationship for $accssr in " . ref($self));
     return;
   }
 
index df0b9ffa63e4c666754f666f5c7a146f37338f4d..7a725d1258f6ee8debdab2e0f3c2cc5b3aca883d 100644 (file)
@@ -514,7 +514,7 @@ sub _create_related {
     $created      ||= [];
     my  $rel_meta = $self->related_meta('r',$accssr);
     if (!$rel_meta) {
-       $self->_carp("No relationship for $accssr in " . ref($self));
+       $self->_carp("[_create_related] No relationship for $accssr in " . ref($self));
        return;
     }
     my $rel_type  = $rel_meta->{name};
index 4882b7d7de5290cb3bae8f68482d0100651b6fa9..5d0fd904028cb00d3335d995b1e2e4cb1c7b1d1d 100644 (file)
@@ -9,8 +9,7 @@
 [% FOR col = search_class.search_columns() %]
   <label>
      <span class="field">[% classmetadata.colnames.$col; %]</span>
-     [% SET element = classmetadata.cgi.$col;
-      element.as_XML; %]
+     [% SET element = classmetadata.cgi.$col; element.as_XML; %]
   </label>
 [% END; %]
 <input type="submit" name="search" value="search"/>