summaryrefslogtreecommitdiff
path: root/rt/html/Widgets/SavedSearch
diff options
context:
space:
mode:
Diffstat (limited to 'rt/html/Widgets/SavedSearch')
-rw-r--r--rt/html/Widgets/SavedSearch158
1 files changed, 0 insertions, 158 deletions
diff --git a/rt/html/Widgets/SavedSearch b/rt/html/Widgets/SavedSearch
deleted file mode 100644
index b315212..0000000
--- a/rt/html/Widgets/SavedSearch
+++ /dev/null
@@ -1,158 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
-%# <jesse@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%method new>
-<%init>
-return \%ARGS;
-</%init>
-</%method>
-
-<%method process>
-
-<%init>
-my @actions;
-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';
-my $SearchParams = { map { $_ => $args->{$_} } @{$self->{SearchFields}} };
-
-if ( my ( $container_object, $search_id ) = _parse_saved_search( $args->{'LoadSavedSearch'} ) ) {
- my $search = $container_object->Attributes->WithId($search_id);
- # We have a $search and now; import the others
- $self->{SearchId} = $args->{'LoadSavedSearch'};
- $self->{CurrentSearch}{Object} = $search;
- $args->{$_} = $search->SubValue($_) for @{ $self->{SearchFields} };
-}
-
-# look for the current one in the available saved searches
-if ($self->{SearchId} eq 'new') {
- for my $obj (@Objects) {
- for ( $m->comp( "/Search/Elements/SearchesForObject", Object => $obj ) ) {
- my ( $desc, $search ) = @$_;
- use Data::Dumper;
- # FFS
- local $Data::Dumper::Sortkeys = 1;
- if ( Dumper( $search->Content ) eq
- Dumper( { %$SearchParams, SearchType => $self->{SearchType} } ) ) {
- $self->{CurrentSearch}{Object} = $search;
- $self->{SearchId} = $search->Id;
- }
- }
- }
-}
-
-if ( $args->{Save} ) {
- if ( my $search = $self->{CurrentSearch}{Object} ) {
- # rename
- $search->SetDescription( $args->{Description} );
- push @actions, loc($self->{SearchType}).loc( ' [_1] renamed to [_2].', $self->{CurrentSearch}{Description}, $args->{Description} );
- }
- else {
- # new saved search
- my $saved_search = RT::SavedSearch->new( $session{'CurrentUser'} );
- my ( $ok, $search_msg ) = $saved_search->Save(
- Privacy => $args->{'Owner'},
- Name => $args->{'Description'},
- Type => $self->{'SearchType'},
- SearchParams => $SearchParams
- );
- if ($ok) {
- $self->{CurrentSearch}{Object} = $saved_search->{Attribute};
- push @actions, loc($self->{SearchType}).loc( ' [_1] saved.', $args->{Description} );
- } else {
- push @actions,
- [ loc("Can't save [_1]", loc($self->{SearchType})) . ': ' . loc($search_msg), 0 ];
- }
- }
-}
-
-if ( $args->{Delete} && $self->{CurrentSearch}{Object} ) {
- my ($ok, $msg) = $self->{CurrentSearch}{Object}->Delete;
- push @actions, $ok ? loc($self->{SearchType}).loc( ' [_1] deleted.', $self->{CurrentSearch}{Object}->Description ) : $msg;
- delete $self->{CurrentSearch}{Object};
- delete $self->{SearchId};
-
-}
-
-$self->{CurrentSearch}{Description} = $self->{CurrentSearch}{Object}->Description
- if $self->{CurrentSearch}{Object};
-
-return @actions;
-</%init>
-<%ARGS>
-$self
-$args
-</%ARGS>
-
-</%method>
-
-<%method show>
-<form method="post" action="<% $Action %>" name="SaveSearch">
-<& /Search/Elements/EditSearches, Name => 'Owner', SearchType => $self->{SearchType}, AllowCopy => 0,
- CurrentSearch => $self->{CurrentSearch}, SearchId => $self->{SearchId}, Title => $Title &><br />
-<%PERL>
-foreach my $field ( @{$self->{SearchFields}} ) {
- if ( ref($ARGS{$field}) && ref($ARGS{$field}) ne 'ARRAY' ) {
- $RT::Logger->error("Couldn't store '$field'. it's reference to ". ref($ARGS{$field}) );
- next;
- }
- foreach my $value ( grep defined, ref($ARGS{$field})? @{ $ARGS{$field} } : $ARGS{$field} ) {
-</%PERL>
-<input type="hidden" class="hidden" name="<% $field %>" value="<% $value %>" />
-% }
-% }
-</form>
-<%ARGS>
-$self => undef
-$Action => ''
-$Title => loc('Saved searches')
-</%ARGS>
-<%init>
-</%init>
-</%method>