diff options
Diffstat (limited to 'rt/share/html/Search/Elements/EditQuery')
-rw-r--r-- | rt/share/html/Search/Elements/EditQuery | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/rt/share/html/Search/Elements/EditQuery b/rt/share/html/Search/Elements/EditQuery deleted file mode 100644 index 9a10ddff6..000000000 --- a/rt/share/html/Search/Elements/EditQuery +++ /dev/null @@ -1,243 +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 }}} -<& NewListActions, actions => $actions &> -<&|/Widgets/TitleBox, title => join(': ', grep defined, loc("Current search"), $Description) &> - -<select size="10" name="clauses" style="width: 100%" multiple="multiple"> -% $m->out($optionlist); -</select> - -<p align="center"> -<input type="submit" class="button" name="Up" value=" ↑ " /> -<input type="submit" class="button" name="Down" value=" ↓ " /> -<input type="submit" class="button" name="Left" value=" ← " /> -<input type="submit" class="button" name="Right" value=" → " /> -<input type="submit" class="button" name="Toggle" value="<&|/l&>And/Or</&>" /> -<input type="submit" class="button" name="DeleteClause" value="<&|/l&>Delete</&>" /> -%#<input type="submit" class="button" name="EditQuery" value="Advanced" /> -</p> - -</&> -<%ARGS> -$Description => undef -$optionlist => '' -$actions => [] -</%ARGS> - -<%METHOD Process> -<%ARGS> -$Tree -$Selected -@New => () -</%ARGS> -<%INIT> - -my @NewSelection = (); - -my @results; -if ( $ARGS{'Up'} || $ARGS{'Down'} ) { - if (@$Selected) { - foreach my $value (@$Selected) { - my $parent = $value->getParent; - my $index = $value->getIndex; - my $newindex = $index; - $newindex++ if $ARGS{'Down'}; - $newindex-- if $ARGS{'Up'}; - if ( $newindex < 0 || $newindex >= $parent->getChildCount ) { - push( @results, [ loc("error: can't move up"), -1 ] ) if $ARGS{'Up'}; - push( @results, [ loc("error: can't move down"), -1 ] ) if $ARGS{'Down'}; - next; - } - - $parent->removeChild( $index ); - $parent->insertChild( $newindex, $value ); - } - } - else { - push( @results, [ loc("error: nothing to move"), -1 ] ); - } -} -elsif ( $ARGS{"Left"} ) { - if (@$Selected) { - foreach my $value (@$Selected) { - my $parent = $value->getParent; - if( $value->isRoot || $parent->isRoot ) { - push( @results, [ loc("error: can't move left"), -1 ] ); - next; - } - - my $grandparent = $parent->getParent; - if( $grandparent->isRoot ) { - push( @results, [ loc("error: can't move left"), -1 ] ); - next; - } - - my $index = $parent->getIndex; - $parent->removeChild($value); - $grandparent->insertChild( $index, $value ); - if ( $parent->isLeaf ) { - $grandparent->removeChild($parent); - } - } - } - else { - push( @results, [ loc("error: nothing to move"), -1 ] ); - } -} -elsif ( $ARGS{"Right"} ) { - if (@$Selected) { - foreach my $value (@$Selected) { - my $parent = $value->getParent; - my $index = $value->getIndex; - - my $newparent; - if ( $index > 0 ) { - my $sibling = $parent->getChild( $index - 1 ); - $newparent = $sibling unless $sibling->isLeaf; - } - $newparent ||= RT::Interface::Web::QueryBuilder::Tree->new( $ARGS{'AndOr'} || 'AND', $parent ); - - $parent->removeChild($value); - $newparent->addChild($value); - } - } - else { - push( @results, [ loc("error: nothing to move"), -1 ] ); - } -} -elsif ( $ARGS{"DeleteClause"} ) { - if (@$Selected) { - my (@top); - my %Selected = map { $_ => 1 } @$Selected; - foreach my $node ( @$Selected ) { - my $tmp = $node->getParent; - while ( !$Selected{ $tmp } && !$tmp->isRoot ) { - $tmp = $tmp->getParent; - } - next if $Selected{ $tmp }; - push @top, $node; - } - - my %seen; - my @non_siblings_top = grep !$seen{ $_->getParent }++, @top; - - foreach ( @New ) { - my $add = $_->clone; - foreach my $selected( @non_siblings_top ) { - my $newindex = $selected->getIndex + 1; - $selected->insertSibling( $newindex, $add ); - } - $add->getParent->setNodeValue( $ARGS{'AndOr'} ); - push @NewSelection, $add; - } - @New = (); - - while( my $node = shift @top ) { - my $parent = $node->getParent; - $parent->removeChild($node); - $node->DESTROY; - } - @$Selected = (); - } - else { - push( @results, [ loc("error: nothing to delete"), -1 ] ); - } -} -elsif ( $ARGS{"Toggle"} ) { - if (@$Selected) { - my %seen; - my @unique_nodes = grep !$seen{ $_ + 0 }++, - map ref $_->getNodeValue? $_->getParent: $_, - @$Selected; - - foreach my $node ( @unique_nodes ) { - if ( $node->getNodeValue eq 'AND' ) { - $node->setNodeValue('OR'); - } - else { - $node->setNodeValue('AND'); - } - } - } - else { - push( @results, [ loc("error: nothing to toggle"), -1 ] ); - } -} - -if ( @New && @$Selected ) { - my %seen; - my @non_siblings_selected = grep !$seen{ $_->getParent }++, @$Selected; - - foreach ( @New ) { - my $add = $_->clone; - foreach my $selected( @non_siblings_selected ) { - my $newindex = $selected->getIndex + 1; - $selected->insertSibling( $newindex, $add ); - } - $add->getParent->setNodeValue( $ARGS{'AndOr'} ); - push @NewSelection, $add; - } - @$Selected = (); -} -elsif ( @New ) { - foreach ( @New ) { - my $add = $_->clone; - $Tree->addChild( $add ); - push @NewSelection, $add; - } - $Tree->setNodeValue( $ARGS{'AndOr'} ); -} -$_->DESTROY foreach @New; - -push @$Selected, @NewSelection; - -$Tree->PruneChildlessAggregators; - -return @results; -</%INIT> -</%METHOD> |