/[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 25 by dpavlin, Fri May 26 19:15:32 2006 UTC revision 34 by dpavlin, Sat May 27 13:30:54 2006 UTC
# Line 6  use Jifty::Dispatcher -base; Line 6  use Jifty::Dispatcher -base;
6  #    redirect( '/new');  #    redirect( '/new');
7  #};  #};
8    
9  on '/transports', run {  =head1 Transports operations
10    
11    =head2 transports
12    
13    list of all transports
14    
15    =cut
16    
17    on 'transports', run {
18          my $transports = Transports::Model::TransportCollection->new();          my $transports = Transports::Model::TransportCollection->new();
19      $transports->unlimit();      $transports->unlimit();
20    
21          set transports => $transports;          set transports => $transports;
22  };  };
23    
24  on '/new', run {  =head2 new
25    
26    new transport
27    
28    =cut
29    
30    on 'new', run {
31          my $t = Jifty->web->new_action(          my $t = Jifty->web->new_action(
32                  class => 'CreateTransport',                  class => 'CreateTransport',
33                  monkier => 'create',                  monkier => 'create',
34          );          );
35    
36          set transport => $t;          set transport => $t;
         set viewer => Jifty->web->new_action( class => 'UpdateTransport', record => $t );  
37  };  };
38    
39    =head2 /edit/42
40    
41    edit transport with request number C<42>
42    
43    =cut
44    
45    on qr'^/edit/(\d+)', run {
46            my $id = $1;
47            my $t = Transports::Model::Transport->new();
48            $t->load_by_cols( id => $id );
49            Jifty->web->redirect( '/new' ) unless ( $t->id );
50    
51            set transport => Jifty->web->new_action( class => 'UpdateTransport', record => $t );
52            show('/edit');
53    };
54    
55    =head1 User operations
56    
57    =head2 /user/42
58    
59    edit user with id C<42>
60    
61    =cut
62    
63    on qr'^/users?/?(\d*)', run {
64            my $id = $1;
65    
66            if ($id) {
67                    my $u = Transports::Model::User->new();
68                    $u->load_by_cols( id => $id );
69    
70                    set user_id => $id;
71    
72                    set user => Jifty->web->new_action(
73                            class => $u->id ? 'UpdateUser' : 'CreateUser',
74                            record => $u
75                    );
76    
77                    my $s = Transports::Model::UserOnSourceCollection->new;
78                    $s->limit(
79                            column          => 'user_on',
80                            value           => $id,
81                            quote_value     => 0,
82                    );
83                    $s->order_by( { column => 'source' } );
84                    set sources => $s;
85    
86                    set source => Jifty->web->new_action(
87                            class => 'CreateUserOnSource',
88                            monkier => 'create',
89                    );
90    
91                    show('/user_form');
92            } else {
93                    my $u = Transports::Model::UserCollection->new();
94                    $u->unlimit();
95                    set users => $u;
96                    show('/users');
97            }
98    };
99    
100    =head2 delete_user_on_system
101    
102    =cut
103    
104    on qr'^/delete_user_on_source/(\d+)', run {
105                    my $id = $1;
106                    my $u = Transports::Model::UserOnSource->new();
107                    $u->load_by_cols( id => $id );
108                    my $user_id = $u->user_on->id;
109                    $u->delete;
110                    redirect "/user/$user_id";
111    };
112    
113    
114    =head1 Login and logout operations
115    
116    =head2 login
117    
118    =cut
119    
 # Login  
120  on 'login', run {  on 'login', run {
121      set 'action' =>      set 'action' =>
122          Jifty->web->new_action( class => 'Login', moniker => 'loginbox' );          Jifty->web->new_action( class => 'Login', moniker => 'loginbox' );
# Line 34  on 'login', run { Line 125  on 'login', run {
125          request => Jifty::Request->new( path => "/" ) );          request => Jifty::Request->new( path => "/" ) );
126  };  };
127    
128  # Log out  =head2 logout
129    
130    =cut
131    
132  before 'logout', run {  before 'logout', run {
133      Jifty->web->request->add_action(      Jifty->web->request->add_action(
134          moniker => 'logout',          moniker => 'logout',

Legend:
Removed from v.25  
changed lines
  Added in v.34

  ViewVC Help
Powered by ViewVC 1.1.26