--- trunk/lib/Transports/Dispatcher.pm 2006/05/27 15:56:52 37 +++ trunk/lib/Transports/Dispatcher.pm 2006/06/05 14:27:50 55 @@ -39,64 +39,43 @@ show('/edit'); }; -=head1 User operations - -=head2 /user/42 +=head2 /import/42 -edit user with id C<42> +import transport with request number C<42> =cut -on qr'^/users?/?(\d*)', run { +on qr'^/import/(\d+)', run { my $id = $1; + my $t = Transports::Model::Transport->new(); + $t->load_by_cols( id => $id ); + Jifty->web->redirect( '/transports' ) unless ( $t->id ); - 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; - - set source => Jifty->web->new_action( - class => 'CreateUserOnSource', - monkier => 'create', - ); - - show('/user_form'); - } else { - my $u = Transports::Model::UserCollection->new(); - $u->unlimit(); - set users => $u; - show('/users'); - } + set transport => Jifty->web->new_action( class => 'UpdateTransport', record => $t ); + show('/import'); }; -=head2 delete_user_on_system +=head1 User operations + +=head2 /user/42 + +edit user with id C<42> =cut -on qr'^/delete_user_on_source/(\d+)', run { - my $id = $1; - my $u = Transports::Model::UserOnSource->new(); - $u->load_by_cols( id => $id ); - my $user_id = $u->user_on->id; - $u->delete; - redirect "/user/$user_id"; -}; +on qr'^/user/(\d+)', run { + my $u = Transports::Model::User->new(); + $u->load_by_cols( id => $1 ); + + set user_id => $1; + + set user => Jifty->web->new_action( + class => $u->id ? 'UpdateUser' : 'CreateUser', + record => $u + ); + show('/user_form'); +}; =head1 Login and logout operations @@ -104,12 +83,16 @@ =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