]> git.decadent.org.uk Git - maypole.git/commitdiff
Miscellaneous fixes.
authorSimon Cozens <simon@simon-cozens.org>
Sat, 28 Feb 2004 10:59:58 +0000 (10:59 +0000)
committerSimon Cozens <simon@simon-cozens.org>
Sat, 28 Feb 2004 10:59:58 +0000 (10:59 +0000)
git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@79 48953598-375a-da11-a14b-00016c27c3ee

lib/Apache/MVC.pm
lib/Maypole.pm
lib/Maypole/Model/CDBI.pm
lib/Maypole/View/TT.pm

index d43e292534984f0ce2faf13eb0be713e6a385e74..0b1c87333838ce56fd0a679d6f9f036639c2f199 100644 (file)
@@ -15,7 +15,7 @@ sub parse_location {
     $self->{path} = $self->{ar}->uri;
     my $loc = $self->{ar}->location;
     no warnings 'uninitialized';
-    $self->{path} =~ s/^$loc?\///;
+    $self->{path} =~ s/^($loc)?\///;
     $self->{path} ||= "frontpage";
     my @pi = split /\//, $self->{path};
     shift @pi while @pi and !$pi[0];
index 4e551eb45d241151495907c4fa0a8ca1a9c2ea78..9a86489b8127d7cbb0914409d88ca0a415948415 100644 (file)
@@ -5,7 +5,7 @@ use UNIVERSAL::require;
 use Apache::Constants ":common";
 use strict;
 use warnings;
-our $VERSION = "1.0";
+our $VERSION = "1.1";
 __PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
 __PACKAGE__->mk_accessors ( qw( ar params query objects model_class
 args action template ));
@@ -62,6 +62,7 @@ sub handler {
         $r->model_class->process($r);
     } else { 
         # Otherwise, it's just a plain template.
+        $r->call_authenticate; # No harm in it
         delete $r->{model_class};
         $r->{path} =~ s{/}{}; # De-absolutify
         $r->template($r->{path});
@@ -73,18 +74,18 @@ sub is_applicable {
     my $self = shift;
     my $config = $self->config;
     $config->{ok_tables} = {map {$_ => 1} @{$config->{display_tables}}};
-    warn "We don't have that table ($self->{table})"
-        unless $config->{ok_tables}{$self->{table}};
+    #warn "We don't have that table ($self->{table})"
+    #    unless $config->{ok_tables}{$self->{table}};
     return DECLINED() unless exists $config->{ok_tables}{$self->{table}};
 
     # Does the action method exist?
     my $cv = $self->model_class->can($self->{action});
-    warn "We don't have that action ($self->{action})" unless $cv;
+    #warn "We don't have that action ($self->{action})" unless $cv;
     return DECLINED() unless $cv;
 
     # Is it exported?
     $self->{method_attribs} = join " ", attributes::get($cv);
-    do { warn "$self->{action} not exported";
+    do { warn "$self->{action} not exported";
     return DECLINED() 
      } unless $self->{method_attribs} =~ /\bExported\b/i;
     return OK();
@@ -133,7 +134,7 @@ for the designers to customize, and then write an Apache handler like
 this:
 
     package ProductDatabase;
-    use base 'Maypole';
+    use base 'Apache::MVC';
     __PACKAGE__->set_database("dbi:mysql:products");
     ProductDatabase->config->{uri_base} = "http://your.site/catalogue/";
     ProductDatabase::Product->has_a("category" => ProductDatabase::Category); 
index 34aa7417d10a0880f863d6241979a28db7b04d91..0be76f98d40e453ba961333006e23aa06e038bf4 100644 (file)
@@ -56,6 +56,7 @@ sub do_edit :Exported {
 }
 
 sub delete :Exported {
+    return shift->SUPER::delete(@_) if caller ne "Maypole::Model::Base";
     my ($self, $r) = @_;
     $_->SUPER::delete for @{ $r->objects || [] };
     $r->objects([ $self->retrieve_all ]);
index 614943414aae4b560f64c0ba2c9f365633e9e831..47999a4692460dc5137c53bbdd8e3d3dd5e223e7 100644 (file)
@@ -12,7 +12,6 @@ sub new { bless {}, shift } # Not worth having
 sub _tt {
     my ($self, $r) = @_;
     my $root = $r->{ar}->document_root . "/". $r->{ar}->location;
-    warn "Root was $root";
     Template->new({ INCLUDE_PATH => [
         $root,
         ($r->model_class && File::Spec->catdir($root, $r->model_class->moniker)),