[Rt-commit] rt branch, menu-redo, updated. cad3a511f54cc9a44c2d3cb70a3df5d36cab1848
jesse
jesse at bestpractical.com
Wed Nov 11 11:19:44 EST 2009
The branch, menu-redo has been updated
via cad3a511f54cc9a44c2d3cb70a3df5d36cab1848 (commit)
via 6a54c61e93b471b661561c4514e396042a040252 (commit)
via cd1d0982ac3ae62ef23e7ca776dbfdc1c119dd07 (commit)
via 0111a5cbd31b99b6d54134f01ed89b21d40fcaa6 (commit)
via 9e27011cd2e530b816e11e224136332dc8ab751e (commit)
via 73e641ad05c09bead2b3e6f870c3593497ac7520 (commit)
via 72c3edcb7492c6494f94bac38f356bd1efa3fec2 (commit)
via 966e2a4af4b98cc2bd46992acc705024ead99728 (commit)
from be53efba177c74e642650d7a3bdcda3d7639140d (commit)
Summary of changes:
lib/RT/Collection.pm | 6 +-
lib/RT/Dispatcher.pm | 9 ++--
lib/RT/Interface/Web/Handler.pm | 1 -
lib/RT/Model/AttachmentCollection.pm | 5 --
lib/RT/Model/ScripActionCollection.pm | 7 ---
lib/RT/Model/TemplateCollection.pm | 16 ------
lib/RT/Test.pm | 1 -
share/html/Admin/Elements/ObjectCustomFields | 8 +--
.../Admin/Global/Workflows/Elements/MissingMaps | 2 +-
share/html/Admin/Global/Workflows/Interface.html | 4 +-
share/html/Admin/Global/Workflows/Mappings.html | 8 ++--
share/html/Admin/Global/Workflows/Statuses.html | 4 +-
share/html/Admin/Global/Workflows/Summary.html | 2 +-
share/html/Admin/Global/Workflows/Transitions.html | 4 +-
share/html/Admin/Global/Workflows/index.html | 4 +-
share/html/Admin/Users/Memberships.html | 3 +-
share/html/Admin/Users/Modify.html | 4 +-
share/html/Dashboards/Render.html | 2 +-
share/html/Dashboards/Subscription.html | 2 +-
share/html/Search/Build.html | 3 +-
share/html/Search/Bulk.html | 34 +++++--------
share/html/Search/Elements/ResultViews | 4 +-
share/html/Search/Results.html | 54 +++++++++-----------
share/html/Widgets/SavedSearch | 2 +-
t/mail/sendmail.t | 6 +-
25 files changed, 74 insertions(+), 121 deletions(-)
- Log -----------------------------------------------------------------
commit cd1d0982ac3ae62ef23e7ca776dbfdc1c119dd07
Merge: be53efb 0111a5c
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Nov 11 09:24:37 2009 -0500
Merge commit 'origin/3.999-trunk' into menu-redo
* commit 'origin/3.999-trunk':
Remove kludges for Devel::Cover. Jifty now does that for us.
Remove new_item from Collection classes, which is provided by JDBI::Collection.
Use record_class instead of instantiate dummy object.
warning fix
fix uninitialized warnings
Conflicts:
share/html/Admin/Global/Workflows/Elements/Tabs
commit 6a54c61e93b471b661561c4514e396042a040252
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Nov 11 11:17:54 2009 -0500
When building formats actually pass request args down the chain rather than our 'sets' from the dispatcher
diff --git a/share/html/Search/Build.html b/share/html/Search/Build.html
index 9472111..c7ec9b5 100644
--- a/share/html/Search/Build.html
+++ b/share/html/Search/Build.html
@@ -89,7 +89,8 @@
</div>
<span id="display-options">
<& Elements/DisplayOptions,
- %ARGS, %$current_search,
+ %{Jifty->web->request->arguments},
+ %$current_search,
available_columns => $available_columns,
current_format => $current_format,
&>
commit cad3a511f54cc9a44c2d3cb70a3df5d36cab1848
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Wed Nov 11 11:18:58 2009 -0500
rows -> rows_per_page for consistency
handle the case where we're passing an array_ref for order_by into Results/Display.html.
diff --git a/lib/RT/Dispatcher.pm b/lib/RT/Dispatcher.pm
index 8d0fe11..70a3885 100644
--- a/lib/RT/Dispatcher.pm
+++ b/lib/RT/Dispatcher.pm
@@ -428,7 +428,6 @@ 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('current' => label => $obj->name, url => "/Admin/Users/Modify.html?id=".$id,);
@@ -628,12 +627,12 @@ before qr'(?:Ticket|Search)/' => run {
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'}
+ rows_per_page => (defined Jifty->web->request->argument('rows_per_page') ? Jifty->web->request->argument('rows_per_page') : $search->{'rows_per_page'})
);
$args = "?" . query_string(%query_args);
- page_nav->child( _('New Search') => url => "/Search/Build.html?NewQuery=1" );
+ 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" );
@@ -646,7 +645,7 @@ before qr'(?:Ticket|Search)/' => run {
search => 1,
plugin => 'Tickets',
'Tickets:query' => $query_args{'query'},
- 'Tickets:limit' => $query_args{'rows'}
+ 'Tickets:limit' => $query_args{'rows_per_page'}
);
page_nav->child( 'shredder' => label => _('Shredder'), url => 'Admin/Tools/Shredder/?' . $shred_args );
diff --git a/share/html/Search/Bulk.html b/share/html/Search/Bulk.html
index 1955a96..aea884b 100755
--- a/share/html/Search/Bulk.html
+++ b/share/html/Search/Bulk.html
@@ -46,15 +46,6 @@
%#
%# END BPS TAGGED BLOCK }}}
<&| /_elements/wrapper, title => $title &>
-<& /Elements/Tabs,
- current_tab => "Search/Bulk.html",
- title => $title,
- format => $ARGS{'format'}, # we don't want the locally modified one
- query => $query,
- rows => $rows,
- order_by => $order_by,
- order => $order,
- saved_search_id => $saved_search_id &>
<& /Elements/ListActions, actions => \@results &>
<form method="post" action="<% RT->config->get('web_path') %>/Search/Bulk.html" enctype="multipart/form-data">
@@ -68,7 +59,7 @@
allow_sorting => 1,
order_by => $order_by,
order => $order,
- rows => $rows,
+ rows => $rows_per_page,
page => $page,
base_url => RT->config->get('web_path')."/Search/Bulk.html?",
class => 'RT::Model::TicketCollection'
@@ -171,9 +162,9 @@ $cfs->limit_to_queue($_) for keys %$seen_queues;
<tr>
<td class="label"><%$cf->name%><br />
<em>(<%$cf->friendly_type%>)</em></td>
-% my $rows = 5;
-% my @add = (name_prefix => 'Bulk-Add-CustomField-', custom_field => $cf, rows => $rows, Multiple => ($cf->max_values ==1 ? 0 : 1) , Cols => 25);
-% my @del = (name_prefix => 'Bulk-Delete-CustomField-', custom_field => $cf, rows => $rows, Multiple => 1, Cols => 25);
+% my $cf_size = 5;
+% my @add = (name_prefix => 'Bulk-Add-CustomField-', custom_field => $cf, rows => $cf_size, Multiple => ($cf->max_values ==1 ? 0 : 1) , Cols => 25);
+% my @del = (name_prefix => 'Bulk-Delete-CustomField-', custom_field => $cf, rows => $cf_size, Multiple => 1, Cols => 25);
% if ($cf->type eq 'Select') {
<td><& /Elements/EditCustomFieldSelect, @add &></td>
<td><& /Elements/EditCustomFieldSelect, @del &></td>
@@ -208,11 +199,6 @@ $cfs->limit_to_queue($_) for keys %$seen_queues;
</&>
<%INIT>
-unless ( defined $rows ) {
- $rows = $rows_per_page;
- $ARGS{rows} = $rows_per_page;
-}
-
my $title = _("Update multiple tickets");
# Iterate through the ARGS hash and remove anything with a null value.
@@ -229,6 +215,13 @@ $format =~ s/'?([^']+)'?,/'___CHECKBOX__$1',/;
my $Tickets = RT::Model::TicketCollection->new( current_user => Jifty->web->current_user );
$Tickets->from_sql($query);
+
+
+# XXX TODO 4.0 - hack to workaround arrayification of multiple order_by params
+# caused by turning a subrequest to a redirect in Search/Build.html
+$order_by = join('|',@$order_by) if (ref $order_by eq 'ARRAY');
+$order = join('|',@$order) if (ref $order eq 'ARRAY');
+
if ( $order_by =~ /\|/ ) {
# Multiple Sorts
@@ -243,7 +236,7 @@ else {
}
$page = 1 unless $page && $page > 0; # workaround problems with Page = '' or undef
-$Tickets->set_page_info(per_page => $rows, current_page => $page);
+$Tickets->set_page_info(per_page => $rows_per_page, current_page => $page);
abort( _("No search to operate on.") ) unless ($Tickets);
@@ -385,8 +378,7 @@ $TxnCFs->limit_to_global_or_object_id( sort keys %queues );
<%args>
$format => undef
$page => 1
-$rows => 50
-$rows_per_page => undef
+$rows_per_page => 50
$order => 'ASC'
$order_by => 'id'
$query => undef
diff --git a/share/html/Search/Results.html b/share/html/Search/Results.html
index c0ab939..9449514 100755
--- a/share/html/Search/Results.html
+++ b/share/html/Search/Results.html
@@ -48,28 +48,19 @@
<&| /_elements/wrapper, title => $title, refresh => Jifty->web->session->get('tickets_refresh_interval'),
rss_auto_discovery => $RSSFeedURL,
link_rel => \%link_rel &>
-<& /Elements/Tabs,
- current_tab => "Search/Results.html".$query_string,
- title => $title,
- format => $format,
- query => $query,
- rows => $rows,
- order_by => $order_by,
- order => $order,
- saved_search_id => $saved_search_id &>
<& /Elements/CollectionList,
query => $query,
allow_sorting => 1,
order_by => $order_by,
order => $order,
- rows => $rows,
+ rows => $rows_per_page,
page => $page,
format => $format,
base_url => RT->config->get('web_path')."/Search/Results.html?",
class => 'RT::Model::TicketCollection',
&>
-% my %hiddens = (query => $query, format => $format, rows => $rows, order_by => $order_by, order => $order, HideResults => $hide_results, page => $page );
+% my %hiddens = (query => $query, format => $format, rows_per_page => $rows_per_page, order_by => $order_by, order => $order, HideResults => $hide_results, page => $page );
<div align="right" class="refresh">
<form method="get" action="<%RT->config->get('web_path')%>/Search/Results.html">
% foreach my $key (keys(%hiddens)) {
@@ -84,7 +75,7 @@
query_string => $query_string,
query => $query,
format => $format,
- rows => $rows,
+ rows => $rows_per_page,
order_by => $order_by,
order => $order,
rss_feed_url => $RSSFeedURL,
@@ -96,6 +87,8 @@
</&>
<%INIT>
# Read from user preferences
+
+
my $prefs = Jifty->web->current_user->user_object->preferences("SearchDisplay") || {};
# These variables are what define a search_hash; this is also
# where we give sane defaults.
@@ -103,23 +96,24 @@ $format ||= $prefs->{'format'} || RT->config->get('default_search_result_fo
$order ||= $prefs->{'order'} || 'ASC';
$order_by ||= $prefs->{'order_by'} || 'id';
-# Some forms pass in "rows_per_page" rather than "Rows"
+# Some forms pass in "rows_per_page" rather than "rows"
# We call it rows_per_page everywhere else.
-
-if ( !defined($rows) ) {
- if (defined $ARGS{'rows_per_page'} ) {
- $rows = $ARGS{'rows_per_page'};
- } elsif ( defined $prefs->{'rows_per_page'} ) {
- $rows = $prefs->{'rows_per_page'};
+if ( !defined($rows_per_page) ) {
+ if ( defined $prefs->{'rows_per_page'} ) {
+ $rows_per_page = $prefs->{'rows_per_page'};
} else {
- $rows = 50;
+ $rows_per_page = 50;
}
}
-
my ($title, $ticketcount);
-Jifty->web->session->set('tickets' => RT::Model::TicketCollection->new( current_user => Jifty->web->current_user ) );
+Jifty->web->session->set('tickets' => RT::Model::TicketCollection->new());
Jifty->web->session->get('tickets')->from_sql($query) if ($query);
+
+# XXX TODO 4.0 - hack to workaround arrayification of multiple order_by params
+# caused by turning a subrequest to a redirect in Search/Build.html
+$order_by = join('|',@$order_by) if (ref $order_by eq 'ARRAY');
+$order = join('|',@$order) if (ref $order eq 'ARRAY');
if ($order_by =~ /\|/) {
# Multiple Sorts
my @order_by = split /\|/,$order_by;
@@ -137,7 +131,7 @@ Jifty->web->session->set('CurrentSearchHash', {
page => $page,
order => $order,
order_by => $order_by,
- rows_per_page => $rows
+ rows_per_page => $rows_per_page
});
@@ -151,7 +145,7 @@ if ( Jifty->web->session->get('tickets')->query()) {
my $query_string = "?".$m->comp('/Elements/QueryString',
query => $query,
format => $format,
- rows => $rows,
+ rows_per_page => $rows_per_page,
order_by => $order_by,
order => $order,
page => $page);
@@ -159,8 +153,8 @@ my $short_querystring = "?".$m->comp('/Elements/QueryString', query => $query);
my $RSSQueryString = "?".$m->comp('/Elements/QueryString', query => $query, order => $order, order_by => $order_by);
my $RSSFeedURL = RT->config->get('web_path')."/Search/Results.rdf$RSSQueryString";
-if ($ARGS{'tickets_refresh_interval'}) {
- Jifty->web->session->set('tickets_refresh_interval', $ARGS{'tickets_refresh_interval'});
+if (Jifty->web->request->argument('tickets_refresh_interval')) {
+Jifty->web->session->set('tickets_refresh_interval', Jifty->web->request->argument('tickets_refresh_interval'));
}
my %link_rel;
@@ -169,7 +163,7 @@ my $genpage = sub {
'/Elements/QueryString',
query => $query,
format => $format,
- rows => $rows,
+ rows_per_page => $rows_per_page,
order_by => $order_by,
order => $order,
page => shift(@_),
@@ -179,8 +173,8 @@ my $BaseURL = RT->config->get('web_path')."/Search/Results.html?";
$link_rel{first} = $BaseURL . $genpage->(1) if $page > 1;
$link_rel{prev} = $BaseURL . $genpage->($page - 1) if $page > 1;
if ( $ticketcount ) {
- $link_rel{next} = $BaseURL . $genpage->($page + 1) if ($page * $rows) < $ticketcount;
- $link_rel{last} = $BaseURL . $genpage->(POSIX::ceil($ticketcount/$rows)) if $rows and ($page * $rows) < $ticketcount;
+ $link_rel{next} = $BaseURL . $genpage->($page + 1) if ($page * $rows_per_page) < $ticketcount;
+ $link_rel{last} = $BaseURL . $genpage->(POSIX::ceil($ticketcount/$rows_per_page)) if $rows_per_page and ($page * $rows_per_page) < $ticketcount;
}
</%INIT>
<%CLEANUP>
@@ -190,7 +184,7 @@ Jifty->web->session->get('tickets')->prep_for_serialization();
$query => undef
$format => undef
$hide_results => 0
-$rows => undef
+$rows_per_page => undef
$page => 1
$order_by => undef
$order => undef
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list