--- trunk/lib/SQLSession/Dispatcher.pm 2006/12/03 18:03:30 20 +++ trunk/lib/SQLSession/Dispatcher.pm 2007/01/18 18:16:32 40 @@ -7,6 +7,24 @@ use Data::Dump qw/dump/; +before '*' => run { + my $top = Jifty->web->navigation; + my $edit = Jifty->config->app('edit'); + $top->child( 'New' => url => '/new' ) if ($edit); + my $l = $top->child( 'List' => url => '/list' ); + + my $databases = SQLSession::Model::DatabaseCollection->new(); + $databases->unlimit; + while ( my $db = $databases->next ) { + my $label = $db->name; +# $label .= ' [' . $db->dsn . ']' if ($edit); + $l->child( $label => url => '/list/database/' . $db->id ); + } + +}; + + + under qr{sql/(\d+)} => run { my $q = SQLSession::Model::Query->new(); @@ -16,10 +34,27 @@ set sql_query => $q->sql_query; set name => $q->name; - set database => $q->on_database; + set database => $q->on_database->id; + + show '/sql'; - show '/sql.html'; +}; + +under 'list' => [ + + on qr{database/(\d+)} => run { + set database_id => $1; + }, + + show '/list', +]; + +on 'new' => run { + show '/sql'; +}; +on '/' => run { + redirect '/list'; }; 1;