]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole.pm
fixes to plain CDBI model
[maypole.git] / lib / Maypole.pm
index c18f69567d2affce8ff5b8a9facd290ccc07a0fc..5d3e25963c7f2d29fb8c2f3286ba5031b44c9a25 100644 (file)
@@ -194,7 +194,7 @@ synopsis of L<Maypole::Plugin::FormBuilder> for an example driver
 
 =cut
 
-__PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
+__PACKAGE__->mk_classdata($_) for qw( config init_done view_object model_classes_loaded);
 
 __PACKAGE__->mk_accessors(
     qw( params query objects model_class template_args output path
@@ -206,6 +206,8 @@ __PACKAGE__->config( Maypole::Config->new() );
 
 __PACKAGE__->init_done(0);
 
+__PACKAGE__->model_classes_loaded(0);
+
 =head1 HOOKABLE METHODS
 
 As a framework, Maypole provides a number of B<hooks> - methods that are
@@ -313,7 +315,7 @@ sub setup_model
       # Load custom model code, if it exists - nb this must happen after the 
       # unshift, to allow code attributes to work, but before adopt(),  
       # in case adopt() calls overridden methods on $subclass
-      $class->load_model_subclass($subclass);
+      $class->load_model_subclass($subclass) unless ($class->model_classes_loaded());
       
       $config->model->adopt($subclass) if $config->model->can("adopt");
     }