]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/Model/CDBI/Base.pm
fix to bug raised by mst with FromCGI
[maypole.git] / lib / Maypole / Model / CDBI / Base.pm
index a7e7d97cf61044861ded5e22724c50d8d1ab3744..6ecc213ac15419d09ba16f028b2a12c69812561d 100644 (file)
@@ -125,7 +125,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 +134,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,
                                           } );
@@ -145,6 +145,19 @@ sub _do_update_or_create {
   return $obj, $fatal, $creating;
 }
 
+=head2 view
+
+This command shows the object using the view factory template.
+
+=cut
+
+sub view : Exported {
+  my ($self, $r) = @_;
+  $r->build_form_elements(0);
+  return;
+}
+
+
 =head2 delete
 
 Deprecated method that calls do_delete or a given classes delete method, please
@@ -166,11 +179,12 @@ sub delete : Exported {
   if ($1 ne "Maypole::Model::Base" && $2 ne "delete") {
     $self->SUPER::delete(@_);
   } else {
-    warn "Maypole::Model::CDBI delete method is deprecated\n";
+    warn "Maypole::Model::CDBI::Base delete method is deprecated\n";
     $self->do_delete(@_);
   }
 }
 
+
 sub do_delete {
   my ( $self, $r ) = @_;
   # FIXME: handle fatal error with exception
@@ -217,6 +231,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(
@@ -307,6 +324,21 @@ sub related_class {
      }
  }
 
+=head2 search_columns
+
+  $class->search_columns;
+
+Returns a list of columns suitable for searching - used in factory templates, over-ridden in
+classes. Provides same list as display_columns unless over-ridden.
+
+=cut
+
+sub search_columns {
+  my $class = shift;
+  return $class->display_columns;
+}
+
+
 =head2 related_meta
 
   $class->related_meta($col);
@@ -727,7 +759,7 @@ sub get_classmetadata {
 
 =head1 SEE ALSO
 
-L<Maypole>, L<Maypole::Model::CDBI::Base>.
+L<Maypole>, L<Maypole::Model::Base>.
 
 =head1 AUTHOR