[Rt-commit] rt branch, 3.999-trunk, updated. 4f190e181f7d06e898be15a40f061177c00b944d

jesse jesse at bestpractical.com
Wed Nov 18 14:04:56 EST 2009


The branch, 3.999-trunk has been updated
       via  4f190e181f7d06e898be15a40f061177c00b944d (commit)
       via  4ce73ffb9be070edff518a3693806e482b935fcd (commit)
      from  07a568aa289f24246a2924c7800ec079d524be5f (commit)

Summary of changes:
 lib/RT/Dispatcher.pm |  232 +++++++++++++++++++++++++-------------------------
 1 files changed, 117 insertions(+), 115 deletions(-)

- Log -----------------------------------------------------------------
commit 4ce73ffb9be070edff518a3693806e482b935fcd
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Wed Nov 18 14:03:22 2009 -0500

    first step of refactoring nav to not do so much computation.

diff --git a/lib/RT/Dispatcher.pm b/lib/RT/Dispatcher.pm
index 575f8bd..e902221 100644
--- a/lib/RT/Dispatcher.pm
+++ b/lib/RT/Dispatcher.pm
@@ -264,12 +264,15 @@ before qr{.*} => run {
         )
         )
     {
-        my $prefs = main_nav->child( _('Preferences'), url => '/Prefs/Other.html' );
+		
+		my $prefs = Jifty::Web::Menu->new( { label => _('Preferences'), url => '/Prefs/Other.html' });
 
         $prefs->child( _('Settings'),       url => '/Prefs/Other.html', );
         $prefs->child( _('About me'),       url => '/User/Prefs.html', );
         $prefs->child( _('Search options'), url => '/Prefs/SearchOptions.html', );
         $prefs->child( _('RT at a glance'), url => '/Prefs/MyRT.html', );
+
+        main_nav->child( 'Preferences' => menu => $prefs);
     }
 
     if (   Jifty->web->current_user->user_object

commit 4f190e181f7d06e898be15a40f061177c00b944d
Author: Jesse Vincent <jesse at bestpractical.com>
Date:   Wed Nov 18 14:04:46 2009 -0500

    perltidy

diff --git a/lib/RT/Dispatcher.pm b/lib/RT/Dispatcher.pm
index e902221..c0c979a 100644
--- a/lib/RT/Dispatcher.pm
+++ b/lib/RT/Dispatcher.pm
@@ -56,9 +56,9 @@ use RT;
 use RT::Interface::Web;
 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}
+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') ) {
@@ -100,8 +100,7 @@ before qr'^/(?!login)' => run {
         || Jifty->web->request->path =~ m{^/Elements/Footer$}
         || Jifty->web->request->path =~ m{^/Elements/Logo$}
         || Jifty->web->request->path =~ m{^/__jifty/test_warnings$}
-        || Jifty->web->request->path =~ m{^/__jifty/(css|js)} 
-		);
+        || Jifty->web->request->path =~ m{^/__jifty/(css|js)} );
 };
 
 before qr/(.*)/ => run {
@@ -264,15 +263,15 @@ before qr{.*} => run {
         )
         )
     {
-		
-		my $prefs = Jifty::Web::Menu->new( { label => _('Preferences'), url => '/Prefs/Other.html' });
+
+        my $prefs = Jifty::Web::Menu->new( { label => _('Preferences'), url => '/Prefs/Other.html' } );
 
         $prefs->child( _('Settings'),       url => '/Prefs/Other.html', );
         $prefs->child( _('About me'),       url => '/User/Prefs.html', );
         $prefs->child( _('Search options'), url => '/Prefs/SearchOptions.html', );
         $prefs->child( _('RT at a glance'), url => '/Prefs/MyRT.html', );
 
-        main_nav->child( 'Preferences' => menu => $prefs);
+        main_nav->child( 'Preferences' => menu => $prefs );
     }
 
     if (   Jifty->web->current_user->user_object
@@ -283,26 +282,26 @@ before qr{.*} => run {
 };
 
 before qr'Dashboards/?' => run {
-	require RT::Dashboard; # not a record class, so not autoloaded :/
-	page_nav->child( _('Select'), url => "/Dashboards/index.html" );
+    require RT::Dashboard;    # not a record class, so not autoloaded :/
+    page_nav->child( _('Select'), url => "/Dashboards/index.html" );
     if ( RT::Dashboard->new->_privacy_objects( create => 1 ) ) {
         page_nav->child( _('Create') => url => "/Dashboards/Modify.html?create=1" );
     }
 };
 
 before 'Dashboards/Modify.html' => run {
-    my $id = Jifty->web->request->argument('id') || '';
-	my $results = [];
-    my $Dashboard = RT::Dashboard->new(current_user => Jifty->web->current_user);
-	set Dashboard => $Dashboard;
+    my $id        = Jifty->web->request->argument('id') || '';
+    my $results   = [];
+    my $Dashboard = RT::Dashboard->new( current_user => Jifty->web->current_user );
+    set Dashboard => $Dashboard;
     my @privacies = $Dashboard->_privacy_objects( ( !$id ? 'create' : 'modify' ) => 1 );
-	set privacies => \@privacies;
+    set privacies => \@privacies;
 
-	push @$results,  _("Permission denied") if @privacies == 0;
+    push @$results, _("Permission denied") if @privacies == 0;
 
     if ( $id =~ /^\d+$/ ) {
         my ( $ok, $msg ) = $Dashboard->load_by_id($id);
-		push @$results, $msg unless ($ok);
+        push @$results, $msg unless ($ok);
         set title => _( "Modify the dashboard %1", $Dashboard->name );
     } else {
         set title => _("Create a new dashboard");
@@ -323,11 +322,14 @@ before 'Dashboards/Modify.html' => run {
 
         } elsif ( Jifty->web->request->argument('delete') ) {
             my ( $ok, $msg ) = $Dashboard->delete();
-			push @$results,	_( "Couldn't delete dashboard %1: %2", $id, $msg ) 
-			unless ($ok);
+            push @$results, _( "Couldn't delete dashboard %1: %2", $id, $msg )
+                unless ($ok);
 
             # put the user back into a useful place with a message
-            RT::Interface::Web::redirect( url => Jifty->web->url . "Dashboards/index.html?deleted=$id", messages => $results);
+            RT::Interface::Web::redirect(
+                url      => Jifty->web->url . "Dashboards/index.html?deleted=$id",
+                messages => $results
+            );
 
         }
 
@@ -337,7 +339,7 @@ before 'Dashboards/Modify.html' => run {
             privacy => Jifty->web->request->argument('privacy'),
         );
 
-		push @$results, _( "Dashboard could not be created: %1", $msg  ) if ( !$val );
+        push @$results, _( "Dashboard could not be created: %1", $msg ) if ( !$val );
 
         push @$results, $msg;
         RT::Interface::Web::redirect(
@@ -347,27 +349,27 @@ before 'Dashboards/Modify.html' => run {
 
     }
 
-	set Dashboard => $Dashboard;
-	set results => $results;
+    set Dashboard => $Dashboard;
+    set results   => $results;
 };
 
-
 before qr'Dashboards/(\d*)?' => run {
-    if ( my $id = ($1 || Jifty->web->request->argument('id') )) {
+    if ( my $id = ( $1 || Jifty->web->request->argument('id') ) ) {
         my $obj = RT::Dashboard->new();
         $obj->load_by_id($id);
         if ( $obj and $obj->id ) {
-            my $tabs = page_nav->child( "this" => label => $obj->name, url    => "/Dashboards/Modify.html?id=" . $obj->id);
+            my $tabs
+                = page_nav->child( "this" => label => $obj->name, url => "/Dashboards/Modify.html?id=" . $obj->id );
             $tabs->child( _('Basics'),       url => "/Dashboards/Modify.html?id=" . $obj->id );
             $tabs->child( _('Queries'),      url => "/Dashboards/Queries.html?id=" . $obj->id );
-            $tabs->child( _('Subscription'), url => "/Dashboards/Subscription.html?dashboard_id=" . $obj->id ) if $obj->current_user_can_subscribe;
+            $tabs->child( _('Subscription'), url => "/Dashboards/Subscription.html?dashboard_id=" . $obj->id )
+                if $obj->current_user_can_subscribe;
             $tabs->child( _('Show'), url => "/Dashboards/" . $obj->id . "/" . $obj->name )
 
         }
     }
 };
 
-
 before '/SelfService' => run {
 
     my $queues = RT::Model::QueueCollection->new();
@@ -383,9 +385,9 @@ before '/SelfService' => run {
         last if ( $queue_count > 1 );
     }
 
-	my $TOP = main_nav();
+    my $TOP = main_nav();
 
-	$TOP->child( _('Open tickets'),   url => '/SelfService/', );
+    $TOP->child( _('Open tickets'),   url => '/SelfService/', );
     $TOP->child( _('Closed tickets'), url => '/SelfService/Closed.html', );
     if ( $queue_count > 1 ) {
         $TOP->child( _('New ticket'), url => '/SelfService/CreateTicketInQueue.html' );
@@ -393,19 +395,19 @@ before '/SelfService' => run {
         $TOP->child( _('New ticket'), url => '/SelfService/Create.html?queue=' . $queue_id );
     }
 
-    if (Jifty->web->current_user->has_right( right  => 'ModifySelf', object => RT->system)) {
+    if ( Jifty->web->current_user->has_right( right => 'ModifySelf', object => RT->system ) ) {
         $TOP->child( _('Preferences'), url => '/SelfService/Prefs.html' );
     }
 
-	# XXX TODO RENDER GOTO TICKET WIDGET
-	#main_nav->child( B =>  html => $m->scomp('GotoTicket'))
+    # XXX TODO RENDER GOTO TICKET WIDGET
+    #main_nav->child( B =>  html => $m->scomp('GotoTicket'))
 };
 
 before 'Admin/Queues' => run {
-        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");
-        }
+    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" );
+    }
     if ( my $id = Jifty->web->request->argument('id') ) {
         my $queue_obj = RT::Model::Queue->new();
         $queue_obj->load($id);
@@ -415,7 +417,8 @@ before 'Admin/Queues' => run {
         $queue->child( _('Watchers'),  url => "/Admin/Queues/People.html?id=" . $id );
         $queue->child( _('Templates'), url => "/Admin/Queues/Templates.html?id=" . $id );
 
-        $queue->child( _('Ticket Custom Fields'), url => '/Admin/Queues/CustomFields.html?sub_type=RT::Model::Ticket&id=' . $id );
+        $queue->child( _('Ticket Custom Fields'),
+            url => '/Admin/Queues/CustomFields.html?sub_type=RT::Model::Ticket&id=' . $id );
 
         $queue->child( _('Transaction Custom Fields'),
             url => '/Admin/Queues/CustomFields.html?sub_type=RT::Model::Ticket-RT::Model::Transaction&id=' . $id );
@@ -426,20 +429,20 @@ before 'Admin/Queues' => run {
 };
 
 before '/Admin/Users' => run {
-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 ( 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') ) {
         my $obj = RT::Model::User->new();
         $obj->load($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);
-	       $tabs->child(_('RT at a glance'), url => "/Admin/Users/MyRT.html?id=".$id);
-    if ( RT->config->get('gnupg')->{'enable'} ) {
-			$tabs->child(_('GnuPG'), url  => "/Admin/Users/GnuPG.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 );
+        $tabs->child( _('RT at a glance'), url => "/Admin/Users/MyRT.html?id=" . $id );
+        if ( RT->config->get('gnupg')->{'enable'} ) {
+            $tabs->child( _('GnuPG'), url => "/Admin/Users/GnuPG.html?id=" . $id );
         }
     }
 
@@ -447,28 +450,24 @@ page_nav->child(_('Create'), url => "/Admin/Users/Modify.html?create=1", separat
 
 before 'Admin/Groups' => run {
 
-page_nav->child( _('Select') => url  => "/Admin/Groups/");
-page_nav->child( _('Create') => url      => "/Admin/Groups/Modify.html?create=1", separator => 1);
+    page_nav->child( _('Select') => url => "/Admin/Groups/" );
+    page_nav->child( _('Create') => url => "/Admin/Groups/Modify.html?create=1", separator => 1 );
     if ( my $id = Jifty->web->request->argument('id') ) {
         my $obj = RT::Model::User->new();
         $obj->load($id);
         my $tabs = page_nav->child( $obj->name, url => "/Admin/CustomFields/Modify.html?id=" . $id );
-        $tabs->child( _('Basics') => url  => "/Admin/Groups/Modify.html?id=" . $obj->id );
-        $tabs->child( _('Members') => url  => "/Admin/Groups/Members.html?id=" . $obj->id );
-        $tabs->child( _('Group rights') => url  => "/Admin/Groups/GroupRights.html?id=" . $obj->id );
-        $tabs->child( _('User rights') => url  => "/Admin/Groups/UserRights.html?id=" . $obj->id );
-        $tabs->child( _('History') => url  => "/Admin/Groups/History.html?id=" . $obj->id );
+        $tabs->child( _('Basics')       => url => "/Admin/Groups/Modify.html?id=" . $obj->id );
+        $tabs->child( _('Members')      => url => "/Admin/Groups/Members.html?id=" . $obj->id );
+        $tabs->child( _('Group rights') => url => "/Admin/Groups/GroupRights.html?id=" . $obj->id );
+        $tabs->child( _('User rights')  => url => "/Admin/Groups/UserRights.html?id=" . $obj->id );
+        $tabs->child( _('History')      => url => "/Admin/Groups/History.html?id=" . $obj->id );
     }
 };
 
-
 before 'Admin/CustomFields/' => run {
     if ( Jifty->web->current_user->has_right( object => RT->system, right => 'AdminCustomField' ) ) {
         page_nav->child( _('Select'), url => "/Admin/CustomFields/" );
-        page_nav->child(
-            _('Create') =>
-            url       => "/Admin/CustomFields/Modify.html?create=1",
-        );
+        page_nav->child( _('Create') => url => "/Admin/CustomFields/Modify.html?create=1", );
 
     }
     if ( my $id = Jifty->web->request->argument('id') ) {
@@ -491,7 +490,7 @@ before 'Admin/CustomFields/' => run {
 before 'Admin/Global/Workflows' => run {
     if ( my $id = Jifty->web->request->argument('name') ) {
 
-		my $base = '/Admin/Global/Workflows';
+        my $base = '/Admin/Global/Workflows';
 
         my $schema = RT::Workflow->new->load($id);
 
@@ -504,16 +503,16 @@ before 'Admin/Global/Workflows' => run {
             $workflow->child( _("Interface")   => url => "$base/Interface.html?$qs_name" );
         }
     }
-    };
+};
 
 before 'Admin/Rules' => run {
-        page_nav->child(_('Select'), url  => "/Admin/Rules/");
-        page_nav->child(_('Create'), url  => "/Admin/Rules/Modify.html?create=1");
+    page_nav->child( _('Select'), url => "/Admin/Rules/" );
+    page_nav->child( _('Create'), url => "/Admin/Rules/Modify.html?create=1" );
 };
 
 before qr'(?:Ticket|Search)/' => run {
-    if ( (Jifty->web->request->argument('id')||'') =~ /^(\d+)$/) {
-		my $id = $1;
+    if ( ( Jifty->web->request->argument('id') || '' ) =~ /^(\d+)$/ ) {
+        my $id  = $1;
         my $obj = RT::Model::Ticket->new();
         $obj->load($id);
 
@@ -549,7 +548,7 @@ before qr'(?:Ticket|Search)/' => run {
                 my $url = '/Ticket/';
                 if ($action) {
 
-                $url .= "Update.html?" . query_string( action => $action, default_status => $next, id => $id );
+                    $url .= "Update.html?" . query_string( action => $action, default_status => $next, id => $id );
                 } else {
 
                     #$url .= "Display.html?" .query_string(Status => $next, id => $id );
@@ -575,7 +574,6 @@ before qr'(?:Ticket|Search)/' => run {
 
         # $actions->{'_ZZ'} = { html => $m->scomp( '/Ticket/Elements/Bookmark', id => $obj->id ), };
 
-
         if ( defined Jifty->web->session->get('tickets') ) {
 
             # we have to update session data if we get new ItemMap
@@ -610,53 +608,57 @@ before qr'(?:Ticket|Search)/' => run {
                     );
                 }
             }
-		}
         }
-            my $args      = '';
-            my $has_query = '';
-
-            my $search = Jifty->web->session->get('CurrentSearchHash') || {};
-            my $search_id = Jifty->web->request->argument('saved_search_id') || $search->{'searchid'} || '';
+    }
+    my $args      = '';
+    my $has_query = '';
+
+    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'} );
+
+    my %query_args = (
+
+        saved_search_id => ( $search_id eq 'new' ) ? undef : $search_id,
+        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 => (
+            defined Jifty->web->request->argument('rows_per_page')
+            ? Jifty->web->request->argument('rows_per_page')
+            : $search->{'rows_per_page'}
+        )
+    );
 
-            $has_query = 1 if ( Jifty->web->request->argument('query') or $search->{'query'} );
+    $args = "?" . query_string(%query_args);
 
-            my %query_args = (
+    page_nav->child( _('New Search')  => url => "/Search/Build.html?new_query=1" );
+    page_nav->child( _('Edit Search') => url => "/Search/Build.html" . ( ($has_query) ? $args : '' ) );
+    page_nav->child( _('Advanced')    => url => "/Search/Edit.html$args" );
 
-                saved_search_id => ( $search_id eq 'new' ) ? undef : $search_id,
-                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 => (defined Jifty->web->request->argument('rows_per_page')  ?  Jifty->web->request->argument('rows_per_page') : $search->{'rows_per_page'})
+    if ($has_query) {
+        if (Jifty->web->request->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',
+                'Tickets:query' => $query_args{'query'},
+                'Tickets:limit' => $query_args{'rows_per_page'}
             );
 
-            $args = "?" . query_string(%query_args);
-
-            page_nav->child( _('New Search')  => url => "/Search/Build.html?new_query=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 (Jifty->web->request->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',
-                        'Tickets:query' => $query_args{'query'},
-                        'Tickets:limit' => $query_args{'rows_per_page'}
-                    );
-
-                    page_nav->child( 'shredder' =>  label => _('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" );
+        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" );
 
-            }
+    }
 };
 
 before 'User/Group' => run {
@@ -674,20 +676,19 @@ before 'User/Group' => run {
 };
 
 before 'Prefs' => run {
-	my $tabs;
-	my @searches = RT::System->new->saved_searches();
+    my $tabs;
+    my @searches = RT::System->new->saved_searches();
 
-	page_nav->child(  'Quick search' => label => _('Quick search'), url => '/Prefs/Quicksearch.html');
+    page_nav->child( 'Quick search' => label => _('Quick search'), url => '/Prefs/Quicksearch.html' );
 
-	for my $search (@searches) {
-	page_nav->child(
-        $search->[0],
-        url  => "/Prefs/Search.html?" .query_string( name => ref($search->[1]).'-'.$search->[1]->id));
+    for my $search (@searches) {
+        page_nav->child( $search->[0],
+            url => "/Prefs/Search.html?" . query_string( name => ref( $search->[1] ) . '-' . $search->[1]->id ) );
     }
 };
 
 before qr{^/Search/Build.html} => run {
-    my $querystring      = '';
+    my $querystring = '';
     my $selected_clauses = Jifty->web->request->argument('clauses') || 0;
     my ( $saved_search, $current_search, $results ) = RT::Interface::Web::QueryBuilder->setup_query();
 
@@ -741,8 +742,6 @@ before qr{^/Search/Build.html} => run {
 
 };
 
-
-
 # Backward compatibility with old RT URLs
 
 before '/NoAuth/Logout.html' => run { redirect '/logout' };

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


More information about the Rt-commit mailing list