RT# 82942 Replace DBI->connect() with FS::DBI->connect()
[freeside.git] / FS / FS / TicketSystem / RT_External.pm
index c2aac2d..dfacf95 100644 (file)
@@ -10,6 +10,7 @@ use FS::UID qw(dbh);
 use FS::Record qw(qsearchs);
 use FS::cust_main;
 use Carp qw(cluck);
+use FS::DBI;
 
 $me = '[FS::TicketSystem::RT_External]';
 $DEBUG = 0;
@@ -36,8 +37,8 @@ FS::UID->install_callback( sub {
   $dbh = dbh;
   if ($conf->config('ticket_system') eq 'RT_External') {
     my ($datasrc, $user, $pass) = $conf->config('ticket_system-rt_external_datasrc');
-    $dbh = DBI->connect($datasrc, $user, $pass, { 'ChopBlanks' => 1 })
-      or die "RT_External DBI->connect error: $DBI::errstr\n";
+    $dbh = FS::DBI->connect($datasrc, $user, $pass, { 'ChopBlanks' => 1 })
+      or die "RT_External FS::DBI->connect error: $FS::DBI::errstr\n";
 
     $external_url = $conf->config('ticket_system-rt_external_url');
   }
@@ -175,12 +176,11 @@ sub _from_customer {
 
     } else {
 
-      $where =
-               "AND 0 = ( SELECT COUNT(*) FROM ObjectCustomFieldValues
-                           WHERE ObjectId    = Tickets.id
-                             AND ObjectType  = 'RT::Ticket'
-                             AND $customfield_sql
-                        )
+      $where = " AND NOT EXISTS ( SELECT 1 FROM ObjectCustomFieldValues
+                                    WHERE ObjectId    = Tickets.id
+                                      AND ObjectType  = 'RT::Ticket'
+                                      AND $customfield_sql
+                                )
                ";
     }
 
@@ -316,22 +316,22 @@ sub href_params_new_ticket {
   my $subtype = $object->table;
   my $pkey = $object->get($object->primary_key);
 
-  my %param = (
+  my @param = (
     'Queue'       => ($cust_main->agent->ticketing_queueid || $default_queueid),
     'new-MemberOf'=> "freeside://freeside/$subtype/$pkey",
     'Requestors'  => $requestors,
   );
 
-  ( $self->baseurl.'Ticket/Create.html', %param );
+  ( $self->baseurl.'Ticket/Create.html', @param );
 }
 
 sub href_new_ticket {
   my $self = shift;
 
-  my( $base, %param ) = $self->href_params_new_ticket(@_);
+  my( $base, @param ) = $self->href_params_new_ticket(@_);
 
   my $uri = new URI $base;
-  $uri->query_form(%param);
+  $uri->query_form(@param);
   $uri;
 
 }