]> git.decadent.org.uk Git - maypole.git/commitdiff
Now request model_class is not set unless the model class is a Maypole::Model::Base.
authorbiopete <biopete@invalid>
Mon, 12 Jun 2006 20:34:32 +0000 (20:34 +0000)
committerbiopete <biopete@invalid>
Mon, 12 Jun 2006 20:34:32 +0000 (20:34 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@494 48953598-375a-da11-a14b-00016c27c3ee

lib/Maypole.pm
t/01basics.t

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. 
index 7da48b21658047a3325f0dfebd55eed2de559258..87c964314a8cfa0e8e682e887e95132e229fb097 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 use Test::More;
-use lib 'ex'; # Where BeerDB should live
+use lib '../ex'; # Where BeerDB should live
 BEGIN {
     $ENV{BEERDB_DEBUG} = 2;