[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