/[SQLSession]/trunk/lib/SQLSession/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/SQLSession/Dispatcher.pm

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

revision 28 by dpavlin, Thu Dec 7 19:56:41 2006 UTC revision 87 by dpavlin, Mon Feb 5 18:27:46 2007 UTC
# Line 7  use Jifty::Dispatcher -base; Line 7  use Jifty::Dispatcher -base;
7    
8  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
9    
10    before '*' => run {
11            my $top = Jifty->web->navigation;
12            my $edit = Jifty->web->current_user->role('edit');
13            $top->child( 'New' => url => '/new' ) if ($edit);
14            my $l = $top->child( 'List' => url => '/list' );
15    
16            my $databases = SQLSession::Model::DatabaseCollection->new();
17            $databases->unlimit;
18            while ( my $db = $databases->next ) {
19                    my $label = $db->name;
20    #               $label .= ' [' . $db->dsn . ']' if ($edit);
21                    my $url = '/list/database/' . $db->id;
22                    my $path = Jifty->web->request->path;
23    #               warn "url: $url path: $path\n";
24                    $l->child( $label => url => $url => active => ( $url eq $path ) );
25            }
26    
27            if ( Jifty->web->current_user->id ) {
28                    $top->child( 'Logout' => url => '/logout' );
29            } else {
30                    $top->child( 'Login' => url => '/login' );
31                    $top->child( 'Signup' => url => '/signup' );
32            }
33    
34            if ( Jifty->web->current_user->role( 'admin' ) ) {
35                    $top->child( 'Docs' => url => '/__jifty/online_docs/' );
36                    $top->child( 'Administration' => url => '/__jifty/admin/' );
37            }
38    
39    };
40    
41    
42  under qr{sql/(\d+)} => run {  under qr{sql/(\d+)} => run {
43    
44          my $q = SQLSession::Model::Query->new();          my $q = SQLSession::Model::Query->new();
45          $q->load( $1 ) or next_rule;          $q->load( $1 ) or next_rule;
46    
47          warn "q = ",dump( $q );  #       warn "q = ",dump( $q );
48    
49          set sql_query => $q->sql_query;          set q => $q;
         set name => $q->name;  
         set database => $q->on_database->id;  
50    
51          show '/sql';          show '/sql';
52    
53  };  };
54    
55    under 'list' => [
56    
57            on qr{database/(\d+)} => run {
58                    set on_database => $1;
59            },
60    
61            on qr{date/(\d{4}-\d+-\d+)} => run {
62                    set created_on => $1;
63            }
64    
65            show '/list',
66    ];
67    
68  on 'new' => run {  on 'new' => run {
69          show '/sql';          show '/sql';
70  };  };
# Line 30  on '/' => run { Line 73  on '/' => run {
73          redirect '/list';          redirect '/list';
74  };  };
75    
76    on qr{^/feed/(atom|rss|rss2)}, run {
77            my $type = 'RSS';
78            $type = 'Atom' if ($1 eq 'atom');
79            set type => $type;
80            show('/feed');
81    };
82    
83  1;  1;

Legend:
Removed from v.28  
changed lines
  Added in v.87

  ViewVC Help
Powered by ViewVC 1.1.26