2 use base qw/Maypole::Model::CDBI/;
7 # Overide list to add display_columns to cgi
8 # Perhaps do this in AsForm?
12 $self->SUPER::list($r);
13 my %cols = map { $_ => 1 } $self->columns, $self->display_columns;
14 my @cols = keys %cols;
15 $r->template_args->{classmetadata}{cgi} = { $self->to_cgi(@cols) };
18 # Override view to make inputs and process form to add to related
20 my ($self, $r, $obj) = @_;
21 $self->_croak( "Object method only") unless $obj;
23 if ($r->params->{submit}) {
24 my @related = $obj->add_to_from_cgi($r, { required => [$self->related ]});
25 if (my $errs = $obj->cgi_update_errors) {
26 $r->template_args->{errors} = $errs;
30 # Inputs to add to related on the view page
31 # Now done on the view template
32 # my %cgi = $self->to_cgi($self->related);
33 #$r->template_args->{classmetadata}{cgi} = \%cgi ;
37 # Template switcheroo bug bit me -- was seeing view page but the view action was never
38 # being executed after an edit.
39 sub do_edit : Exported {
40 my ($self, $r) = (shift, shift);
41 $self->SUPER::do_edit($r, @_);
42 if (my $obj = $r->object) {
43 my $url = $r->config->uri_base . "/" . $r->table . "/view/" . $obj->id;
44 $r->redirect_request(url => $url);
48 sub metadata: Exported {}