--- trunk/lib/Transports/Dispatcher.pm 2006/05/27 10:45:54 33 +++ trunk/lib/Transports/Dispatcher.pm 2006/06/11 14:23:37 69 @@ -6,104 +6,22 @@ # redirect( '/new'); #}; -=head1 Transports operations - -=head2 transports - -list of all transports - -=cut - -on 'transports', run { - my $transports = Transports::Model::TransportCollection->new(); - $transports->unlimit(); - - set transports => $transports; -}; - -=head2 new - -new transport - -=cut - -on 'new', run { - my $t = Jifty->web->new_action( - class => 'CreateTransport', - monkier => 'create', - ); - - set transport => $t; -}; - -=head2 /edit/42 - -edit transport with request number C<42> - -=cut - -on qr'^/edit/(\d+)', run { - my $id = $1; - my $t = Transports::Model::Transport->new(); - $t->load_by_cols( id => $id ); - Jifty->web->redirect( '/new' ) unless ( $t->id ); - - set transport => Jifty->web->new_action( class => 'UpdateTransport', record => $t ); - show('/edit'); -}; - -=head1 User operations - -=head2 /user/42 - -edit user with id C<42> - -=cut - -on qr'^/users?/?(\d*)', run { - my $id = $1; - - if ($id) { - my $u = Transports::Model::User->new(); - $u->load_by_cols( id => $id ); - - set user_id => $id; - - set user => Jifty->web->new_action( - class => $u->id ? 'UpdateUser' : 'CreateUser', - record => $u - ); - - my $s = Transports::Model::UserOnSourceCollection->new; - $s->limit( - column => 'user_on', - value => $id, - quote_value => 0, - ); - $s->order_by( { column => 'source' } ); - set sources => $s; - - show('/user_form'); - } else { - my $u = Transports::Model::UserCollection->new(); - $u->unlimit(); - set users => $u; - show('/users'); - } -}; - =head1 Login and logout operations =head2 login =cut -on 'login', run { +on qr'^/login(/.*)?$', run { + + my $return_url = $1 || '/'; + set 'action' => Jifty->web->new_action( class => 'Login', moniker => 'loginbox' ); set 'next' => Jifty->web->request->continuation || Jifty::Continuation->new( - request => Jifty::Request->new( path => "/" ) ); + request => Jifty::Request->new( path => $return_url ) ); + show '/login'; }; =head2 logout