--- trunk/lib/SQLSession/Dispatcher.pm 2007/01/18 17:53:58 39 +++ trunk/lib/SQLSession/Dispatcher.pm 2007/01/28 11:36:37 75 @@ -9,9 +9,33 @@ 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); - $top->child( 'List' => url => '/list' ); + 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); + 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 ) { + $top->child( 'Logout' => url => '/logout' ); + } else { + $top->child( 'Login' => url => '/login' ); + $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/' ); + } + }; @@ -21,7 +45,7 @@ my $q = SQLSession::Model::Query->new(); $q->load( $1 ) or next_rule; - warn "q = ",dump( $q ); +# warn "q = ",dump( $q ); set sql_query => $q->sql_query; set name => $q->name;