X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2FApache%2FMVC%2FModel%2FBase.pm;h=afbc60df7eebd1e24127e7badb7d680cff14ad6c;hb=d635ca733a7199c4f9893e8d5a50e96a1295f092;hp=911588bde9f14f1fe4c62fe34bbe52e2d183f9da;hpb=fa685ce517bd35c12ed6681803d9d0d6b1793159;p=maypole.git diff --git a/lib/Apache/MVC/Model/Base.pm b/lib/Apache/MVC/Model/Base.pm index 911588b..afbc60d 100644 --- a/lib/Apache/MVC/Model/Base.pm +++ b/lib/Apache/MVC/Model/Base.pm @@ -7,13 +7,20 @@ sub MODIFY_CODE_ATTRIBUTES { sub FETCH_CODE_ATTRIBUTES { $remember{$_[1]} } -sub view :Exported { +sub view :Exported { } +sub edit :Exported { } + +sub do_edit { die "This is an abstract method" } +sub get_objects { die "This is an abstract method" } + +sub list :Exported { my ($self, $r) = @_; - return $self->retrieve(shift @{$r->{args}}); + $r->objects([ $self->retrieve_all ]); } sub process { my ($class, $r) = @_; $r->template( my $method = $r->action ); - $r->objects([ $class->$method($r) ]); + $r->objects([ $class->get_objects($r) ]); + $class->$method($r) }