summaryrefslogtreecommitdiff
path: root/FS/FS/TicketSystem
diff options
context:
space:
mode:
authorivan <ivan>2009-09-23 23:47:25 +0000
committerivan <ivan>2009-09-23 23:47:25 +0000
commit345710417c36b3521bc44def48e1a85ece4ae4df (patch)
treedbbfcb90bdb5eb93bd65745f9981b1ac7e23f280 /FS/FS/TicketSystem
parent4e1e828e7ef0437b002544cc30f9934ca1c9751b (diff)
this should fix the occasional extra ticket showing up on wrong customer record
Diffstat (limited to 'FS/FS/TicketSystem')
-rw-r--r--FS/FS/TicketSystem/RT_External.pm18
1 files changed, 10 insertions, 8 deletions
diff --git a/FS/FS/TicketSystem/RT_External.pm b/FS/FS/TicketSystem/RT_External.pm
index c788c03..8ccc937 100644
--- a/FS/FS/TicketSystem/RT_External.pm
+++ b/FS/FS/TicketSystem/RT_External.pm
@@ -156,14 +156,16 @@ sub _from_customer {
}
my $sql = "
- FROM Tickets
- JOIN Queues ON ( Tickets.Queue = Queues.id )
- JOIN Links ON ( Tickets.id = Links.LocalBase )
- JOIN Users ON ( Tickets.Owner = Users.id )
- $join
- WHERE ( ". join(' OR ', map "Status = '$_'", $self->statuses ). " )
- AND Target = 'freeside://freeside/cust_main/$custnum'
- $where
+ FROM Tickets
+ JOIN Queues ON ( Tickets.Queue = Queues.id )
+ JOIN Users ON ( Tickets.Owner = Users.id )
+ JOIN Links ON ( Tickets.id = Links.LocalBase
+ AND Links.Base LIKE '%/ticket/' || Tickets.id )
+ $join
+
+ WHERE ( ". join(' OR ', map "Status = '$_'", $self->statuses ). " )
+ AND Target = 'freeside://freeside/cust_main/$custnum'
+ $where
";
( $sql, @param );