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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 26 - (show 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 package Transports::Dispatcher;
2 use Jifty::Dispatcher -base;
3
4 # Default page
5 #on '/', run {
6 # redirect( '/new');
7 #};
8
9 on '/transports', run {
10 my $transports = Transports::Model::TransportCollection->new();
11 $transports->unlimit();
12
13 set transports => $transports;
14 };
15
16 on '/new', run {
17 my $t = Jifty->web->new_action(
18 class => 'CreateTransport',
19 monkier => 'create',
20 );
21
22 set transport => $t;
23 set viewer => Jifty->web->new_action( class => 'UpdateTransport', record => $t );
24 };
25
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
32 set transport => Jifty->web->new_action( class => 'UpdateTransport', record => $t );
33 show('/edit');
34 };
35
36
37 # 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
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 1;

  ViewVC Help
Powered by ViewVC 1.1.26