[Rt-commit] rt branch, 3.8-trunk, updated. rt-3.8.6-39-ge8c391f
sunnavy at bestpractical.com
sunnavy at bestpractical.com
Tue Oct 27 03:40:50 EDT 2009
The branch, 3.8-trunk has been updated
via e8c391f7a4119cee3176956fe3d2f7f11599b874 (commit)
from e1a7593cca1c5662ad4dbe052323d5054d00f9ac (commit)
Summary of changes:
share/html/Search/Build.html | 6 ++++-
share/html/Search/Bulk.html | 7 ++++-
share/html/Search/Chart.html | 4 ++-
share/html/Search/Edit.html | 4 ++-
share/html/Search/Elements/EditSearches | 3 +-
share/html/Search/Results.html | 7 ++++-
share/html/Ticket/Elements/Tabs | 3 +-
share/html/Widgets/SavedSearch | 34 +++++++++++++++++++++++-------
8 files changed, 51 insertions(+), 17 deletions(-)
- Log -----------------------------------------------------------------
commit e8c391f7a4119cee3176956fe3d2f7f11599b874
Author: sunnavy <sunnavy at bestpractical.com>
Date: Tue Oct 27 15:20:17 2009 +0800
make people can update saved chart search easily
diff --git a/share/html/Search/Build.html b/share/html/Search/Build.html
index 06edfdd..e2c13ff 100644
--- a/share/html/Search/Build.html
+++ b/share/html/Search/Build.html
@@ -71,10 +71,12 @@
Title => $title,
%query,
SavedSearchId => $saved_search{'Id'},
+ SavedChartSearchId => $ARGS{SavedChartSearchId},
&>
<form method="post" action="Build.html" name="BuildQuery">
<input type="hidden" class="hidden" name="SavedSearchId" value="<% $saved_search{'Id'} %>" />
+<input type="hidden" class="hidden" name="SavedChartSearchId" value="<% $ARGS{'SavedChartSearchId'} %>" />
<input type="hidden" class="hidden" name="Query" value="<% $query{'Query'} %>" />
<input type="hidden" class="hidden" name="Format" value="<% $query{'Format'} %>" />
@@ -114,6 +116,8 @@
use RT::Interface::Web::QueryBuilder;
use RT::Interface::Web::QueryBuilder::Tree;
+$ARGS{SavedChartSearchId} ||= 'new';
+
my $title = loc("Query Builder");
my %query;
@@ -291,7 +295,7 @@ $session{'CurrentSearchHash'} = {
# {{{ Show the results, if we were asked.
if ( $ARGS{'DoSearch'} ) {
- $m->comp( 'Results.html', %query );
+ $m->comp( 'Results.html', %query, SavedChartSearchId => $ARGS{'SavedChartSearchId'}, );
$m->comp( '/Elements/Footer' );
$m->abort;
}
diff --git a/share/html/Search/Bulk.html b/share/html/Search/Bulk.html
index e11bdba..a0638c1 100755
--- a/share/html/Search/Bulk.html
+++ b/share/html/Search/Bulk.html
@@ -54,11 +54,13 @@
Rows => $Rows,
OrderBy => $OrderBy,
Order => $Order,
- SavedSearchId => $SavedSearchId &>
+ SavedSearchId => $SavedSearchId,
+ SavedChartSearchId => $SavedChartSearchId,
+ &>
<& /Elements/ListActions, actions => \@results &>
<form method="post" action="<% RT->Config->Get('WebPath') %>/Search/Bulk.html" enctype="multipart/form-data">
-% foreach my $var qw(Query Format OrderBy Order Rows Page) {
+% foreach my $var qw(Query Format OrderBy Order Rows Page SavedChartSearchId) {
<input type="hidden" class="hidden" name="<%$var%>" value="<%$ARGS{$var} || ''%>" />
%}
<& /Elements/CollectionList,
@@ -440,4 +442,5 @@ $Order => 'ASC'
$OrderBy => 'id'
$Query => undef
$SavedSearchId => undef
+$SavedChartSearchId => undef
</%args>
diff --git a/share/html/Search/Chart.html b/share/html/Search/Chart.html
index a3f8e9b..fb9f45c 100644
--- a/share/html/Search/Chart.html
+++ b/share/html/Search/Chart.html
@@ -80,7 +80,8 @@ my @actions = $m->comp( '/Widgets/SavedSearch:process', args => \%ARGS, self =>
</%init>
<& /Elements/Header, Title => $title &>
-<& /Ticket/Elements/Tabs, Title => $title, Query => $ARGS{Query}, &>
+<& /Ticket/Elements/Tabs, Title => $title, Query => $ARGS{Query},
+ SavedChartSearchId => $saved_search->{SearchId} &>
<& /Elements/ListActions, actions => \@actions &>
<& /Search/Elements/Chart, %ARGS &>
@@ -88,6 +89,7 @@ my @actions = $m->comp( '/Widgets/SavedSearch:process', args => \%ARGS, self =>
<&| /Widgets/TitleBox, title => loc('Graph Properties')&>
<form method="get" action="<%RT->Config->Get('WebPath')%>/Search/Chart.html">
<input type="hidden" class="hidden" name="Query" value="<% $ARGS{Query} %>" />
+<input type="hidden" class="hidden" name="SavedChartSearchId" value="<% $saved_search->{SearchId} || 'new' %>" />
<&|/l, $m->scomp('Elements/SelectChartType', Name => 'ChartStyle', Default => $ChartStyle), $m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy', Query => $ARGS{Query}, Default => $PrimaryGroupBy)
&>[_1] chart by [_2]</&><input type="submit" class="button" value="<%loc('Update Graph')%>" />
</form>
diff --git a/share/html/Search/Edit.html b/share/html/Search/Edit.html
index eb6d610..e3e2da2 100755
--- a/share/html/Search/Edit.html
+++ b/share/html/Search/Edit.html
@@ -55,12 +55,14 @@
OrderBy => $OrderBy,
Order => $Order,
SavedSearchId => $SavedSearchId,
+ SavedChartSearchId => $SavedChartSearchId,
&>
<& Elements/NewListActions, actions => \@actions &>
<form method="post" action="Build.html">
<input type="hidden" class="hidden" name="SavedSearchId" value="<% $SavedSearchId %>" />
+<input type="hidden" class="hidden" name="SavedChartSearchId" value="<% $SavedChartSearchId %>" />
<&|/Widgets/TitleBox, title => loc('Query'), &>
<textarea name="Query" rows="8" cols="72"><% $Query %></textarea>
</&>
@@ -86,7 +88,7 @@ my $QueryString = $m->comp('/Elements/QueryString',
<%ARGS>
$SavedSearchId => 'new'
-
+$SavedChartSearchId => 'new'
$Query => ''
$Format => ''
$Rows => '50'
diff --git a/share/html/Search/Elements/EditSearches b/share/html/Search/Elements/EditSearches
index 0920107..2122fb9 100644
--- a/share/html/Search/Elements/EditSearches
+++ b/share/html/Search/Elements/EditSearches
@@ -143,7 +143,8 @@ $SavedSearch => {}
</%ARGS>
<%INIT>
-$SavedSearch->{'Id'} = $ARGS{'SavedSearchId'} || 'new';
+$SavedSearch->{'Id'} = ( $ARGS{Type} && $ARGS{Type} eq 'Chart' ?
+$ARGS{'SavedChartSearchId'} : $ARGS{'SavedSearchId'} ) || 'new';
$SavedSearch->{'Description'} = $ARGS{'SavedSearchDescription'} || undef;
$SavedSearch->{'Privacy'} = $ARGS{'SavedSearchOwner'} || undef;
diff --git a/share/html/Search/Results.html b/share/html/Search/Results.html
index 3d12b69..13252ee 100755
--- a/share/html/Search/Results.html
+++ b/share/html/Search/Results.html
@@ -57,7 +57,9 @@
Rows => $Rows,
OrderBy => $OrderBy,
Order => $Order,
- SavedSearchId => $SavedSearchId &>
+ SavedSearchId => $SavedSearchId,
+ SavedChartSearchId => $SavedChartSearchId,
+ &>
<& /Elements/CollectionList,
Query => $Query,
AllowSorting => 1,
@@ -70,7 +72,7 @@
BaseURL => $BaseURL
&>
-% my %hiddens = (Query => $Query, Format => $Format, Rows => $Rows, OrderBy => $OrderBy, Order => $Order, HideResults => $HideResults, Page => $Page );
+% my %hiddens = (Query => $Query, Format => $Format, Rows => $Rows, OrderBy => $OrderBy, Order => $Order, HideResults => $HideResults, Page => $Page, SavedChartSearchId => $SavedChartSearchId );
<div align="right" class="refresh">
<form method="get" action="<%RT->Config->Get('WebPath')%>/Search/Results.html">
% foreach my $key (keys(%hiddens)) {
@@ -195,4 +197,5 @@ $Page => 1
$OrderBy => undef
$Order => undef
$SavedSearchId => undef
+$SavedChartSearchId => undef
</%ARGS>
diff --git a/share/html/Ticket/Elements/Tabs b/share/html/Ticket/Elements/Tabs
index 83d9382..7deb8c1 100755
--- a/share/html/Ticket/Elements/Tabs
+++ b/share/html/Ticket/Elements/Tabs
@@ -247,12 +247,13 @@ my $has_query = '';
my %query_args;
my $search_id = $ARGS{'SavedSearchId'}
|| $session{'CurrentSearchHash'}->{'SearchId'} || '';
+my $chart_search_id = $ARGS{'SavedChartSearchId'} || '';
$has_query = 1 if ( $ARGS{'Query'} or $session{'CurrentSearchHash'}->{'Query'} );
%query_args = (
-
SavedSearchId => ($search_id eq 'new') ? undef : $search_id,
+ SavedChartSearchId => $chart_search_id,
Query => $ARGS{'Query'} || $session{'CurrentSearchHash'}->{'Query'},
Format => $ARGS{'Format'} || $session{'CurrentSearchHash'}->{'Format'},
OrderBy => $ARGS{'OrderBy'}
diff --git a/share/html/Widgets/SavedSearch b/share/html/Widgets/SavedSearch
index 784cf65..a8cb3dd 100644
--- a/share/html/Widgets/SavedSearch
+++ b/share/html/Widgets/SavedSearch
@@ -59,15 +59,25 @@ my @Objects = RT::SavedSearches->new( $session{CurrentUser} )->_PrivacyObjects;
push @Objects, RT::System->new($session{'CurrentUser'})
if $session{'CurrentUser'}->HasRight( Object=> $RT::System,
Right => 'SuperUser' );
-$self->{SearchId} ||= 'new';
+$self->{SearchId} ||= $args->{'SavedChartSearchId'} || 'new';
+
my $SearchParams = { map { $_ => $args->{$_} } @{$self->{SearchFields}} };
-if ( my ( $container_object, $search_id ) = _parse_saved_search( $args->{'SavedSearchLoad'} ) ) {
+if ( my ( $container_object, $search_id ) = _parse_saved_search(
+ $args->{'SavedSearchLoad'} || $args->{'SavedChartSearchId'} ) ) {
my $search = $container_object->Attributes->WithId($search_id);
# We have a $search and now; import the others
- $self->{SearchId} = $args->{'SavedSearchLoad'};
+ $self->{SearchId} = $args->{'SavedSearchLoad'} ||
+ $args->{'SavedChartSearchId'};
$self->{CurrentSearch}{Object} = $search;
- $args->{$_} = $search->SubValue($_) for @{ $self->{SearchFields} };
+ for ( @{ $self->{SearchFields} } ) {
+ # we may updated Query
+ next if $_ eq 'Query' && ! $args->{'SavedSearchLoad'};
+
+ $args->{$_} = $search->SubValue($_)
+ }
+ $args->{SavedChartSearchId} = $args->{'SavedSearchLoad'}
+ if $args->{'SavedSearchLoad'};
# saved search in /Search/Chart.html is different from /Search/Build.html
# the former is of type 'Chart', while the latter is of type 'Ticket'.
# After loading a saved search from the former after loading one from the
@@ -99,7 +109,8 @@ if ( $args->{SavedSearchSave} ) {
if ( my $search = $self->{CurrentSearch}{Object} ) {
# rename
$search->SetDescription( $args->{SavedSearchDescription} );
- push @actions, loc( '[_1] [_2] renamed to [_3].', loc($self->{SearchType}), $self->{CurrentSearch}{Description}, $args->{SavedSearchDescription} );
+ $search->SetSubValues( Query => $args->{Query} );
+ push @actions, loc( '[_1] [_2] updated.', loc($self->{SearchType}), $args->{SavedSearchDescription} );
}
else {
# new saved search
@@ -111,7 +122,10 @@ if ( $args->{SavedSearchSave} ) {
SearchParams => $SearchParams
);
if ($ok) {
- $self->{CurrentSearch}{Object} = $saved_search->{Attribute};
+ $self->{CurrentSearch}{Object} = $saved_search->{Attribute};
+ $self->{SearchId} = $args->{SavedChartSearchId} = 'RT::User-' .
+ $session{CurrentUser}->id . '-SavedSearch-' .
+ $saved_search->Id;
push @actions, loc( '[_1] [_2] saved.', loc($self->{SearchType}), $args->{SavedSearchDescription} );
} else {
push @actions,
@@ -125,7 +139,7 @@ if ( $args->{SavedSearchDelete} && $self->{CurrentSearch}{Object} ) {
push @actions, $ok ? loc( '[_1] [_2] deleted.', loc($self->{SearchType}), $self->{CurrentSearch}{Object}->Description ) : $msg;
delete $self->{CurrentSearch}{Object};
delete $self->{SearchId};
-
+ delete $args->{SavedChartSearchId};
}
$self->{CurrentSearch}{Description} = $self->{CurrentSearch}{Object}->Description
@@ -143,11 +157,14 @@ $args
<%method show>
<form method="post" action="<% $Action %>" name="SaveSearch">
<& /Search/Elements/EditSearches,
- Id => $self->{SearchId},
+ Id => $self->{SearchId} || 'new',
Type => $self->{SearchType},
CurrentSearch => $self->{CurrentSearch},
Title => $Title,
AllowCopy => 0,
+ $self->{CurrentSearch}{Object} ?
+ ( Object => $self->{CurrentSearch}{Object},
+ Description => $self->{CurrentSearch}{Object}->Description, ) : (),
&><br />
<%PERL>
foreach my $field ( @{$self->{SearchFields}} ) {
@@ -160,6 +177,7 @@ foreach my $field ( @{$self->{SearchFields}} ) {
<input type="hidden" class="hidden" name="<% $field %>" value="<% $value %>" />
% }
% }
+<input type="hidden" class="hidden" name="SavedChartSearchId" value="<% $self->{SearchId} || 'new' %>" />
</form>
<%ARGS>
$self => undef
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list