]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/View/Base.pm
applied patch for rt 13447
[maypole.git] / lib / Maypole / View / Base.pm
index 312d38ba24aeeb3f3e70809776a788433751a5f2..a3d9466562b574b722bf96d7ee05a044087f3725 100644 (file)
@@ -10,17 +10,27 @@ sub new { bless {}, shift }    # By default, do nothing.
 sub paths {
     my ( $self, $r ) = @_;
     my $root = $r->config->template_root || $r->get_template_root;
-    return (
-        $root,
-        (
-            $r->model_class
-              && File::Spec->catdir( $root, $r->model_class->moniker )
-        ),
-        File::Spec->catdir( $root, "custom" ),
-        File::Spec->catdir( $root, "factory" )
-    );
+    if(ref($root) ne 'ARRAY') {
+       $root = [ $root ];
+    }
+    my @output = ();
+    foreach my $path (@$root) {
+       push(@output, $path);
+       push(@output,
+            (
+              $r->model_class
+             && File::Spec->catdir( $path, $r->model_class->moniker )
+             )
+            );
+       push(@output, File::Spec->catdir( $path, "custom" ));
+       push(@output, File::Spec->catdir( $path, "factory" ));
+    }
+    return @output;
 }
 
+
+
+
 sub vars {
     my ( $self, $r ) = @_;
     my $class = $r->model_class;