[Rt-commit] rt branch, 4.2/remove-possible-custom-fields, created. rt-4.0.4-236-g9842439

Kevin Falcone falcone at bestpractical.com
Mon Jan 23 15:46:11 EST 2012


The branch, 4.2/remove-possible-custom-fields has been created
        at  98424397e829dda02ddd905552f8728f9d58961f (commit)

- Log -----------------------------------------------------------------
commit 98424397e829dda02ddd905552f8728f9d58961f
Author: Kevin Falcone <falcone at bestpractical.com>
Date:   Mon Jan 23 15:41:53 2012 -0500

    PossibleCustomFields appears unused
    
    When Results.tsv started parsing Format for which CFs to include in
    209c9a8bb929d2ffefc8cbec5a03a2bb2ae2b49f, we stopped parsing the Query
    for Custom Fields to include (and we only searched the Query if you had
    the optional Parse::BooleanLogic module installed, the default behaviour
    for 99% of RT instances was to include all possible Custom Fields).

diff --git a/lib/RT/SQL.pm b/lib/RT/SQL.pm
index 3b84465..e16447c 100644
--- a/lib/RT/SQL.pm
+++ b/lib/RT/SQL.pm
@@ -52,11 +52,6 @@ use strict;
 use warnings;
 
 
-use constant HAS_BOOLEAN_PARSER => do {
-    local $@;
-    eval { require Parse::BooleanLogic; 1 }
-};
-
 # States
 use constant VALUE       => 1;
 use constant AGGREG      => 2;
@@ -217,80 +212,6 @@ sub _BitmaskToString {
     return join ' or ', @res;
 }
 
-sub PossibleCustomFields {
-    my %args = (Query => undef, CurrentUser => undef, @_);
-
-    my $cfs = RT::CustomFields->new( $args{'CurrentUser'} );
-    my $ocf_alias = $cfs->_OCFAlias;
-    $cfs->LimitToLookupType( 'RT::Queue-RT::Ticket' );
-
-    my $tree;
-    if ( HAS_BOOLEAN_PARSER ) {
-        $tree = Parse::BooleanLogic->filter(
-            RT::SQL::ParseToArray( $args{'Query'} ),
-            sub { $_[0]->{'key'} =~ /^Queue(?:\z|\.)/ },
-        );
-    }
-    if ( $tree && @$tree ) {
-        my $clause = 'QUEUES';
-        my $queue_alias = $cfs->Join(
-            TYPE   => 'LEFT',
-            ALIAS1 => $ocf_alias,
-            FIELD1 => 'ObjectId',
-            TABLE2 => 'Queues',
-            FIELD2 => 'id',
-        );
-        $cfs->_OpenParen($clause);
-        $cfs->Limit(
-            SUBCLAUSE       => $clause,
-            ENTRYAGGREGATOR => 'AND',
-            ALIAS           => $ocf_alias,
-            FIELD           => 'ObjectId',
-            VALUE           => 0,
-        );
-        $cfs->_OpenParen($clause);
-
-        my $ea = 'OR';
-        Parse::BooleanLogic->walk(
-            $tree,
-            {
-                open_paren  => sub { $cfs->_OpenParen($clause) },
-                close_paren => sub { $cfs->_CloseParen($clause) },
-                operator    => sub { $ea = $_[0] },
-                operand     => sub {
-                    my ($key, $op, $value) = @{$_[0]}{'key', 'op', 'value'};
-                    my (undef, @sub) = split /\./, $key;
-                    push @sub, $value =~ /\D/? 'Name' : 'id'
-                        unless @sub;
-                    
-                    die "Couldn't handle ". join('.', 'Queue', @sub) if @sub > 1;
-                    $cfs->Limit(
-                        SUBCLAUSE       => $clause,
-                        ENTRYAGGREGATOR => $ea,
-                        ALIAS           => $queue_alias,
-                        FIELD           => $sub[0],
-                        OPERATOR        => $op,
-                        VALUE           => $value,
-                    );
-                },
-            }
-        );
-
-        $cfs->_CloseParen($clause);
-        $cfs->_CloseParen($clause);
-    } else {
-        $cfs->Limit(
-            ENTRYAGGREGATOR => 'AND',
-            ALIAS           => $ocf_alias,
-            FIELD           => 'ObjectId',
-            OPERATOR        => 'IS NOT',
-            VALUE           => 'NULL',
-        );
-    }
-    return $cfs;
-}
-
-
 RT::Base->_ImportOverlays();
 
 1;

-----------------------------------------------------------------------


More information about the Rt-commit mailing list