--- trunk/lib/SQLSession/Dispatcher.pm 2007/01/21 12:40:13 46 +++ trunk/lib/SQLSession/Dispatcher.pm 2007/02/16 22:19:53 98 @@ -9,7 +9,7 @@ before '*' => run { my $top = Jifty->web->navigation; - my $edit = Jifty->config->app('edit'); + my $edit = Jifty->web->current_user->role('edit'); $top->child( 'New' => url => '/new' ) if ($edit); my $l = $top->child( 'List' => url => '/list' ); @@ -18,7 +18,10 @@ while ( my $db = $databases->next ) { my $label = $db->name; # $label .= ' [' . $db->dsn . ']' if ($edit); - $l->child( $label => url => '/list/database/' . $db->id ); + my $url = '/list/database/' . $db->id; + my $path = Jifty->web->request->path; +# warn "url: $url path: $path\n"; + $l->child( $label => url => $url => active => ( $url eq $path ) ); } if ( Jifty->web->current_user->id ) { @@ -28,8 +31,12 @@ $top->child( 'Signup' => url => '/signup' ); } -}; + if ( Jifty->web->current_user->role( 'admin' ) ) { + $top->child( 'Docs' => url => '/__jifty/online_docs/' ); + $top->child( 'Administration' => url => '/__jifty/admin/' ); + } +}; under qr{sql/(\d+)} => run { @@ -37,11 +44,11 @@ my $q = SQLSession::Model::Query->new(); $q->load( $1 ) or next_rule; - warn "q = ",dump( $q ); +# warn "q = ",dump( $q ); + +# Jifty->log->debug( dump($q) ); - set sql_query => $q->sql_query; - set name => $q->name; - set database => $q->on_database->id; + set q => $q; show '/sql'; @@ -50,7 +57,11 @@ under 'list' => [ on qr{database/(\d+)} => run { - set database_id => $1; + set on_database => $1; + }, + + on qr{date/(\d{4}-\d+-\d+)} => run { + set created_on => $1; }, show '/list', @@ -64,4 +75,11 @@ redirect '/list'; }; +on qr{^/feed/(atom|rss|rss2)}, run { + my $type = 'RSS'; + $type = 'Atom' if ($1 eq 'atom'); + set type => $type; + show('/feed'); +}; + 1;