Support lookup of reimbursement ticket

This commit is contained in:
Bradley M. Kuhn 2018-07-22 16:35:35 -07:00
parent dcbf4bac2c
commit 48ec393a01

View file

@ -95,6 +95,27 @@ sub FindTaxTicketFromList(@) {
return $taxTicket;
}
###############################################################################
sub FindReimbursementTicketFromList(@) {
my $reimbursementTicket;
foreach my $ticket (@_) {
$ticket =~ s%\s*ticket/?\s*(\d+)\s*%$1%;
open(my $rtReimburseFH, "-|", "$RT_CMD", "ls", "-i", 'Queue = accounts-payable AND ' .
"Subject LIKE 'reimbursement' and Subject LIKE 'travel' and id = " . $ticket);
while (my $reimburseLine = <$rtReimburseFH>) {
if ($reimburseLine =~ m%\s*ticket\s*/?\s*(\d+)\s*$%) {
my $tt = $1;
if ($tt == $ticket) {
$reimbursementTicket = $ticket;
last;
}
}
}
close $rtReimburseFH;
last if defined $reimbursementTicket;
}
return $reimbursementTicket;
}
###############################################################################
sub GetStatusFromTicket($) {
my($ticketSpec) = @_;
my $status;
@ -260,6 +281,11 @@ while (my $file = readdir $dh) {
print STDERR "\"$file\": \"$ticket\": Skipped: no tax ticket found.\n";
next;
}
my $reimbursementTicket = FindReimbursementTicketFromList(@links);
if (not defined $reimbursementTicket) {
print STDERR "\"$file\": \"$ticket\": Skipped: no reimbursement ticket found.\n";
next;
}
print STDERR "\"$file\": \"$ticket\": found a tax ticket of \"$taxTicket\"\n" if ($VERBOSE > 5);
my $taxTicketStatus = GetStatusFromTicket($taxTicket);
if ($taxTicketStatus ne "resolved") {