3 RT::Search::UnrepliedTickets
9 Find all unresolved tickets owned by the current user where the last
10 correspondence from a requestor (or ticket creation) is more recent than the
11 last correspondence from a non-requestor (if there is any).
17 package RT::Search::UnrepliedTickets;
21 use base qw(RT::Search);
26 return ($self->loc("Tickets awaiting a reply"));
32 my $TicketsObj = $self->TicketsObj;
33 # bypass the pre-RT-4.2 TicketRestrictions stuff and just use SearchBuilder
35 # if SystemUser does this search (as in QueueSummaryByLifecycle), they
36 # should get all tickets regardless of ownership
37 if ($TicketsObj->CurrentUser->id != RT->SystemUser->id) {
38 $TicketsObj->RT::SearchBuilder::Limit(
40 VALUE => $TicketsObj->CurrentUser->id
43 foreach my $status (qw(resolved rejected deleted)) {
44 $TicketsObj->RT::SearchBuilder::Limit(
47 ENTRYAGGREGATOR => 'AND',
51 my $txn_alias = $TicketsObj->JoinTransactions;
52 $TicketsObj->RT::SearchBuilder::Limit(
56 VALUE => 'COALESCE(main.Told,\'1970-01-01\')',
59 $TicketsObj->RT::SearchBuilder::Limit(
63 VALUE => 'Correspond',
64 SUBCLAUSE => 'transactiontype',
65 ENTRYAGGREGATOR => 'OR',
67 $TicketsObj->RT::SearchBuilder::Limit(
72 SUBCLAUSE => 'transactiontype',
73 ENTRYAGGREGATOR => 'OR',
79 RT::Base->_ImportOverlays();