]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole.pm
Now request model_class is not set unless the model class is a Maypole::Model::Base.
[maypole.git] / lib / Maypole.pm
index 770467a0b83a6e8e77d94e3a15521a2506df77cd..19e9cecbce80d7c41edc83df14c9ff2c7bd57d40 100644 (file)
@@ -652,9 +652,17 @@ sub __get_mime_type {
 sub __load_request_model
 {
     my ($self) = @_;
-    $self->model_class( $self->config->model->class_of($self, $self->table) );
+       # We may get a made up class from class_of
+    my $mclass = $self->config->model->class_of($self, $self->table);
+    if ( eval {$mclass->isa('Maypole::Model::Base')} ) {
+        $self->model_class( $mclass );
+    }
+    elsif ($self->debug) {
+        warn "\n***Warning:  No $mclass class appropriate  to set as request model : $@***\n"
+    }
 }
 
+
 # is_applicable() returned false, so set up a plain template. Model processing 
 # will be skipped, but need to remove the model anyway so the template can't 
 # access it.