#
__PACKAGE__->config(namespace => '');
-=head1 NAME
-
-test_chained::Controller::Root - Root Controller for test_chained
-
-=head1 DESCRIPTION
-
-[enter your description here]
-
-=head1 METHODS
-
-=head2 setup
-
-This is the C<setup> method that initializes the request. Any matching action
-will go through this, so it is an application-wide automatically executed
-action. For more information, see L<Catalyst::DispatchType::Chained>
-
-=cut
-
sub setup : Chained('/') PathPart('') CaptureArgs(0) {
my ( $self, $c ) = @_;
# Common things here are to check for ACL and setup global contexts
$c->response->body( "Application Home Page" );
}
-=head2 home_base
-
- Args:
- project_id
- project_title
-
-=cut
-
sub home_base : Chained('setup') PathPart('') CaptureArgs(2) {
my($self,$c,$proj_id,$title) = @_;
- $c->stash->{project_id}=$proj_id;
+ $c->stash({project_id=>$proj_id, project_title=>$title});
}
sub hpages : Chained('home_base') PathPart('') Args(0) {
my($self,$c) = @_;
- $c->response->body( "List project " . $c->stash->{project_id} . " pages");
+ $c->response->body( "List project " . $c->stash->{project_title} . " pages");
}
sub hpage : Chained('home_base') PathPart('') Args(2) {
my($self,$c,$page_id, $pagetitle) = @_;
- $c->response->body( "This is $pagetitle page of " . $c->stash->{project_id} . " project" );
+ $c->response->body( "This is $pagetitle page of " . $c->stash->{project_title} . " project" );
}
sub no_account : Chained('setup') PathPart('account') Args(0) {
$c->response->body( "This is account " . $c->stash->{account_id} );
}
-=head2 default
-
-Standard 404 error page
-
-=cut
+sub profile_base : Chained('setup') PathPart('account/profile') CaptureArgs(1) {
+ my($self,$c,$acc_id) = @_;
+ $c->stash({account_id=>$acc_id});
+}
-sub default : Chained('setup') PathPart('') Args() {
- my ( $self, $c ) = @_;
- $c->response->body( 'Page not found' );
- $c->response->status(404);
+sub profile : Chained('profile_base') PathPart('') Args(1) {
+ my($self,$c,$acc) = @_;
+ $c->response->body( "This is profile of " . $acc );
}
-=head2 end
+=head2 downloads
-Attempt to render a view, if needed.
+ This is a different test, this function is void, just to let following in the chain
+ to declare downloads as PathPart.
=cut
-sub end : ActionClass('RenderView') {}
-
-=head1 AUTHOR
-
-Ferruccio Zamuner
+sub downloads : Chained('setup') PathPart('') CaptureArgs(0) {
+ my($self,$c) = @_;
+}
-=head1 LICENSE
+sub downloads_index : Chained('downloads') PathPart('downloads') Args(0) {
+ my($self,$c) = @_;
+ $c->response->body( "This is download index");
+}
-This library is free software. You can redistribute it and/or modify
-it under the same terms as Perl itself.
+sub default : Chained('setup') PathPart('') Args() {
+ my ( $self, $c ) = @_;
+ $c->response->body( 'Page not found' );
+ $c->response->status(404);
+}
-=cut
+sub end : Action {}
__PACKAGE__->meta->make_immutable;