summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Ticket_Vendor.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-06-11 12:24:29 -0700
committerMark Wells <mark@freeside.biz>2016-06-11 23:22:31 -0700
commit89507319807e2f988bffa25981d4df927000f9eb (patch)
tree737a7820a6fc05f0414e7708c65db92621ad41f4 /rt/lib/RT/Ticket_Vendor.pm
parent9456eceed9d729643d1bec05ed1b380bbd1bc8ab (diff)
show unreplied marker in RT searches, #41670
Diffstat (limited to 'rt/lib/RT/Ticket_Vendor.pm')
-rw-r--r--rt/lib/RT/Ticket_Vendor.pm23
1 files changed, 23 insertions, 0 deletions
diff --git a/rt/lib/RT/Ticket_Vendor.pm b/rt/lib/RT/Ticket_Vendor.pm
index a55bb7b0d..4a7883888 100644
--- a/rt/lib/RT/Ticket_Vendor.pm
+++ b/rt/lib/RT/Ticket_Vendor.pm
@@ -92,5 +92,28 @@ sub WillResolveAsString {
return $self->WillResolveObj->AsString();
}
+=head2 IsUnreplied
+
+Returns true if there's a Correspond or Create transaction more recent than
+the Told date of this ticket (or the ticket has no Told date) and the ticket
+is not rejected or resolved.
+
+=cut
+
+sub IsUnreplied {
+ my $self = shift;
+ return 0 if $self->Status eq 'resolved'
+ or $self->Status eq 'rejected';
+
+ my $Told = $self->Told || '1970-01-01';
+ my $Txns = $self->Transactions;
+ $Txns->Limit(FIELD => 'Type',
+ OPERATOR => 'IN',
+ VALUE => [ 'Correspond', 'Create' ]);
+ $Txns->Limit(FIELD => 'Created',
+ OPERATOR => '>',
+ VALUE => $Told);
+ $Txns->Count ? 1 : 0;
+}
1;