]> git.decadent.org.uk Git - maypole.git/commitdiff
changed template path ordering, no longer return empty paths in TT view
authorAaron Trevena <aaron.trevena@gmail.com>
Mon, 6 Nov 2006 13:30:31 +0000 (13:30 +0000)
committerAaron Trevena <aaron.trevena@gmail.com>
Mon, 6 Nov 2006 13:30:31 +0000 (13:30 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@549 48953598-375a-da11-a14b-00016c27c3ee

Changes
lib/Maypole/View/Base.pm
lib/Maypole/View/TT.pm

diff --git a/Changes b/Changes
index 565690977c104f984ba76d33eb3bed3fc018868a..3006775159542d1c410e44c736d9e2d327d10eb9 100644 (file)
--- a/Changes
+++ b/Changes
@@ -19,6 +19,7 @@ For information about current developments and future releases, see:
    added CGI params to TT error template
    small improvements to some factory templates
    fix to path handling in mod_perl and CGI when location ends in /
+   fixed template path ordering so i.e. /tablename/list is used before /list when provided with a tablename
 
 2.11 Mon 31 July 2006
 
index f21e77135ac77d91d02ccfd8480e992d1e00ad73..5ae1bae6e86216ddaa22ea133d80c84e0e4f3e10 100644 (file)
@@ -10,29 +10,27 @@ sub new { bless {}, shift }    # By default, do nothing.
 
 sub paths {
     my ( $self, $r ) = @_;
+    warn "paths called with @_";
     my $root = $r->config->template_root || $r->get_template_root;
     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->table )
              )
             );
+       push(@output, $path);
        push(@output, File::Spec->catdir( $path, "custom" ));
        push(@output, File::Spec->catdir( $path, "factory" ));
     }
 
-    return @output;
+    return grep( $_, @output);
 }
 
-
-
-
 sub vars {
     my ( $self, $r ) = @_;
     my $class = $r->model_class;
index 7c30777382d5bd151d3e5c2a5b64bc9e2c1e9364..e4867fc73450d2964b9eb3cee7d73e974c2de804 100644 (file)
@@ -5,7 +5,7 @@ use Maypole::Constants;
 use Template;
 use File::Spec::Functions qw(catdir tmpdir);
 
-our $error_template; 
+our $error_template;
 { local $/; $error_template = <DATA>; }
 
 our $VERSION = '2.11';
@@ -37,11 +37,13 @@ sub template {
     return OK;
   } else {
     if ($@) {
-      warn "fatal error in template '$template_file' : $@\n";
-      $r->{error} = "fatal error in template '$template_file' : $@";
+      my $error = "fatal error in template '$template_file' : $@\nTT paths : " . join(', ',$self->paths($r)) . "\n";
+      $r->warn($error);
+      $r->{error} = $error;
     } else {
-      warn "TT error for template '$template_file'\n" . $self->{tt}->error;
-      $r->{error} = "TT error for template '$template_file'\n" . $self->{tt}->error;
+      my $error = "TT error for template '$template_file'\n" . $self->{tt}->error . "\nTT paths : " . join(', ',$self->paths($r)) . "\n";
+      $r->warn($error);
+      $r->{error} = $error;
     }
     return ERROR;
   }