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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 40 - (hide annotations)
Thu Jan 18 18:16:32 2007 UTC (17 years, 3 months ago) by dpavlin
File size: 1001 byte(s)
sub-menu with databases under list
1 dpavlin 20 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 dpavlin 33 before '*' => run {
11     my $top = Jifty->web->navigation;
12     my $edit = Jifty->config->app('edit');
13     $top->child( 'New' => url => '/new' ) if ($edit);
14 dpavlin 40 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 dpavlin 33 };
25    
26    
27    
28 dpavlin 20 under qr{sql/(\d+)} => run {
29    
30     my $q = SQLSession::Model::Query->new();
31     $q->load( $1 ) or next_rule;
32    
33     warn "q = ",dump( $q );
34    
35     set sql_query => $q->sql_query;
36     set name => $q->name;
37 dpavlin 21 set database => $q->on_database->id;
38 dpavlin 20
39 dpavlin 22 show '/sql';
40 dpavlin 20
41     };
42    
43 dpavlin 39 under 'list' => [
44    
45     on qr{database/(\d+)} => run {
46     set database_id => $1;
47     },
48    
49     show '/list',
50     ];
51    
52 dpavlin 22 on 'new' => run {
53     show '/sql';
54 dpavlin 21 };
55    
56 dpavlin 22 on '/' => run {
57 dpavlin 28 redirect '/list';
58 dpavlin 22 };
59    
60 dpavlin 20 1;

  ViewVC Help
Powered by ViewVC 1.1.26