projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RT 4.0.19
[freeside.git]
/
rt
/
lib
/
RT
/
Interface
/
Web
/
QueryBuilder
/
Tree.pm
diff --git
a/rt/lib/RT/Interface/Web/QueryBuilder/Tree.pm
b/rt/lib/RT/Interface/Web/QueryBuilder/Tree.pm
index
e2ec1e5
..
f930554
100755
(executable)
--- a/
rt/lib/RT/Interface/Web/QueryBuilder/Tree.pm
+++ b/
rt/lib/RT/Interface/Web/QueryBuilder/Tree.pm
@@
-2,7
+2,7
@@
#
# COPYRIGHT:
#
#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-201
2
Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-201
4
Best Practical Solutions, LLC
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
@@
-92,8
+92,8
@@
sub TraversePrePost {
=head2 GetReferencedQueues
=head2 GetReferencedQueues
-Returns a hash reference
with keys each queue name referenced in a clause i
n
-
the key (even if it's "Queue != 'Foo'"), and values all
1.
+Returns a hash reference
; each queue referenced with an '=' operatio
n
+
will appear as a key whose value is
1.
=cut
=cut
@@
-110,10
+110,12
@@
sub GetReferencedQueues {
return unless $node->isLeaf;
my $clause = $node->getNodeValue();
return unless $node->isLeaf;
my $clause = $node->getNodeValue();
+ return unless $clause->{Key} eq 'Queue';
+ return unless $clause->{Op} eq '=';
- if ( $clause->{Key} eq 'Queue' ) {
-
$queues->{ $clause->{Value} } = 1
;
-
}
;
+ my $value = $clause->{Value};
+
$value =~ s/\\(.)/$1/g if $value =~ s/^'(.*)'$/$1/
;
+
$queues->{ $value } = 1
;
}
);
}
);
@@
-275,7
+277,7
@@
sub ParseSQL {
$value = "'$value'";
}
$value = "'$value'";
}
- if ($key =~ s/(['\\])/\\$1/g or $key =~ /
\s
/) {
+ if ($key =~ s/(['\\])/\\$1/g or $key =~ /
[^{}\w\.]
/) {
$key = "'$key'";
}
$key = "'$key'";
}