[Rt-commit] r11829 - rt/branches/3.8-TESTING/html/Search/Elements
ruz at bestpractical.com
ruz at bestpractical.com
Tue Apr 22 19:40:38 EDT 2008
Author: ruz
Date: Tue Apr 22 19:40:34 2008
New Revision: 11829
Modified:
rt/branches/3.8-TESTING/html/Search/Elements/EditSearches
Log:
* update html/Search/Elements/EditSearches with support
for customizable list of SearchFields
Modified: rt/branches/3.8-TESTING/html/Search/Elements/EditSearches
==============================================================================
--- rt/branches/3.8-TESTING/html/Search/Elements/EditSearches (original)
+++ rt/branches/3.8-TESTING/html/Search/Elements/EditSearches Tue Apr 22 19:40:34 2008
@@ -48,8 +48,7 @@
<&| /Widgets/TitleBox, title => loc($Title)&>
%# Hide all the save functionality if the user shouldn't see it.
-% if ($session{'CurrentUser'}->HasRight( Right => 'CreateSavedSearch',
-% Object=> $RT::System )) {
+% if ( $can_modify ) {
<&|/l&>Privacy:</&>
% if ( $Object && $Object->id ) {
<& SearchPrivacy, Object => $Object->Object &>
@@ -62,7 +61,7 @@
% if ($Id ne 'new') {
<nobr>
-% if ($Dirty) {
+% if ( $Dirty ) {
<input type="submit" class="button" name="SavedSearchRevert" value="<%loc('Revert')%>" />
% }
<input type="submit" class="button" name="SavedSearchDelete" value="<%loc('Delete')%>" />
@@ -87,11 +86,9 @@
Object => $RT::System,
);
-# If we're modifying an old query, check if it's been changed
-my $Dirty = $m->comp(
- 'EditSearches:IsDirty',
- Query => $CurrentSearch,
- SavedSearch => { Id => $Id, Object => $Object, Description => $Description }
+my $can_modify = $session{'CurrentUser'}->HasRight(
+ Right => 'CreateSavedSearch',
+ Object => $RT::System,
);
use RT::SavedSearches;
@@ -100,6 +97,31 @@
if $session{'CurrentUser'}->HasRight( Object=> $RT::System,
Right => 'SuperUser' );
+my $is_dirty = sub {
+ my %arg = (
+ Query => {},
+ SavedSearch => {},
+ SearchFields => [qw(Query Format OrderBy Order RowsPerPage)],
+ @_
+ );
+
+ my $obj = $arg{'SavedSearch'}->{'Object'};
+ return 0 unless $obj && $obj->id;
+
+ foreach( @{ $arg{'SearchFields'} } ) {
+ return 1 if $obj->SubValue( $_ ) ne $arg{'Query'}->{$_};
+ }
+
+ return 0;
+};
+
+# If we're modifying an old query, check if it's been changed
+my $Dirty = $is_dirty->(
+ Query => $CurrentSearch,
+ SavedSearch => { Id => $Id, Object => $Object, Description => $Description },
+ SearchFields => \@SearchFields,
+);
+
</%INIT>
<%ARGS>
@@ -108,19 +130,19 @@
$Type => 'Ticket'
$Description => ''
$CurrentSearch => {}
+ at SearchFields => ()
$AllowCopy => 1
$Title => loc('Saved searches')
</%ARGS>
<%METHOD Init>
<%ARGS>
-$Query => {}
+$Query => {}
$SavedSearch => {}
+ at SearchFields => qw(Query Format OrderBy Order RowsPerPage)
</%ARGS>
<%INIT>
-my @FIELDS = qw(Query Format OrderBy Order RowsPerPage);
-
$SavedSearch->{'Id'} = $ARGS{'SavedSearchId'} || 'new';
$SavedSearch->{'Description'} = $ARGS{'SavedSearchDescription'} || '';
@@ -135,7 +157,7 @@
$SavedSearch->{'Id'} = $ARGS{'SavedSearchLoad'};
$SavedSearch->{'Object'} = $search;
$SavedSearch->{'Description'} = $search->Description;
- $Query->{$_} = $search->SubValue($_) foreach @FIELDS;
+ $Query->{$_} = $search->SubValue($_) foreach @SearchFields;
}
elsif ( $ARGS{'SavedSearchDelete'} ) {
# We set $SearchId to 'new' above already, so peek into the %ARGS
@@ -220,22 +242,3 @@
</%INIT>
</%METHOD>
-
-<%METHOD IsDirty>
-<%ARGS>
-$Query => {}
-$SavedSearch => {}
-</%ARGS>
-<%INIT>
-
-my $obj = $SavedSearch->{'Object'};
-return 0 unless $obj && $obj->id;
-
-foreach( qw(Query Format OrderBy Order RowsPerPage) ) {
- return 1 if $obj->SubValue( $_ ) ne $Query->{$_};
-}
-
-return 0;
-
-</%INIT>
-</%METHOD>
More information about the Rt-commit
mailing list