[Rt-commit] rt branch, menu-redo, updated. 3e167cfb2ed07f703db4b0280ccd65b929a28a97

jesse jesse at bestpractical.com
Tue Nov 3 18:45:12 EST 2009


The branch, menu-redo has been updated
       via  3e167cfb2ed07f703db4b0280ccd65b929a28a97 (commit)
       via  14471d00ffa4e38e5c0b4b2286c6f8a4549a2803 (commit)
       via  9af290bcb0b7b5c75b20b4260e50daa5f533abcd (commit)
       via  2b6f92ad7cfb8a30acefa36c8e39f8060e137f76 (commit)
      from  2cf8b263dfa8251235698f7f1f1236568e034d3d (commit)

Summary of changes:
 lib/RT/Dispatcher.pm                         |  129 +++++++++++--------------
 lib/RT/Record.pm                             |   20 ++++
 share/html/Admin/Elements/EditTemplates      |    6 +-
 share/html/Admin/Elements/ModifyTemplate     |    2 +-
 share/html/Elements/Header                   |    5 +
 share/html/Elements/SelectQueue              |    4 +-
 share/html/Search/Elements/SearchesForObject |   14 +---
 7 files changed, 89 insertions(+), 91 deletions(-)

- Log -----------------------------------------------------------------
commit 2b6f92ad7cfb8a30acefa36c8e39f8060e137f76
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Tue Nov 3 16:58:45 2009 -0500

    Now it actually runs

diff --git a/lib/RT/Dispatcher.pm b/lib/RT/Dispatcher.pm
index df296a1..a118b46 100644
--- a/lib/RT/Dispatcher.pm
+++ b/lib/RT/Dispatcher.pm
@@ -331,11 +331,10 @@ before '/SelfService' => sub {
     }
 
 	# XXX TODO RENDER GOTO TICKET WIDGET
-	#Jifty->web->navigation->child( B =>  html => $m->scomp('GotoTicket')
+	#Jifty->web->navigation->child( B =>  html => $m->scomp('GotoTicket'))
 };
 
 before 'Admin/Queues' => sub {
-    my $tabs;
         if ( Jifty->web->current_user->has_right( object => RT->system, right => 'AdminQueue' ) ) {
             page_nav->child( _('Select'), url => "/Admin/Queues/" );
             page_nav->child( _('Create'), url       => "/Admin/Queues/Modify.html?create=1");
@@ -359,15 +358,16 @@ before 'Admin/Queues' => sub {
     }
 };
 
-before 'Admin/Users' => sub {
+before '/Admin/Users' => sub {
 if (Jifty->web->current_user->has_right( object => RT->system, right => 'AdminUsers')) {
 page_nav->child(_('Select'), url => "/Admin/Users/");
 page_nav->child(_('Create'), url => "/Admin/Users/Modify.html?create=1", separator => 1);
 }
     if ( my $id = Jifty->web->request->argument('id') ) {
+	warn "loading user $id";
         my $obj = RT::Model::User->new();
         $obj->load($id);
-		my $tabs = page_nav->child($obj->Name, url => "/Admin/Users/Modify.html?id=".$id,);
+		my $tabs = page_nav->child('current' => label => $obj->name, url => "/Admin/Users/Modify.html?id=".$id,);
 	       $tabs->child(_('Basics'), url => "/Admin/Users/Modify.html?id=".$id);
 	       $tabs->child(_('Memberships'), url => "/Admin/Users/Memberships.html?id=".$id);
 	       $tabs->child(_('History'), url => "/Admin/Users/History.html?id=".$id);
@@ -425,16 +425,17 @@ before 'Admin/CustomFields/' => sub {
 before 'Admin/Global/Workflows' => sub {
     if ( my $id = Jifty->web->request->argument('name') ) {
 
+		my $base = '/Admin/Global/Workflows';
+
         my $schema = RT::Workflow->new->load($id);
 
         if ($schema) {
-            my $qs_name = $m->comp( '/Elements/QueryString', name => $schema->name );
-            $workflow = page_nav->child( $schema->name, url => "$base/Summary.html?$qs_name" );
+            my $qs_name = URI->new->query_form( name => $schema->name );
+            my $workflow = page_nav->child( $schema->name, url => "$base/Summary.html?$qs_name" );
             $workflow->child( _("Summary")     => url => "$base/Summary.html?$qs_name" );
             $workflow->child( _("Statuses")    => url => "$base/Statuses.html?$qs_name" );
             $workflow->child( _("Transitions") => url => "$base/Transitions.html?$qs_name" );
             $workflow->child( _("Interface")   => url => "$base/Interface.html?$qs_name" );
-            );
         }
     }
     };
@@ -444,7 +445,8 @@ before 'Admin/Rules' => sub {
         page_nav->child(_('Create'), url  => "/Admin/Rules/Modify.html?create=1");
 };
 
-before 'Ticket/' => sub {
+before qr'(?:Ticket|Search)/' => sub {
+	my $self = shift;
     if ( my $id = Jifty->web->request->argument('id') ) {
         my $obj = RT::Model::Ticket->new();
         $obj->load($id);
@@ -481,12 +483,12 @@ before 'Ticket/' => sub {
                 my $url = 'Ticket/';
                 if ($action) {
 
-   #XXX TODO
-   #$url .= "Update.html?" . $m->comp( '/Elements/QueryString', action => $action, default_status => $next, id => $id );
+                #XXX TODO
+                #$url .= "Update.html?" . URI->new->query_form( action => $action, default_status => $next, id => $id );
                 } else {
 
                     #XXX TODO
-                    # $url .= "Display.html?" . $m->comp( '/Elements/QueryString', Status => $next, id => $id );
+                    # $url .= "Display.html?" .URI->new->query_form(Status => $next, id => $id );
                 }
                 $tabs->child( _( $schema->transition_label( $current => $next ) ) => url => $url );
             }
@@ -509,7 +511,7 @@ before 'Ticket/' => sub {
 
         # $actions->{'_ZZ'} = { html => $m->scomp( '/Ticket/Elements/Bookmark', id => $obj->id ), };
 
-        my $id = $ticket->id();
+        my $id = $obj->id();
 
         if ( defined Jifty->web->session->get('tickets') ) {
 
@@ -523,21 +525,21 @@ before 'Ticket/' => sub {
             }
 
             # Don't display prev links if we're on the first ticket
-            if ( $item_map->{ $ticket->id }->{prev} ) {
+            if ( $item_map->{$id}->{prev} ) {
                 page_nav->child(
                     '<< ' . _('First') => class => "nav",
                     url                => "Ticket/Display.html?id=" . $item_map->{first}
                 );
                 page_nav->child(
                     '< ' . _('Prev') => class => "nav",
-                    url              => "Ticket/Display.html?id=" . $item_map->{ $ticket->id }->{prev}
+                    url              => "Ticket/Display.html?id=" . $item_map->{$id}->{prev}
                 );
 
                 # Don't display next links if we're on the last ticket
-                if ( $item_map->{ $ticket->id }->{next} ) {
+                if ( $item_map->{$id}->{next} ) {
                     page_nav->child(
                         _('next') . ' >' => class => "nav",
-                        url              => "Ticket/Display.html?id=" . $item_map->{ $ticket->id }->{next}
+                        url              => "Ticket/Display.html?id=" . $item_map->{$id}->{next}
                     );
                     page_nav->child(
                         _('Last') . ' >>' => class => "nav",
@@ -551,32 +553,32 @@ before 'Ticket/' => sub {
             my %query_args;
 
             my $search = Jifty->web->session->get('CurrentSearchHash') || {};
-            my $search_id = $ARGS{'saved_search_id'} || $search->{'searchid'} || '';
+            my $search_id = Jifty->web->request->argument('saved_search_id') || $search->{'searchid'} || '';
 
-            $has_query = 1 if ( $ARGS{'query'} or $search->{'query'} );
+            $has_query = 1 if ( Jifty->web->request->argument('query') or $search->{'query'} );
 
             %query_args = (
 
                 saved_search_id => ( $search_id eq 'new' ) ? undef : $search_id,
-                query         => $ARGS{'query'}         || $search->{'query'},
-                format        => $ARGS{'format'}        || $search->{'format'},
-                order_by      => $ARGS{'order_by'}      || $search->{'order_by'},
-                order         => $ARGS{'order'}         || $search->{'order'},
-                page          => $ARGS{'page'}          || $search->{'page'},
-                rows_per_page => $ARGS{'rows_per_page'} || $search->{'rows_per_page'}
+                query         => Jifty->web->request->argument('query')         || $search->{'query'},
+                format        => Jifty->web->request->argument('format')        || $search->{'format'},
+                order_by      => Jifty->web->request->argument('order_by')      || $search->{'order_by'},
+                order         => Jifty->web->request->argument('order')         || $search->{'order'},
+                page          => Jifty->web->request->argument('page')          || $search->{'page'},
+                rows_per_page => Jifty->web->request->argument('rows_per_page') || $search->{'rows_per_page'}
             );
 
-            $args = "?" . URI->new->query_form( %query_args );
+            $args = "?" . URI->new->query_form(%query_args);
 
             $search->child( _('New Search')  => url => "Search/Build.html?NewQuery=1" );
             $search->child( _('Edit Search') => url => "Search/Build.html" . ( ($has_query) ? $args : '' ) );
             $search->child( _('Advanced')    => url => "Search/Edit.html$args" );
 
             if ($has_query) {
-
-                before 'Search/Results.html' =>
-
-                    if ( Jifty->web->current_user->has_right( right => 'SuperUser', object => RT->system ) ) {
+                if ($self->{path} =~ qr|^Search/Results.html| &&    #XXX TODO better abstraction
+                    Jifty->web->current_user->has_right( right => 'SuperUser', object => RT->system )
+                    )
+                {
                     my $shred_args = URI->new->query_param(
                         search          => 1,
                         plugin          => 'Tickets',
@@ -584,7 +586,7 @@ before 'Ticket/' => sub {
                         'Tickets:limit' => $query_args{'rows'}
                     );
 
-                    page_nav->child( _('Shredder') url => 'Admin/Tools/Shredder/?' . $shred_args );
+                    page_nav->child( 'shredder' =>  label => _('Shredder'), url => 'Admin/Tools/Shredder/?' . $shred_args );
                 }
 
                 page_nav->child( _('Show Results') => url => "Search/Results.html$args" );
@@ -612,14 +614,14 @@ before 'User/Group' => sub {
 
 before 'Prefs' => sub {
 	my $tabs;
-	$searches ||= [$m->comp("/Search/Elements/SearchesForObject", object => RT::System->new())];
+	my $searches = RT::System->new->saved_searches();
 
 	page_nav->child(  'Quick search' => label => _('Quick search'), url => '/Prefs/Quicksearch.html');
 
 	for my $search (@$searches) {
-	page_nav->child(  $search->[0]  =>
-        label => $search->[0],
-        url  => "Prefs/Search.html?" .URI->new->query_form( name => ref($search->[1]).'-'.$search->[1]->id),
+	page_nav->child(
+        $search->[0],
+        url  => "/Prefs/Search.html?" .URI->new->query_form( name => ref($search->[1]).'-'.$search->[1]->id));
     }
 };
 
@@ -629,9 +631,9 @@ under '/' => sub {
 # Top level tabs /Elements/Tabs
 warn "Adding create ticket and simplesearch are todo";
 my $basetopactions = {
-	a => { html => $m->scomp('/Elements/CreateTicket')
+	a => { html => '',#$m->scomp('/Elements/CreateTicket')
 		},
-	b => { html => $m->scomp('/Elements/SimpleSearch')
+	b => { html => ''#$m->scomp('/Elements/SimpleSearch')
 		}
 	};
 
diff --git a/lib/RT/Record.pm b/lib/RT/Record.pm
index 14ec55f..83422de 100755
--- a/lib/RT/Record.pm
+++ b/lib/RT/Record.pm
@@ -1579,6 +1579,26 @@ sub load_custom_field_by_identifier {
 }
 
 
+=head2 saved_searches
+
+Returns an array of search objects associated on $object, in the form of [description, searchObj]
+
+=cut
+ 
+sub saved_searches {
+    my $self = shift;
+    my @result;
+    while ( my $search = $self->attributes->next ) {
+        my $desc;
+        if ( $search->name eq 'saved_search' ) {
+            push @result, [ $search->description, $search ];
+        } elsif ( $search->name =~ m/^Search - (.*)/ ) {
+            push @result, [ $1, $search ];
+        }
+    }
+    return @result;
+
+}
 
 
 sub wiki_base {
diff --git a/share/html/Search/Elements/SearchesForObject b/share/html/Search/Elements/SearchesForObject
index c4b36bc..32e287f 100644
--- a/share/html/Search/Elements/SearchesForObject
+++ b/share/html/Search/Elements/SearchesForObject
@@ -49,17 +49,5 @@
 $object => undef
 </%args>
 <%init>
-# Returns an array of search objects associated on $object,
-# in the form of [description, searchObj]
-my @result;
-while (my $search = $object->attributes->next) {
-    my $desc;
-    if ($search->name eq 'saved_search') {
-	push @result, [$search->description, $search];
-    }
-    elsif ($search->name =~ m/^Search - (.*)/) {
-	push @result, [$1, $search];
-    }
-}
-return @result;
+return $object->saved_searches();
 </%init>

commit 9af290bcb0b7b5c75b20b4260e50daa5f533abcd
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Tue Nov 3 17:08:05 2009 -0500

    work toward bringing the template admin ui back from the dead

diff --git a/share/html/Admin/Elements/EditTemplates b/share/html/Admin/Elements/EditTemplates
index 270fde4..95e50a0 100755
--- a/share/html/Admin/Elements/EditTemplates
+++ b/share/html/Admin/Elements/EditTemplates
@@ -75,8 +75,8 @@
 
 <%INIT>
 my $dir_path = $m->request_comp->dir_path;
-$format ||= qq{'<a href="__WebPath__$dir_path/Template.html?queue=$id&Template=__id__">__id__</a>/TITLE:#'}
-    .qq{,'<a href="__WebPath__$dir_path/Template.html?queue=$id&Template=__id__">__name__</a>/TITLE:name'}
+$format ||= qq{'<a href="__WebPath__$dir_path/Template.html?queue=$id&template=__id__">__id__</a>/TITLE:#'}
+    .qq{,'<a href="__WebPath__$dir_path/Template.html?queue=$id&template=__id__">__name__</a>/TITLE:name'}
     .qq{,'__description__'};
 
 my $queue_obj = RT::Model::Queue->new( current_user => Jifty->web->current_user );
@@ -103,7 +103,7 @@ foreach my $key (keys %ARGS) {
 }
 
 foreach my $id( @delete_templates ) {
-    my $template_obj = RT::Model::Template->new( current_user => Jifty->web->current_user );
+    my $template_obj = RT::Model::Template->new( );
     $template_obj->load( $id );
     unless ( $template_obj->id ) {
         push @actions, _("Couldn't load template #%1", $id);
diff --git a/share/html/Admin/Elements/ModifyTemplate b/share/html/Admin/Elements/ModifyTemplate
index 894dcd2..85070e1 100755
--- a/share/html/Admin/Elements/ModifyTemplate
+++ b/share/html/Admin/Elements/ModifyTemplate
@@ -68,7 +68,7 @@
 </td>
 <td>
 <textarea name="content" rows="25" cols="80" wrap="soft">
-<%$Content%></textarea>
+<%$content%></textarea>
 </td>
 </tr>
 </table>

commit 14471d00ffa4e38e5c0b4b2286c6f8a4549a2803
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Tue Nov 3 18:00:33 2009 -0500

    at least for now move our menuish widgetts that aren't menu items out into the page body

diff --git a/lib/RT/Dispatcher.pm b/lib/RT/Dispatcher.pm
index a118b46..50a764e 100644
--- a/lib/RT/Dispatcher.pm
+++ b/lib/RT/Dispatcher.pm
@@ -56,9 +56,8 @@ use RT;
 use RT::Interface::Web;
 use RT::Interface::Web::Handler;
 
-sub page_nav {
-	return Jifty->web->page_navigation();
-}
+sub main_nav { return Jifty->web->navigation() }
+sub page_nav { return Jifty->web->page_navigation(); }
 
 
 before qr/.*/ => run {
@@ -185,10 +184,11 @@ on qr{^/Ticket/Graphs/(\d+)} => run {
 };
 
 before qr{.*} => run {
-    Jifty->web->navigation->child( _('Homepage'),      url => '/' );
-    Jifty->web->navigation->child( _('Simple Search'), url => '/Search/Simple.html' );
-    Jifty->web->navigation->child( _('Tickets'),       url => '/Search/Build.html' );
-    my $tools = Jifty->web->navigation->child( _('Tools'), url => '/Tools/index.html' );
+	page_nav->render_children_inline(1);
+    main_nav->child( _('Homepage'),      url => '/' );
+    main_nav->child( _('Simple Search'), url => '/Search/Simple.html' );
+    main_nav->child( _('Tickets'),       url => '/Search/Build.html' );
+    my $tools = main_nav->child( _('Tools'), url => '/Tools/index.html' );
     $tools->child( _('Dashboards'), url => '/Dashboards/index.html' );
 
     my $reports = $tools->child( _('Reports'), url => '/Tools/Reports/index.html' );
@@ -201,7 +201,7 @@ before qr{.*} => run {
     if (   Jifty->web->current_user->user_object
         && Jifty->web->current_user->has_right( right => 'ShowConfigTab', object => RT->system ) )
     {
-        my $admin = Jifty->web->navigation->child( Config => label => _('Configuration'), url => '/Admin/' );
+        my $admin = main_nav->child( Config => label => _('Configuration'), url => '/Admin/' );
         $admin->child( _('Users'),         url => '/Admin/Users/', );
         $admin->child( _('Groups'),        url => '/Admin/Groups/', );
         $admin->child( _('Queues'),        url => '/Admin/Queues/', );
@@ -264,7 +264,7 @@ before qr{.*} => run {
         )
         )
     {
-        my $prefs = Jifty->web->navigation->child( _('Preferences'), url => '/Prefs/Other.html' );
+        my $prefs = main_nav->child( _('Preferences'), url => '/Prefs/Other.html' );
 
         $prefs->child( _('Settings'),       url => '/Prefs/Other.html', );
         $prefs->child( _('About me'),       url => '/User/Prefs.html', );
@@ -275,7 +275,7 @@ before qr{.*} => run {
     if (   Jifty->web->current_user->user_object
         && Jifty->web->current_user->has_right( right => 'ShowApprovalsTab', object => RT->system ) )
     {
-        Jifty->web->navigation->child( _('Approval'), url => '/Approvals/' );
+        main_nav->child( _('Approval'), url => '/Approvals/' );
     }
 };
 
@@ -316,7 +316,7 @@ before '/SelfService' => sub {
         last if ( $queue_count > 1 );
     }
 
-	my $TOP = Jifty->web->navigation();
+	my $TOP = main_nav();
 
 	$TOP->child( _('Open tickets'),   url => '/SelfService/', );
     $TOP->child( _('Closed tickets'), url => '/SelfService/Closed.html', );
@@ -331,7 +331,7 @@ before '/SelfService' => sub {
     }
 
 	# XXX TODO RENDER GOTO TICKET WIDGET
-	#Jifty->web->navigation->child( B =>  html => $m->scomp('GotoTicket'))
+	#main_nav->child( B =>  html => $m->scomp('GotoTicket'))
 };
 
 before 'Admin/Queues' => sub {
@@ -511,7 +511,6 @@ before qr'(?:Ticket|Search)/' => sub {
 
         # $actions->{'_ZZ'} = { html => $m->scomp( '/Ticket/Elements/Bookmark', id => $obj->id ), };
 
-        my $id = $obj->id();
 
         if ( defined Jifty->web->session->get('tickets') ) {
 
@@ -547,7 +546,8 @@ before qr'(?:Ticket|Search)/' => sub {
                     );
                 }
             }
-
+		}
+        }
             my $args      = '';
             my $has_query = '';
             my %query_args;
@@ -570,9 +570,9 @@ before qr'(?:Ticket|Search)/' => sub {
 
             $args = "?" . URI->new->query_form(%query_args);
 
-            $search->child( _('New Search')  => url => "Search/Build.html?NewQuery=1" );
-            $search->child( _('Edit Search') => url => "Search/Build.html" . ( ($has_query) ? $args : '' ) );
-            $search->child( _('Advanced')    => url => "Search/Edit.html$args" );
+            page_nav->child( _('New Search')  => url => "Search/Build.html?NewQuery=1" );
+            page_nav->child( _('Edit Search') => url => "Search/Build.html" . ( ($has_query) ? $args : '' ) );
+            page_nav->child( _('Advanced')    => url => "Search/Edit.html$args" );
 
             if ($has_query) {
                 if ($self->{path} =~ qr|^Search/Results.html| &&    #XXX TODO better abstraction
@@ -594,8 +594,6 @@ before qr'(?:Ticket|Search)/' => sub {
                 page_nav->child( _('Bulk Update') => url => "Search/Bulk.html$args" );
 
             }
-        }
-    }
 };
 
 before 'User/Group' => sub {
@@ -625,20 +623,6 @@ before 'Prefs' => sub {
     }
 };
 
-
-under '/' => sub {
-
-# Top level tabs /Elements/Tabs
-warn "Adding create ticket and simplesearch are todo";
-my $basetopactions = {
-	a => { html => '',#$m->scomp('/Elements/CreateTicket')
-		},
-	b => { html => ''#$m->scomp('/Elements/SimpleSearch')
-		}
-	};
-
-};
-
 # Backward compatibility with old RT URLs
 
 before '/NoAuth/Logout.html' => run { redirect '/logout' };
diff --git a/share/html/Elements/Header b/share/html/Elements/Header
index a1615ee..a3e20ef 100755
--- a/share/html/Elements/Header
+++ b/share/html/Elements/Header
@@ -107,6 +107,10 @@
 
 % Jifty->web->navigation->render_as_yui_menubar();
 % Jifty->web->page_navigation->render_as_yui_menubar();
+
+<& /Elements/CreateTicket &>
+<& /Elements/SimpleSearch &>
+
 %# template login already has div with id "body"
 % unless ( Jifty->web->request->path =~ m{^/login} ) {
 <div id="body">

commit 3e167cfb2ed07f703db4b0280ccd65b929a28a97
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Tue Nov 3 18:44:55 2009 -0500

    Further work to get menus rendering.

diff --git a/lib/RT/Dispatcher.pm b/lib/RT/Dispatcher.pm
index 50a764e..d42dfbe 100644
--- a/lib/RT/Dispatcher.pm
+++ b/lib/RT/Dispatcher.pm
@@ -58,7 +58,7 @@ use RT::Interface::Web::Handler;
 
 sub main_nav { return Jifty->web->navigation() }
 sub page_nav { return Jifty->web->page_navigation(); }
-
+sub query_string { my %args = @_; my $u = URI->new(); $u->query_form(%args); return $u->query}
 
 before qr/.*/ => run {
     if ( int RT->config->get('auto_logoff') ) {
@@ -430,7 +430,7 @@ before 'Admin/Global/Workflows' => sub {
         my $schema = RT::Workflow->new->load($id);
 
         if ($schema) {
-            my $qs_name = URI->new->query_form( name => $schema->name );
+            my $qs_name = query_string( name => $schema->name );
             my $workflow = page_nav->child( $schema->name, url => "$base/Summary.html?$qs_name" );
             $workflow->child( _("Summary")     => url => "$base/Summary.html?$qs_name" );
             $workflow->child( _("Statuses")    => url => "$base/Statuses.html?$qs_name" );
@@ -484,11 +484,11 @@ before qr'(?:Ticket|Search)/' => sub {
                 if ($action) {
 
                 #XXX TODO
-                #$url .= "Update.html?" . URI->new->query_form( action => $action, default_status => $next, id => $id );
+                #$url .= "Update.html?" . query_string( action => $action, default_status => $next, id => $id );
                 } else {
 
                     #XXX TODO
-                    # $url .= "Display.html?" .URI->new->query_form(Status => $next, id => $id );
+                    # $url .= "Display.html?" .query_string(Status => $next, id => $id );
                 }
                 $tabs->child( _( $schema->transition_label( $current => $next ) ) => url => $url );
             }
@@ -527,22 +527,22 @@ before qr'(?:Ticket|Search)/' => sub {
             if ( $item_map->{$id}->{prev} ) {
                 page_nav->child(
                     '<< ' . _('First') => class => "nav",
-                    url                => "Ticket/Display.html?id=" . $item_map->{first}
+                    url                => "/Ticket/Display.html?id=" . $item_map->{first}
                 );
                 page_nav->child(
                     '< ' . _('Prev') => class => "nav",
-                    url              => "Ticket/Display.html?id=" . $item_map->{$id}->{prev}
+                    url              => "/Ticket/Display.html?id=" . $item_map->{$id}->{prev}
                 );
 
                 # Don't display next links if we're on the last ticket
                 if ( $item_map->{$id}->{next} ) {
                     page_nav->child(
                         _('next') . ' >' => class => "nav",
-                        url              => "Ticket/Display.html?id=" . $item_map->{$id}->{next}
+                        url              => "/Ticket/Display.html?id=" . $item_map->{$id}->{next}
                     );
                     page_nav->child(
                         _('Last') . ' >>' => class => "nav",
-                        url               => "Ticket/Display.html?id=" . $item_map->{last}
+                        url               => "/Ticket/Display.html?id=" . $item_map->{last}
                     );
                 }
             }
@@ -550,14 +550,13 @@ before qr'(?:Ticket|Search)/' => sub {
         }
             my $args      = '';
             my $has_query = '';
-            my %query_args;
 
             my $search = Jifty->web->session->get('CurrentSearchHash') || {};
             my $search_id = Jifty->web->request->argument('saved_search_id') || $search->{'searchid'} || '';
 
             $has_query = 1 if ( Jifty->web->request->argument('query') or $search->{'query'} );
 
-            %query_args = (
+            my %query_args = (
 
                 saved_search_id => ( $search_id eq 'new' ) ? undef : $search_id,
                 query         => Jifty->web->request->argument('query')         || $search->{'query'},
@@ -568,11 +567,11 @@ before qr'(?:Ticket|Search)/' => sub {
                 rows_per_page => Jifty->web->request->argument('rows_per_page') || $search->{'rows_per_page'}
             );
 
-            $args = "?" . URI->new->query_form(%query_args);
+            $args = "?" . query_string(%query_args);
 
-            page_nav->child( _('New Search')  => url => "Search/Build.html?NewQuery=1" );
-            page_nav->child( _('Edit Search') => url => "Search/Build.html" . ( ($has_query) ? $args : '' ) );
-            page_nav->child( _('Advanced')    => url => "Search/Edit.html$args" );
+            page_nav->child( _('New Search')  => url => "/Search/Build.html?NewQuery=1" );
+            page_nav->child( _('Edit Search') => url => "/Search/Build.html" . ( ($has_query) ? $args : '' ) );
+            page_nav->child( _('Advanced')    => url => "/Search/Edit.html$args" );
 
             if ($has_query) {
                 if ($self->{path} =~ qr|^Search/Results.html| &&    #XXX TODO better abstraction
@@ -589,9 +588,9 @@ before qr'(?:Ticket|Search)/' => sub {
                     page_nav->child( 'shredder' =>  label => _('Shredder'), url => 'Admin/Tools/Shredder/?' . $shred_args );
                 }
 
-                page_nav->child( _('Show Results') => url => "Search/Results.html$args" );
+                page_nav->child( _('Show Results') => url => "/Search/Results.html$args" );
 
-                page_nav->child( _('Bulk Update') => url => "Search/Bulk.html$args" );
+                page_nav->child( _('Bulk Update') => url => "/Search/Bulk.html$args" );
 
             }
 };
@@ -619,7 +618,7 @@ before 'Prefs' => sub {
 	for my $search (@$searches) {
 	page_nav->child(
         $search->[0],
-        url  => "/Prefs/Search.html?" .URI->new->query_form( name => ref($search->[1]).'-'.$search->[1]->id));
+        url  => "/Prefs/Search.html?" .query_string( name => ref($search->[1]).'-'.$search->[1]->id));
     }
 };
 
diff --git a/share/html/Elements/Header b/share/html/Elements/Header
index a3e20ef..d89bf3a 100755
--- a/share/html/Elements/Header
+++ b/share/html/Elements/Header
@@ -104,13 +104,14 @@
 % }
 </div>
 
-
-% Jifty->web->navigation->render_as_yui_menubar();
-% Jifty->web->page_navigation->render_as_yui_menubar();
+% if ( Jifty->web->current_user->user_object) {
 
 <& /Elements/CreateTicket &>
 <& /Elements/SimpleSearch &>
+%} 
 
+% Jifty->web->navigation->render_as_yui_menubar();
+% Jifty->web->page_navigation->render_as_yui_menubar();
 %# template login already has div with id "body"
 % unless ( Jifty->web->request->path =~ m{^/login} ) {
 <div id="body">
diff --git a/share/html/Elements/SelectQueue b/share/html/Elements/SelectQueue
index 1343feb..b21fa96 100755
--- a/share/html/Elements/SelectQueue
+++ b/share/html/Elements/SelectQueue
@@ -46,7 +46,7 @@
 %# 
 %# END BPS TAGGED BLOCK }}}
 % if ($lite) {
-%     my $d = RT::Model::Queue->new( current_user => Jifty->web->current_user );
+%     my $d = RT::Model::Queue->new();
 %     $d->load($default);
 <input name="<%$name%>" size="25" value="<%$d->name%>" class="<%$class%>" />
 % }
@@ -90,7 +90,7 @@ my $cache_key = "SelectQueue---"
                 . "---$check_queue_right---$show_all_queues";
 
 if (not defined Jifty->web->session->get($cache_key) and not $lite) {
-    my $q = RT::Model::QueueCollection->new( current_user => Jifty->web->current_user );
+    my $q = RT::Model::QueueCollection->new();
     $q->find_all_rows;
     
     while (my $queue = $q->next) {

-----------------------------------------------------------------------


More information about the Rt-commit mailing list