/[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 20 by dpavlin, Sun Dec 3 18:03:30 2006 UTC revision 91 by dpavlin, Mon Feb 5 21:29:48 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 q => $q;
50    
51            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          set sql_query => $q->sql_query;          show '/list',
66          set name => $q->name;  ];
         set database => $q->on_database;  
67    
68          show '/sql.html';  on 'new' => run {
69            show '/sql';
70    };
71    
72    on '/' => run {
73            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.20  
changed lines
  Added in v.91

  ViewVC Help
Powered by ViewVC 1.1.26