]> git.decadent.org.uk Git - maypole.git/blobdiff - ex/fancy_example/BeerDB/Drinker.pm
Drinker uses add_to_from_cgi and other stuff. Now it is a nice working
[maypole.git] / ex / fancy_example / BeerDB / Drinker.pm
index f3edd7be8502f00de131c3db52af4ba8b7ffe9ec..5119dcf3e1505708f22db43cff076785fac16bdd 100644 (file)
@@ -44,14 +44,15 @@ sub view : Exported {
        my ($self, $r, $obj) = @_;
        $self->_croak( "Object method only") unless $obj;
 
-       if ($r->params->{submit} eq 'drink') {
-               $r->params->{drinker} = $self;
-               my ($pint, $errs) = $self->related_class($r, 'pints')->create_from_cgi($r);
-               $r->template_args->{errors} = $errs if $errs;
+       if ($r->params->{submit}) {
+               my ($pint) = $obj->add_to_from_cgi($r);
+               if (my $errs = $obj->cgi_update_errors) {
+                       $r->template_args->{errors} = $errs;
+               }
        }
 
        my %cgi = $self->to_cgi('pints'); 
-       $cgi{pints}{drinker} =  $obj->to_field(drinker => 'link_hidden', {r => $r});
+       delete $cgi{pints}{drinker}; # =  $obj->to_field(drinker => 'link_hidden', {r => $r});
        $r->template_args->{classmetadata}{cgi} =  \%cgi ; 
 }