Maypole::Model::CDBI is the base class.
My::App->setup($data_source, $user, $password,
- { opitons => { # These are DB connection options
+ { options => { # These are DB connection options
AutoCommit => 0,
RaiseError => 1,
...
which return fragments of HTML rather than entire pages, but once you've
done that, you can use the C<component> method of the Maypole request object
to call those actions. You may pass a query string in the usual URL style.
+
You should not fully qualify the Maypole URLs.
+Note: any HTTP POST or URL parameters passed to the parent are not passed to the
+component sub-request, only what is included in the url passed as an argyument
+to the method
+
=cut
sub component {
my ( $r, $path ) = @_;
- my $self = bless { parent => $r }, ref $r;
+ my $self = bless { parent => $r, config => $r->{config}, template_args => {}, }, ref $r;
+ $self->get_user;
my $url = URI->new($path);
+ warn "path : $path\n";
$self->{path} = $url->path;
$self->parse_path;
$self->params( $url->query_form_hash );
- $self->query( $r->params );
$self->handler_guts;
return $self->output;
}
if ( my $error = $@ )
{
$status = $self->call_exception($error, "model");
- if ( $status != OK )
+ if ( $status != OK )
{
warn "caught model error: $error";
return $self->debug ?
sub exception {
my ($self, $error, $when) = @_;
- if ($self->view_object->can("report_error") and $self->debug) {
+ if (ref $self->view_object && $self->view_object->can("report_error") and $self->debug) {
$self->view_object->report_error($self, $error, $when);
return OK;
}