[Rt-commit] rt branch, menu-redo, updated. 099c92d0aca0266d25407ba472c2a94d7e0780d1

jesse jesse at bestpractical.com
Wed Oct 21 16:04:46 EDT 2009


The branch, menu-redo has been updated
       via  099c92d0aca0266d25407ba472c2a94d7e0780d1 (commit)
      from  5de9412625427cd37b13b066d6e6b6979e3e0fb7 (commit)

Summary of changes:
 lib/RT/Dispatcher.pm |  143 +++++++++++++++++++++-----------------------------
 1 files changed, 59 insertions(+), 84 deletions(-)

- Log -----------------------------------------------------------------
commit 099c92d0aca0266d25407ba472c2a94d7e0780d1
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Wed Oct 21 16:00:31 2009 -0400

    a bit more menu refactoring

diff --git a/lib/RT/Dispatcher.pm b/lib/RT/Dispatcher.pm
index 8c1389c..2306856 100644
--- a/lib/RT/Dispatcher.pm
+++ b/lib/RT/Dispatcher.pm
@@ -325,43 +325,76 @@ before qr{.*} => run {
     }
 };
 
-=for later Navigation
 
-# Top level tabs /Elements/Tabs
-my $basetopactions = {
-	a => { html => $m->scomp('/Elements/CreateTicket')	
-		},
-	b => { html => $m->scomp('/Elements/SimpleSearch') 
-		}
-	};
 
+before '/SelfService' => sub {
 
+    my $queues = RT::Model::QueueCollection->new( current_user => Jifty->web->current_user );
+    $queues->find_all_rows;
 
+    my $queue_count = 0;
+    my $queue_id    = 1;
 
-if (!defined $toptabs) {
-   $toptabs = $basetabs;
-}
-if (!defined $topactions) {
-   $topactions = $basetopactions;
-}
-                    
-# Now let callbacks add their extra tabs
-$m->callback(
-    topactions => $topactions, 
-    toptabs    => $toptabs,
-    %ARGS
-);
+    while ( my $queue = $queues->next ) {
+        next unless $queue->current_user_has_right('CreateTicket');
+        $queue_id = $queue->id;
+        $queue_count++;
+        last if ( $queue_count > 1 );
+    }
 
-#/Tools tabs
-my $tabs = {
-};
+    if ($label) {
+        $label = _("RT Self Service") . " / " . $label;
+    } else {
+        $label = _("RT Self Service");
+
+    }
+    Jifty->web->navigation->child(
+        A   => label => _('Open tickets'),
+        url => 'SelfService/',
+    );
+    Jifty->web->navigation->child(
+        B   => label => _('Closed tickets'),
+        url => 'SelfService/Closed.html',
+    );
+    if ( $queue_count > 1 ) {
+        Jifty->web->navigation->child(
+            C   => label => _('New ticket'),
+            url => 'SelfService/CreateTicketInQueue.html'
+        );
+    } else {
+        Jifty->web->navigation->child(
+            C   => label => _('New ticket'),
+            url => 'SelfService/Create.html?queue=' . $queue_id
+        );
+    }
+
+    if (Jifty->web->current_user->has_right(
+            right  => 'ModifySelf',
+            object => RT->system
+        )
+        )
+    {
+        Jifty->web->navigation->child(
+            Z   => label => _('Preferences'),
+            url => 'SelfService/Prefs.html'
+        );
+    }
 
-#/Tools/Reports tabs
-my $tabs = {
 };
 
 
 
+=for later Navigation
+
+# Top level tabs /Elements/Tabs
+my $basetopactions = {
+	a => { html => $m->scomp('/Elements/CreateTicket')	
+		},
+	b => { html => $m->scomp('/Elements/SimpleSearch') 
+		}
+	};
+
+
 
 # /Tools/Dashboards tabs
 my $tabs;
@@ -426,53 +459,6 @@ Jifty->web->navigation->child( "B" =>  label     => _('New dashboard'),
 
 # /SelfService Tabs
 
-<a name="skipnav" id="skipnav" accesskey="8"></a>
-<%INIT>
-my $queues = RT::Model::QueueCollection->new( current_user => Jifty->web->current_user );
-$queues->find_all_rows;
-
-my $queue_count = 0;
-my $queue_id = 1;
-
-while (my $queue = $queues->next) {
-  next unless $queue->current_user_has_right('CreateTicket');
-  $queue_id = $queue->id;
-  $queue_count++;
-  last if ($queue_count > 1);
-}
-
-if ($label) {
-$label = _("RT Self Service") . " / " . $label;
-} else {
-$label = _("RT Self Service");
-
-}
-my ($tab);
-my $tabs = { Jifty->web->navigation->child( A =>  label => _('Open tickets'),
-                        url => 'SelfService/',
-                      );
-             Jifty->web->navigation->child( B =>  label => _('Closed tickets'),
-                         url => 'SelfService/Closed.html',
-                       );
-           };
-
-if ($queue_count > 1) {
-Jifty->web->navigation->child( C =>  label => _('New ticket'),
-                       url => 'SelfService/CreateTicketInQueue.html'
-                       };
-} else {
-Jifty->web->navigation->child( C =>  label => _('New ticket'),
-                       url => 'SelfService/Create.html?queue=' . $queue_id
-                       };
-}
-
-if (Jifty->web->current_user->has_right( right => 'ModifySelf',
-				       object => RT->system )) {
-Jifty->web->navigation->child( Z =>  label => _('Preferences'),
-		       url => 'SelfService/Prefs.html'
-		       };
-}
-
 my $actions = {
 	Jifty->web->navigation->child( B =>  html => $m->scomp('GotoTicket') 
 		}
@@ -877,17 +863,6 @@ Jifty->web->navigation->child( "j" =>
 
 }
 
-foreach my $searchtab ( keys %{$searchtabs} ) {
-    ( $searchtab =~ /^_/ )
-        ? $tabs->{ "s" . $searchtab } = $searchtabs->{$searchtab}
-        : $tabs->{ "z_" . $searchtab } = $searchtabs->{$searchtab};
-
-}
-
-# /Admin/tools
-    my $tabs = {
-    };
-
 # /Admin/Rules
     my $tabs = {
         Jifty->web->navigation->child( A =>  label => _('Select'),

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


More information about the Rt-commit mailing list