X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FMaypole%2FModel%2FCDBI%2FBase.pm;h=ec88942762e7b58d0f0a4930484bec39be9a0d31;hb=d4f0c56a54a189cb473bf46548d9ddef7ca4b0bd;hp=2434284a032b3f62b11a793018073e09a30aacc2;hpb=bd6da5dd49b9a50d49098f97278e4b440cb17bd9;p=maypole.git diff --git a/lib/Maypole/Model/CDBI/Base.pm b/lib/Maypole/Model/CDBI/Base.pm index 2434284..ec88942 100644 --- a/lib/Maypole/Model/CDBI/Base.pm +++ b/lib/Maypole/Model/CDBI/Base.pm @@ -1,6 +1,5 @@ package Maypole::Model::CDBI::Base; use strict; -use Class::C3; =head1 NAME @@ -125,7 +124,7 @@ sub _do_update_or_create { # update or create if ($obj) { # We have something to edit - eval { $obj->update_from_cgi( $r => { + eval { $obj->update_from_cgi( $h => { required => $required_cols, ignore => $ignored_cols, }); @@ -134,7 +133,7 @@ sub _do_update_or_create { $fatal = $@; } else { eval { - $obj = $self->create_from_cgi( $r => { + $obj = $self->create_from_cgi( $h => { required => $required_cols, ignore => $ignored_cols, } ); @@ -184,8 +183,7 @@ sub delete : Exported { } } - -sub do_delete { +sub do_delete : Exported { my ( $self, $r ) = @_; # FIXME: handle fatal error with exception $_->SUPER::delete for @{ $r->objects || [] }; @@ -231,6 +229,9 @@ sub do_search : Exported { if ( !%values ) { return $self->list($r) } my $order = $self->order($r); $self = $self->do_pager($r); + + # FIXME: use pager info to get slice of iterator instead of all the objects as array + $r->objects( [ $self->search_where( @@ -756,7 +757,7 @@ sub get_classmetadata { =head1 SEE ALSO -L, L. +L, L. =head1 AUTHOR