[Rt-commit] rt branch, 4.4/use-status-active, updated. rt-4.4.0-60-g1f058e0
Shawn Moore
shawn at bestpractical.com
Wed Feb 24 16:02:24 EST 2016
The branch, 4.4/use-status-active has been updated
via 1f058e09d9ce360b829ac211b0dfe8d30bf73195 (commit)
from 8f1c412b39c66c92708403dd0e417a1b877db279 (commit)
Summary of changes:
lib/RT/Tickets.pm | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
- Log -----------------------------------------------------------------
commit 1f058e09d9ce360b829ac211b0dfe8d30bf73195
Author: Shawn M Moore <shawn at bestpractical.com>
Date: Wed Feb 24 20:56:49 2016 +0000
Quote lifecycle and status names for Status = '__Active__'
diff --git a/lib/RT/Tickets.pm b/lib/RT/Tickets.pm
index 2e930cc..38c7609 100644
--- a/lib/RT/Tickets.pm
+++ b/lib/RT/Tickets.pm
@@ -2980,6 +2980,12 @@ sub _parser {
state ( $active_status_node, $inactive_status_node );
+ my $escape_quotes = sub {
+ my $text = shift;
+ $text =~ s{(['\\])}{\\$1}g;
+ return $text;
+ };
+
$tree->traverse(
sub {
my $node = shift;
@@ -3001,15 +3007,16 @@ sub _parser {
my $sql;
if ( keys %lifecycle == 1 ) {
- $sql = join ' OR ', map { qq{ Status = "$_" } } map { @$_ } values %lifecycle;
+ $sql = join ' OR ', map { qq{ Status = '$_' } } map { $escape_quotes->($_) } map { @$_ } values %lifecycle;
}
else {
my @inactive_sql;
for my $name ( keys %lifecycle ) {
+ my $escaped_name = $escape_quotes->($name);
my $inactive_sql =
- qq{Lifecycle = "$name"}
+ qq{Lifecycle = '$escaped_name'}
. ' AND ('
- . join( ' OR ', map { qq{ Status = "$_" } } @{ $lifecycle{ $name } } ) . ')';
+ . join( ' OR ', map { qq{ Status = '$_' } } map { $escape_quotes->($_) } @{ $lifecycle{ $name } } ) . ')';
push @inactive_sql, qq{($inactive_sql)};
}
$sql = join ' OR ', @inactive_sql;
@@ -3040,15 +3047,16 @@ sub _parser {
my $sql;
if ( keys %lifecycle == 1 ) {
- $sql = join ' OR ', map { qq{ Status = "$_" } } map { @$_ } values %lifecycle;
+ $sql = join ' OR ', map { qq{ Status = '$_' } } map { $escape_quotes->($_) } map { @$_ } values %lifecycle;
}
else {
my @active_sql;
for my $name ( keys %lifecycle ) {
+ my $escaped_name = $escape_quotes->($name);
my $active_sql =
- qq{Lifecycle = "$name"}
+ qq{Lifecycle = '$escaped_name'}
. ' AND ('
- . join( ' OR ', map { qq{ Status = "$_" } } @{ $lifecycle{ $name } } ) . ')';
+ . join( ' OR ', map { qq{ Status = '$_' } } map { $escape_quotes->($_) } @{ $lifecycle{ $name } } ) . ')';
push @active_sql, qq{($active_sql)};
}
$sql = join ' OR ', @active_sql;
-----------------------------------------------------------------------
More information about the rt-commit
mailing list