/[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 13 by dpavlin, Fri May 5 22:20:53 2006 UTC revision 65 by dpavlin, Sun Jun 11 02:59:18 2006 UTC
# Line 2  package Transports::Dispatcher; Line 2  package Transports::Dispatcher;
2  use Jifty::Dispatcher -base;  use Jifty::Dispatcher -base;
3    
4  # Default page  # Default page
5  on '/', run {  #on '/', run {
6      redirect( '/new_transport');  #    redirect( '/new');
7  };  #};
8    
9    =head1 Transports operations
10    
11    =head2 /edit/42
12    
13    edit transport with request number C<42>
14    
15    =cut
16    
17  on '/all_transports', run {  on qr'^/edit/(\d+)', run {
18          my $transports = Transports::Model::TransportCollection->new();          my $id = $1;
19      $transports->unlimit();          my $t = Transports::Model::Transport->new();
20            $t->load_by_cols( id => $id );
21            Jifty->web->redirect( '/new' ) unless ( $t->id );
22    
23          set transports => $transports;          set transport => Jifty->web->new_action( class => 'UpdateTransport', record => $t );
24            show('/edit');
25  };  };
26    
27  on '/new_transport', run {  =head2 /import/42
         my $t = Jifty->web->new_action(  
                 class => 'CreateTransport',  
                 monkier => 'create',  
         );  
28    
29          set transport => $t;  import transport with request number C<42>
30          set viewer => Jifty->web->new_action( class => 'UpdateTransport', record => $t );  
31    =cut
32    
33    on qr'^/import/(\d+)', run {
34            my $id = $1;
35            my $t = Transports::Model::Transport->new();
36            $t->load_by_cols( id => $id );
37            Jifty->web->redirect( '/transports' ) unless ( $t->id );
38    
39            set transport => Jifty->web->new_action( class => 'UpdateTransport', record => $t );
40            show('/import');
41  };  };
42    
43    =head1 Login and logout operations
44    
45    =head2 login
46    
47    =cut
48    
49    on qr'^/login(/.*)?$', run {
50    
51            my $return_url = $1 || '/';
52    
 # Login  
 on 'login', run {  
53      set 'action' =>      set 'action' =>
54          Jifty->web->new_action( class => 'Login', moniker => 'loginbox' );          Jifty->web->new_action( class => 'Login', moniker => 'loginbox' );
55      set 'next' => Jifty->web->request->continuation      set 'next' => Jifty->web->request->continuation
56          || Jifty::Continuation->new(          || Jifty::Continuation->new(
57          request => Jifty::Request->new( path => "/" ) );          request => Jifty::Request->new( path => $return_url ) );
58            show '/login';
59  };  };
60    
61  # Log out  =head2 logout
62    
63    =cut
64    
65  before 'logout', run {  before 'logout', run {
66      Jifty->web->request->add_action(      Jifty->web->request->add_action(
67          moniker => 'logout',          moniker => 'logout',
# Line 42  before 'logout', run { Line 69  before 'logout', run {
69      );      );
70  };  };
71    
72    
73    # These are dispatcher rules that halos and error handling need to be
74    # able to edit files in place.  These should become a plugin of some
75    # sort, when we have that infrastructure.
76    
77    before '*', run {
78        Jifty->api->allow(qr/^Jifty::Action::Devel/)
79          if Jifty->config->framework('DevelMode');
80    };
81    
82    on qr'^/__jifty/edit/(.*?)/(.*)$', run {
83        my $editor = Jifty->web->new_action(
84            class     => 'Jifty::Action::Devel::FileEditor',
85            moniker   => 'editpage',
86            arguments => {
87                source_path => $2,
88                file_type   => $1,
89            }
90        );
91    
92        set editor => $editor;
93        show '/__jifty/edit_file';
94    };
95    
96  1;  1;

Legend:
Removed from v.13  
changed lines
  Added in v.65

  ViewVC Help
Powered by ViewVC 1.1.26