]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole.pm
minor tweaks
[maypole.git] / lib / Maypole.pm
index b5da323ee9e544421e10a8525916d709a8b0f188..e16dd829abc76ab7e3c6d1da9b40f0153cfc7e85 100644 (file)
@@ -6,7 +6,7 @@ use warnings;
 use Maypole::Config;
 use Maypole::Constants;
 
-our $VERSION = '2.0';
+our $VERSION = '2.05';
 
 __PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
 __PACKAGE__->mk_accessors(
@@ -23,6 +23,7 @@ sub setup {
     $calling_class = ref $calling_class if ref $calling_class;
     {
         no strict 'refs';
+        no warnings 'redefine';
 
         # Naughty.
         *{ $calling_class . "::handler" } =
@@ -48,7 +49,7 @@ sub init {
     $config->view->require;
     die "Couldn't load the view class " . $config->view . ": $@" if $@;
     $config->display_tables
-      || $config->display_tables( [ $class->config->tables ] );
+      || $config->display_tables( $class->config->tables );
     $class->view_object( $class->config->view->new );
     $class->init_done(1);
 
@@ -59,10 +60,9 @@ sub handler {
     # See Maypole::Workflow before trying to understand this.
     my ( $class, $req ) = @_;
     $class->init unless $class->init_done;
-    my $r = bless { config => $class->config }, $class;
+    my $r = bless { template_args => {}, config => $class->config }, $class;
     $r->get_request($req);
     $r->parse_location();
-    warn "Request path: $r->{path}" if $r->debug;
     my $status = $r->handler_guts();
     return $status unless $status == OK;
     $r->send_output;
@@ -73,6 +73,7 @@ sub handler {
 sub handler_guts {
     my $r = shift;
     $r->model_class( $r->config->model->class_of( $r, $r->{table} ) );
+
     my $applicable = $r->is_applicable;
     unless ( $applicable == OK ) {
 
@@ -134,7 +135,8 @@ sub is_applicable {
       . "Available tables are: "
       . join( ",", @{ $config->{display_tables} } )
       if $self->debug
-      and not $config->ok_tables->{ $self->{table} };
+      and not $config->ok_tables->{ $self->{table} }
+      and $self->{action};
     return DECLINED() unless exists $config->ok_tables->{ $self->{table} };
 
     # Is it public?
@@ -441,8 +443,8 @@ Simon Cozens, C<simon@cpan.org>
 =head1 THANKS TO
 
 Danijel Milicevic, Dave Slack, Jesse Sheidlower, Jody Belka, Marcus Ramberg,
-Mickael Joanne, Simon Flack, Veljko Vidovic and all the others who've
-helped.
+Mickael Joanne, Randal Schwartz, Simon Flack, Steve Simms, Veljko Vidovic
+and all the others who've helped.
 
 =head1 LICENSE