Fix bug in the tests
[catagits/Catalyst-Runtime.git] / t / lib / ChainedActionsApp / Controller / Root.pm
CommitLineData
6df93c61 1package ChainedActionsApp::Controller::Root;
2use Moose;
3use namespace::autoclean;
4
5BEGIN { extends 'Catalyst::Controller' }
6
7#
8# Sets the actions in this controller to be registered with no prefix
9# so they function identically to actions created in MyApp.pm
10#
11__PACKAGE__->config(namespace => '');
12
6df93c61 13sub setup : Chained('/') PathPart('') CaptureArgs(0) {
14 my ( $self, $c ) = @_;
15 # Common things here are to check for ACL and setup global contexts
16}
17
18sub home : Chained('setup') PathPart('') Args(0) {
19 my($self,$c) = @_;
20 $c->response->body( "Application Home Page" );
21}
22
6df93c61 23sub home_base : Chained('setup') PathPart('') CaptureArgs(2) {
24 my($self,$c,$proj_id,$title) = @_;
444e5611 25 $c->stash({project_id=>$proj_id, project_title=>$title});
6df93c61 26}
27
28sub hpages : Chained('home_base') PathPart('') Args(0) {
29 my($self,$c) = @_;
444e5611 30 $c->response->body( "List project " . $c->stash->{project_title} . " pages");
6df93c61 31}
32
33sub hpage : Chained('home_base') PathPart('') Args(2) {
34 my($self,$c,$page_id, $pagetitle) = @_;
444e5611 35 $c->response->body( "This is $pagetitle page of " . $c->stash->{project_title} . " project" );
6df93c61 36}
37
38sub no_account : Chained('setup') PathPart('account') Args(0) {
39 my($self,$c) = @_;
40 $c->response->body( "New account o login" );
41}
42
43sub account_base : Chained('setup') PathPart('account') CaptureArgs(1) {
44 my($self,$c,$acc_id) = @_;
45 $c->stash({account_id=>$acc_id});
46}
47
48sub account : Chained('account_base') PathPart('') Args(0) {
49 my($self,$c,$acc) = @_;
50 $c->response->body( "This is account " . $c->stash->{account_id} );
51}
52
6df93c61 53sub default : Chained('setup') PathPart('') Args() {
54 my ( $self, $c ) = @_;
55 $c->response->body( 'Page not found' );
56 $c->response->status(404);
57}
58
6a75eb0e 59sub end : Action {}
6df93c61 60
61__PACKAGE__->meta->make_immutable;
62
631;