merging 3.8.7!!!
[freeside.git] / rt / html / Widgets / SavedSearch
diff --git a/rt/html/Widgets/SavedSearch b/rt/html/Widgets/SavedSearch
deleted file mode 100644 (file)
index b315212..0000000
+++ /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>