--- trunk/lib/Transports/Dispatcher.pm 2006/05/26 21:21:25 27 +++ trunk/lib/Transports/Dispatcher.pm 2006/06/05 14:27:50 55 @@ -6,14 +6,15 @@ # redirect( '/new'); #}; -on '/transports', run { - my $transports = Transports::Model::TransportCollection->new(); - $transports->unlimit(); +=head1 Transports operations - set transports => $transports; -}; +=head2 new + +new transport -on '/new', run { +=cut + +on 'new', run { my $t = Jifty->web->new_action( class => 'CreateTransport', monkier => 'create', @@ -22,7 +23,13 @@ set transport => $t; }; -on qr'/edit/(\d+)', run { +=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 ); @@ -32,17 +39,66 @@ show('/edit'); }; +=head2 /import/42 + +import transport with request number C<42> + +=cut + +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 ); + + set transport => Jifty->web->new_action( class => 'UpdateTransport', record => $t ); + show('/import'); +}; + +=head1 User operations + +=head2 /user/42 + +edit user with id C<42> + +=cut + +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 + +=head2 login + +=cut + +on qr'^/login(/.*)?$', run { + + my $return_url = $1 || '/'; -# Login -on 'login', run { 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'; }; -# Log out +=head2 logout + +=cut + before 'logout', run { Jifty->web->request->add_action( moniker => 'logout',