Upgrade 4.0.17 clean.
[usit-rt.git] / share / html / Elements / Tabs
index 1887cfc..48fef90 100644 (file)
@@ -55,7 +55,7 @@ $request_path =~ s!/{2,}!/!g;
 my $query_string = sub {
     my %args = @_;
     my $u    = URI->new();
-    $u->query_form(%args);
+    $u->query_form(map { $_ => $args{$_} } sort keys %args);
     return $u->query;
 };
 
@@ -363,7 +363,7 @@ my $build_admin_menu = sub {
     if ( $request_path =~ m{^/Admin/Articles/Classes/} ) {
         my $tabs = PageMenu();
         if ( my $id = $DECODED_ARGS->{'id'} ) {
-            my $obj = RT::CustomField->new( $session{'CurrentUser'} );
+            my $obj = RT::Class->new( $session{'CurrentUser'} );
             $obj->Load($id);
 
             if ( $obj and $obj->id ) {
@@ -388,6 +388,9 @@ my $build_admin_menu = sub {
 
 my $build_main_nav = sub {
 
+    PageWidgets()->child( simple_search => raw_html => $m->scomp('SimpleSearch') );
+    PageWidgets()->child( create_ticket => raw_html => $m->scomp('CreateTicket') );
+
     my $home = Menu->child( home => title => loc('Homepage'), path => '/' );
     # We explicitly exclude superusers; otherwise the dashboards for
     # groups you're not in (but can see the dashboards of by dint of
@@ -488,9 +491,9 @@ my $build_main_nav = sub {
 
         for my $search (@$searches) {
             $search_menu->child( "search-" . $i++ =>
-                title => $search->[0],
+                title => $search->[1],
                 path  => "/Prefs/Search.html?"
-                       . $query_string->( name => ref( $search->[1] ) . '-' . $search->[1]->Id ),
+                       . $query_string->( name => ref( $search->[2] ) . '-' . $search->[2]->Id ),
             );
 
         }
@@ -773,8 +776,8 @@ my $build_main_nav = sub {
                 &&                        #XXX TODO better abstraction
                 $session{'CurrentUser'}->HasRight( Right => 'SuperUser', Object => RT->System )) {
                 my $shred_args = $query_string->(
-                    search          => 1,
-                    plugin          => 'Tickets',
+                    Search          => 1,
+                    Plugin          => 'Tickets',
                     'Tickets:query' => $rss_data{'Query'},
                     'Tickets:limit' => $QueryArgs->{'Rows'},
                 );
@@ -798,6 +801,10 @@ my $build_main_nav = sub {
     }
 
     if ( $request_path =~ m{^/Articles/} ) {
+        PageWidgets()->child( article_search => raw_html => $m->scomp('/Articles/Elements/GotoArticle') );
+        PageWidgets()->delete('create_ticket');
+        PageWidgets()->delete('simple_search');
+
         my $tabs = PageMenu();
         $tabs->child( search => title => loc("Search"),       path => "/Articles/Article/Search.html" );
         $tabs->child( create => title => loc("New Article" ), path => "/Articles/Article/PreCreate.html" );
@@ -825,9 +832,6 @@ my $build_main_nav = sub {
         PageMenu()->child( edit => title => loc('Edit'), path => '/Prefs/MyRT.html' );
     }
 
-    PageWidgets()->child( simple_search => raw_html => $m->scomp('SimpleSearch') );
-    PageWidgets()->child( create_ticket => raw_html => $m->scomp('CreateTicket') );
-
     $m->callback( CallbackName => 'Privileged' );
 };