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->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 |
|
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 |
|
}; |
35 |
|
|
36 |
|
|
37 |
|
|
38 |
under qr{sql/(\d+)} => run { |
under qr{sql/(\d+)} => run { |
39 |
|
|
40 |
my $q = SQLSession::Model::Query->new(); |
my $q = SQLSession::Model::Query->new(); |
44 |
|
|
45 |
set sql_query => $q->sql_query; |
set sql_query => $q->sql_query; |
46 |
set name => $q->name; |
set name => $q->name; |
47 |
set database => $q->on_database; |
set database => $q->on_database->id; |
48 |
|
|
49 |
|
show '/sql'; |
50 |
|
|
51 |
show '/sql.html'; |
}; |
52 |
|
|
53 |
|
under 'list' => [ |
54 |
|
|
55 |
|
on qr{database/(\d+)} => run { |
56 |
|
set database_id => $1; |
57 |
|
}, |
58 |
|
|
59 |
|
show '/list', |
60 |
|
]; |
61 |
|
|
62 |
|
on 'new' => run { |
63 |
|
show '/sql'; |
64 |
|
}; |
65 |
|
|
66 |
|
on '/' => run { |
67 |
|
redirect '/list'; |
68 |
}; |
}; |
69 |
|
|
70 |
1; |
1; |