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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 46 - (show annotations)
Sun Jan 21 12:40:13 2007 UTC (17 years, 3 months ago) by dpavlin
File size: 1193 byte(s)
login/signup/logout options
1 package SQLSession::Dispatcher;
2
3 use strict;
4 use warnings;
5
6 use Jifty::Dispatcher -base;
7
8 use Data::Dump qw/dump/;
9
10 before '*' => run {
11 my $top = Jifty->web->navigation;
12 my $edit = Jifty->config->app('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 $l->child( $label => url => '/list/database/' . $db->id );
22 }
23
24 if ( Jifty->web->current_user->id ) {
25 $top->child( 'Logout' => url => '/logout' );
26 } else {
27 $top->child( 'Login' => url => '/login' );
28 $top->child( 'Signup' => url => '/signup' );
29 }
30
31 };
32
33
34
35 under qr{sql/(\d+)} => run {
36
37 my $q = SQLSession::Model::Query->new();
38 $q->load( $1 ) or next_rule;
39
40 warn "q = ",dump( $q );
41
42 set sql_query => $q->sql_query;
43 set name => $q->name;
44 set database => $q->on_database->id;
45
46 show '/sql';
47
48 };
49
50 under 'list' => [
51
52 on qr{database/(\d+)} => run {
53 set database_id => $1;
54 },
55
56 show '/list',
57 ];
58
59 on 'new' => run {
60 show '/sql';
61 };
62
63 on '/' => run {
64 redirect '/list';
65 };
66
67 1;

  ViewVC Help
Powered by ViewVC 1.1.26