7 TestApp->config( $ENV{TESTAPP_CONFIG} );
\r
9 TestApp->setup( @{$ENV{TESTAPP_PLUGINS}} );
\r
11 sub user_login : Global {
\r
12 my ( $self, $c ) = @_;
\r
14 ## this allows anyone to login regardless of status.
\r
15 $c->authenticate({ username => $c->request->params->{'username'},
\r
16 password => $c->request->params->{'password'}
\r
19 if ( $c->user_exists ) {
\r
20 if ( $c->req->params->{detach} ) {
\r
21 $c->detach( $c->req->params->{detach} );
\r
23 $c->res->body( $c->user->get('username') . ' logged in' );
\r
26 $c->res->body( 'not logged in' );
\r
30 sub notdisabled_login : Global {
\r
31 my ( $self, $c ) = @_;
\r
33 $c->authenticate({ username => $c->request->params->{'username'},
\r
34 password => $c->request->params->{'password'},
\r
35 status => [ 'active', 'registered' ]
\r
38 if ( $c->user_exists ) {
\r
39 if ( $c->req->params->{detach} ) {
\r
40 $c->detach( $c->req->params->{detach} );
\r
42 $c->res->body( $c->user->get('username') . ' logged in' );
\r
45 $c->res->body( 'not logged in' );
\r
49 sub searchargs_login : Global {
\r
50 my ( $self, $c ) = @_;
\r
52 my $username = $c->request->params->{'username'} || '';
\r
53 my $email = $c->request->params->{'email'} || '';
\r
56 password => $c->request->params->{'password'},
\r
58 searchargs => [ { "-or" => [ username => $username,
\r
59 email => $email ]},
\r
60 { prefetch => qw/ map_user_role /}
\r
65 if ( $c->user_exists ) {
\r
66 if ( $c->req->params->{detach} ) {
\r
67 $c->detach( $c->req->params->{detach} );
\r
69 $c->res->body( $c->user->get('username') . ' logged in' );
\r
72 $c->res->body( 'not logged in' );
\r
76 sub resultset_login : Global {
\r
77 my ( $self, $c ) = @_;
\r
79 my $username = $c->request->params->{'username'} || '';
\r
80 my $email = $c->request->params->{'email'} || '';
\r
83 my $rs = $c->model('TestApp::User')->search({ "-or" => [ username => $username,
\r
84 email => $email ]});
\r
87 password => $c->request->params->{'password'},
\r
88 dbix_class => { resultset => $rs }
\r
91 if ( $c->user_exists ) {
\r
92 if ( $c->req->params->{detach} ) {
\r
93 $c->detach( $c->req->params->{detach} );
\r
95 $c->res->body( $c->user->get('username') . ' logged in' );
\r
98 $c->res->body( 'not logged in' );
\r
102 ## need to add a resultset login test and a search args login test
\r
104 sub user_logout : Global {
\r
105 my ( $self, $c ) = @_;
\r
109 if ( ! $c->user ) {
\r
110 $c->res->body( 'logged out' );
\r
113 $c->res->body( 'not logged ok' );
\r
117 sub get_session_user : Global {
\r
118 my ( $self, $c ) = @_;
\r
120 if ( $c->user_exists ) {
\r
121 $c->res->body( $c->user->get('username') );
\r
125 sub is_admin : Global {
\r
126 my ( $self, $c ) = @_;
\r
129 if ( $c->assert_user_roles( qw/admin/ ) ) {
\r
130 $c->res->body( 'ok' );
\r
134 $c->res->body( 'failed' );
\r
138 sub is_admin_user : Global {
\r
139 my ( $self, $c ) = @_;
\r
142 if ( $c->assert_user_roles( qw/admin user/ ) ) {
\r
143 $c->res->body( 'ok' );
\r
147 $c->res->body( 'failed' );
\r
151 sub set_usersession : Global {
\r
152 my ( $self, $c, $value ) = @_;
\r
153 $c->user_session->{foo} = $value;
\r
154 $c->res->body( 'ok' );
\r
157 sub get_usersession : Global {
\r
158 my ( $self, $c ) = @_;
\r
159 $c->res->body( $c->user_session->{foo} || '' );
\r