/[transports]/trunk/lib/Transports/Dispatcher.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Transports/Dispatcher.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 33 by dpavlin, Sat May 27 10:45:54 2006 UTC revision 69 by dpavlin, Sun Jun 11 14:23:37 2006 UTC
# Line 6  use Jifty::Dispatcher -base; Line 6  use Jifty::Dispatcher -base;
6  #    redirect( '/new');  #    redirect( '/new');
7  #};  #};
8    
 =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');  
         }  
 };  
   
9  =head1 Login and logout operations  =head1 Login and logout operations
10    
11  =head2 login  =head2 login
12    
13  =cut  =cut
14    
15  on 'login', run {  on qr'^/login(/.*)?$', run {
16    
17            my $return_url = $1 || '/';
18    
19      set 'action' =>      set 'action' =>
20          Jifty->web->new_action( class => 'Login', moniker => 'loginbox' );          Jifty->web->new_action( class => 'Login', moniker => 'loginbox' );
21      set 'next' => Jifty->web->request->continuation      set 'next' => Jifty->web->request->continuation
22          || Jifty::Continuation->new(          || Jifty::Continuation->new(
23          request => Jifty::Request->new( path => "/" ) );          request => Jifty::Request->new( path => $return_url ) );
24            show '/login';
25  };  };
26    
27  =head2 logout  =head2 logout

Legend:
Removed from v.33  
changed lines
  Added in v.69

  ViewVC Help
Powered by ViewVC 1.1.26