$self->{path} = $self->{ar}->uri;
my $loc = $self->{ar}->location;
no warnings 'uninitialized';
$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];
$self->{path} ||= "frontpage";
my @pi = split /\//, $self->{path};
shift @pi while @pi and !$pi[0];
use Apache::Constants ":common";
use strict;
use warnings;
use Apache::Constants ":common";
use strict;
use warnings;
__PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
__PACKAGE__->mk_accessors ( qw( ar params query objects model_class
args action template ));
__PACKAGE__->mk_classdata($_) for qw( config init_done view_object );
__PACKAGE__->mk_accessors ( qw( ar params query objects model_class
args action template ));
$r->model_class->process($r);
} else {
# Otherwise, it's just a plain template.
$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});
delete $r->{model_class};
$r->{path} =~ s{/}{}; # De-absolutify
$r->template($r->{path});
my $self = shift;
my $config = $self->config;
$config->{ok_tables} = {map {$_ => 1} @{$config->{display_tables}}};
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});
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);
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();
return DECLINED()
} unless $self->{method_attribs} =~ /\bExported\b/i;
return OK();
this:
package ProductDatabase;
this:
package ProductDatabase;
+ 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);
__PACKAGE__->set_database("dbi:mysql:products");
ProductDatabase->config->{uri_base} = "http://your.site/catalogue/";
ProductDatabase::Product->has_a("category" => ProductDatabase::Category);
+ return shift->SUPER::delete(@_) if caller ne "Maypole::Model::Base";
my ($self, $r) = @_;
$_->SUPER::delete for @{ $r->objects || [] };
$r->objects([ $self->retrieve_all ]);
my ($self, $r) = @_;
$_->SUPER::delete for @{ $r->objects || [] };
$r->objects([ $self->retrieve_all ]);
sub _tt {
my ($self, $r) = @_;
my $root = $r->{ar}->document_root . "/". $r->{ar}->location;
sub _tt {
my ($self, $r) = @_;
my $root = $r->{ar}->document_root . "/". $r->{ar}->location;
Template->new({ INCLUDE_PATH => [
$root,
($r->model_class && File::Spec->catdir($root, $r->model_class->moniker)),
Template->new({ INCLUDE_PATH => [
$root,
($r->model_class && File::Spec->catdir($root, $r->model_class->moniker)),