]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/Model/CDBI/FromCGI.pm
C3, inheritence changes and adding skeleton DFV model
[maypole.git] / lib / Maypole / Model / CDBI / FromCGI.pm
index c5ad4582ea3992dd89fa38560d7e9433fd7dcc15..30ef4d4eece1b32603c92b3d838c543e38bbaf3d 100644 (file)
@@ -1,5 +1,7 @@
 package Maypole::Model::CDBI::FromCGI;
+use Class::C3;
 use strict;
+use warnings;
 
 =head1 NAME
 
@@ -17,7 +19,7 @@ Maypole::Model:CDBI::FromCGI - Validate form input and populate Model objects
 
   $obj = $obj->add_to_from_cgi($r);
   $obj = $obj->add_to_from_cgi($r, { params => {...} } );
-  
+
   # This does not work like in CDBI::FromCGI and probably never will :
   # $class->update_from_cgi($h, @columns);
 
@@ -29,7 +31,6 @@ on Class::DBI::FromCGI.
 
 =cut
 
-use warnings;
 
 # The base base model class for apps 
 # provides good search and create functions
@@ -233,7 +234,6 @@ sub add_to_from_cgi {
     unless ref $self;
   my ($errors, $validated, @created);
    
-  
   my $params = $opts->{params} || $r->params;
   $opts->{params} = $self->classify_form_inputs($params);
   ($validated, $errors) = $self->validate_all($r, $opts);
@@ -280,12 +280,9 @@ sub validate_all {
   my $updating   = $opts->{updating};
 
   # Base case - validate this classes data
-  $opts->{all}   ||= eval{ $r->config->{$self->table}{all_cols} }              ||
-    [$self->columns('All')];
-  $opts->{required} ||= eval{ $r->config->{$self->table}{required_cols} } ||   
-       [];
-  my $ignore = $opts->{ignore} || eval{ $r->config->{$self->table}{ignore_cols} }      
-    || [];
+  $opts->{all}   ||= eval{ $r->config->{$self->table}{all_cols} } || [$self->columns('All')];
+  $opts->{required} ||= eval { $r->config->{$self->table}{required_cols} || $self->required_columns } || [];
+  my $ignore = $opts->{ignore} || eval{ $r->config->{$self->table}{ignore_cols} } || [];
   push @$ignore, $self->primary_column->name if $updating;
   
   # Ignore hashes of foreign inputs. This takes care of required has_a's 
@@ -379,9 +376,7 @@ sub validate_inputs {
 
     # Required field error 
     if ($required{$field} and !ref($value) and $err =~ /^No input for/) {
-                               #($value eq '' or !defined $value)) 
       $errors->{$field} = "You must supply '$field'" 
-       #unless ($updating and$self->field;
     } elsif ($err) {
 
       # 1: No inupt entered