#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
sub Table { 'Tickets'}
use RT::CustomFields;
-use DBIx::SearchBuilder::Unique;
# Configuration Tables:
$self->_CloseParen;
}
elsif ( $op eq '=' || $op eq '!=' || $op eq '<>' ) {
- if ( length( Encode::encode_utf8($value) ) < 256 ) {
+ if ( length( Encode::encode( "UTF-8", $value) ) < 256 ) {
$self->_SQLLimit(
ALIAS => $ObjectCFs,
FIELD => 'Content',
QUOTEVALUE => 1,
ENTRYAGGREGATOR => 'AND',
) if $CFs;
- unless ($cf_obj) {
- # For those cases where we are doing a join against the
- # CF name, and don't have a CFid, use Unique to make sure
- # we don't show duplicate tickets. NOTE: I'm pretty sure
- # this will stay mixed in for the life of the
- # class/package, and not just for the life of the object.
- # Potential performance issue.
- require DBIx::SearchBuilder::Unique;
- DBIx::SearchBuilder::Unique->import;
- }
my $CFvs = $self->Join(
TYPE => 'LEFT',
ALIAS1 => $ObjectCFs,
# if it's compound, create a join from cust_main or cust_svc to that
# table, using custnum or svcnum, and Limit on that table instead.
- my @_SQLLimit = ();
+ my @Limit = ();
foreach my $a (@alias) {
if ( $table2 ) {
$a = $self->Join(
# will produce a subclause: "cust_main_1.custnum IS NOT NULL OR
# cust_main_2.custnum IS NOT NULL" (or "IS NULL AND..." for a negative
# query).
- #$self->_SQLLimit(
- push @_SQLLimit, {
+ # This requires the ENTRYAGGREGATOR to be OR for positive queries
+ # (where a matching customer exists), but ONLY between these two
+ # constraints and NOT with anything else in the query, hence the
+ # subclause.
+
+ push @Limit, {
%rest,
ALIAS => $a,
FIELD => $pkey,
};
}
- $self->_OpenParen;
- foreach my $_SQLLimit (@_SQLLimit) {
- $self->_SQLLimit( %$_SQLLimit);
+ foreach (@Limit) {
+ # _SQLLimit would force SUBCLAUSE to 'ticketsql'; bypass it
+ $self->SUPER::Limit( %$_ );
}
- $self->_CloseParen;
}