X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FTicketSystem%2FRT_External.pm;h=cd6834c963f33974073b680a45c6aa1b134f5f9f;hp=ea9c2b5a90b85f1b17348794b2eff7c2f90d36ec;hb=2f3b4161da680cd0fff8c91dbdc50fe5e974610e;hpb=91caf036bc222d20d078e31f1d28c2d6c86805e1 diff --git a/FS/FS/TicketSystem/RT_External.pm b/FS/FS/TicketSystem/RT_External.pm index ea9c2b5a9..cd6834c96 100644 --- a/FS/FS/TicketSystem/RT_External.pm +++ b/FS/FS/TicketSystem/RT_External.pm @@ -280,5 +280,53 @@ sub baseurl { $external_url; } +sub _retrieve_single_value { + my( $self, $sql ) = @_; + + warn "$me $sql" if $DEBUG; + my $sth = $dbh->prepare($sql) or die $dbh->errstr. "preparing $sql"; + $sth->execute or die $sth->errstr. "executing $sql"; + + my $arrayref = $sth->fetchrow_arrayref; + $arrayref ? $arrayref->[0] : $arrayref; +} + +sub transaction_creator { + my( $self, $transaction_id ) = @_; + + my $sql = "SELECT name from transactions JOIN users ON ". + "transactions.creator=users.id WHERE transactions.id = ". + $transaction_id; + + $self->_retrieve_single_value($sql); +} + +sub transaction_ticketid { + my( $self, $transaction_id ) = @_; + + my $sql = "SELECT objectid from transactions WHERE transactions.id = ". + $transaction_id; + + $self->_retrieve_single_value($sql); +} + +sub transaction_subject { + my( $self, $transaction_id ) = @_; + + my $sql = "SELECT subject from transactions JOIN tickets ON objectid=". + "tickets.id WHERE transactions.id = ". $transaction_id; + + $self->_retrieve_single_value($sql); +} + +sub transaction_status { + my( $self, $transaction_id ) = @_; + + my $sql = "SELECT status from transactions JOIN tickets ON objectid=". + "tickets.id WHERE transactions.id = ". $transaction_id; + + $self->_retrieve_single_value($sql); +} + 1;