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

Kevin Falcone falcone at bestpractical.com
Mon Jan 23 16:05:26 EST 2012


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

- Log -----------------------------------------------------------------
commit 8e1f6b3d633acf7c47571f169b73d86767ea614f
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 22def26..f575e85 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