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 |
$top->child( 'List' => url => '/list' ); |
15 |
}; |
16 |
|
17 |
|
18 |
|
19 |
under qr{sql/(\d+)} => run { |
20 |
|
21 |
my $q = SQLSession::Model::Query->new(); |
22 |
$q->load( $1 ) or next_rule; |
23 |
|
24 |
warn "q = ",dump( $q ); |
25 |
|
26 |
set sql_query => $q->sql_query; |
27 |
set name => $q->name; |
28 |
set database => $q->on_database->id; |
29 |
|
30 |
show '/sql'; |
31 |
|
32 |
}; |
33 |
|
34 |
on 'new' => run { |
35 |
show '/sql'; |
36 |
}; |
37 |
|
38 |
on '/' => run { |
39 |
redirect '/list'; |
40 |
}; |
41 |
|
42 |
1; |