/[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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 26 - (hide annotations)
Fri May 26 19:29:07 2006 UTC (17 years, 11 months ago) by dpavlin
File size: 1840 byte(s)
added edit transport
1 dpavlin 5 package Transports::Dispatcher;
2     use Jifty::Dispatcher -base;
3    
4     # Default page
5 dpavlin 25 #on '/', run {
6     # redirect( '/new');
7     #};
8 dpavlin 5
9 dpavlin 25 on '/transports', run {
10 dpavlin 12 my $transports = Transports::Model::TransportCollection->new();
11     $transports->unlimit();
12    
13     set transports => $transports;
14     };
15    
16 dpavlin 25 on '/new', run {
17 dpavlin 13 my $t = Jifty->web->new_action(
18     class => 'CreateTransport',
19     monkier => 'create',
20     );
21 dpavlin 12
22 dpavlin 13 set transport => $t;
23     set viewer => Jifty->web->new_action( class => 'UpdateTransport', record => $t );
24     };
25    
26 dpavlin 26 on qr'/edit/(\d+)', run {
27     my $id = $1;
28     my $t = Transports::Model::Transport->new();
29     $t->load_by_cols( id => $id );
30     Jifty->web->redirect( '/new' ) unless ( $t->id );
31 dpavlin 13
32 dpavlin 26 set transport => Jifty->web->new_action( class => 'UpdateTransport', record => $t );
33     show('/edit');
34     };
35 dpavlin 13
36 dpavlin 26
37 dpavlin 5 # Login
38     on 'login', run {
39     set 'action' =>
40     Jifty->web->new_action( class => 'Login', moniker => 'loginbox' );
41     set 'next' => Jifty->web->request->continuation
42     || Jifty::Continuation->new(
43     request => Jifty::Request->new( path => "/" ) );
44     };
45    
46     # Log out
47     before 'logout', run {
48     Jifty->web->request->add_action(
49     moniker => 'logout',
50     class => 'Transports::Action::Logout'
51     );
52     };
53    
54 dpavlin 14
55     # These are dispatcher rules that halos and error handling need to be
56     # able to edit files in place. These should become a plugin of some
57     # sort, when we have that infrastructure.
58    
59     before '*', run {
60     Jifty->api->allow(qr/^Jifty::Action::Devel/)
61     if Jifty->config->framework('DevelMode');
62     };
63    
64     on qr'^/__jifty/edit/(.*?)/(.*)$', run {
65     my $editor = Jifty->web->new_action(
66     class => 'Jifty::Action::Devel::FileEditor',
67     moniker => 'editpage',
68     arguments => {
69     source_path => $2,
70     file_type => $1,
71     }
72     );
73    
74     set editor => $editor;
75     show '/__jifty/edit_file';
76     };
77    
78 dpavlin 5 1;

  ViewVC Help
Powered by ViewVC 1.1.26