diff options
author | groditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2008-02-02 18:40:58 +0000 |
---|---|---|
committer | groditi <groditi@03d0b0b2-0e1a-0410-a411-fdb2f4bd65d7> | 2008-02-02 18:40:58 +0000 |
commit | aee256be57519750d0e0a41a759069c4c1192409 (patch) | |
tree | 72c108c972f0afc74d065f3b8d2ee9d364250800 | |
parent | 13427367a812499857225b741a6aec2a15194aba (diff) | |
download | reaction-aee256be57519750d0e0a41a759069c4c1192409.tar.gz reaction-aee256be57519750d0e0a41a759069c4c1192409.zip |
the forwards on basic_page and basic_model_action were breaking config merging at the push viewport stage
-rw-r--r-- | lib/Reaction/UI/Controller/Collection.pm | 8 | ||||
-rw-r--r-- | lib/Reaction/UI/Controller/Collection/CRUD.pm | 12 |
2 files changed, 10 insertions, 10 deletions
diff --git a/lib/Reaction/UI/Controller/Collection.pm b/lib/Reaction/UI/Controller/Collection.pm index 77a0005..bdc43a6 100644 --- a/lib/Reaction/UI/Controller/Collection.pm +++ b/lib/Reaction/UI/Controller/Collection.pm @@ -47,17 +47,17 @@ sub object :Chained('base') :PathPart('id') :CaptureArgs(1) { sub list :Chained('base') :PathPart('') :Args(0) { my ($self, $c) = @_; - $c->forward(basic_page => [{ collection => $self->get_collection($c) }]); + $self->basic_page($c, [{ collection => $self->get_collection($c) }]); } sub view :Chained('object') :Args(0) { my ($self, $c) = @_; - $c->forward(basic_page => [{ model => $c->stash->{object} }]); + $self->basic_page($c, [{ model => $c->stash->{object} }]); } -sub basic_page : Private { +sub basic_page { my ($self, $c, $vp_args) = @_; - my $action_name = $c->stack->[-2]->name; + my $action_name = $c->stack->[-1]->name; return $self->push_viewport ( $self->action_viewport_map->{$action_name}, diff --git a/lib/Reaction/UI/Controller/Collection/CRUD.pm b/lib/Reaction/UI/Controller/Collection/CRUD.pm index 877f118..3c8c8dd 100644 --- a/lib/Reaction/UI/Controller/Collection/CRUD.pm +++ b/lib/Reaction/UI/Controller/Collection/CRUD.pm @@ -56,12 +56,12 @@ sub create :Chained('base') :PathPart('create') :Args(0) { next_action => 'list', on_apply_callback => sub { $self->after_create_callback($c => @_); }, }; - $c->forward( basic_model_action => [$vp_args]); + $self->basic_model_action( $c, [$vp_args]); } sub delete_all :Chained('base') :PathPart('delete_all') :Args(0) { my ($self, $c) = @_; - $c->forward(basic_model_action => [{ next_action => 'list'}]); + $self->basic_model_action( $c, [{ next_action => 'list'}]); } sub after_create_callback { @@ -76,7 +76,7 @@ sub update :Chained('object') :Args(0) { my @cap = @{$c->req->captures}; pop(@cap); # object id my $vp_args = { next_action => [ $self, 'redirect_to', 'list', \@cap ]}; - $c->forward(basic_model_action => [$vp_args]); + $self->basic_model_action( $c, [$vp_args]); } sub delete :Chained('object') :Args(0) { @@ -85,16 +85,16 @@ sub delete :Chained('object') :Args(0) { my @cap = @{$c->req->captures}; pop(@cap); # object id my $vp_args = { next_action => [ $self, 'redirect_to', 'list', \@cap ]}; - $c->forward(basic_model_action => [$vp_args]); + $self->basic_model_action( $c, [$vp_args]); } -sub basic_model_action :Private { +sub basic_model_action { my ($self, $c, $vp_args) = @_; my $target = exists $c->stash->{object} ? $c->stash->{object} : $self->get_collection($c); - my $cat_action_name = $c->stack->[-2]->name; + my $cat_action_name = $c->stack->[-1]->name; my $im_action_name = join('', (map{ ucfirst } split('_', $cat_action_name))); return $self->push_viewport ( |