[Rt-commit] rt branch, 4.0/report-tickets-with-transactions-join, created. rt-4.0.5-82-gbd8cefc
? sunnavy
sunnavy at bestpractical.com
Sun Mar 18 01:51:29 EDT 2012
The branch, 4.0/report-tickets-with-transactions-join has been created
at bd8cefc1e0b8d7a3e3ddadac71132ef92bd9a161 (commit)
- Log -----------------------------------------------------------------
commit 43f25021470fba8b81775eb8defb2060dc559ac7
Author: sunnavy <sunnavy at bestpractical.com>
Date: Sun Mar 18 11:20:04 2012 +0800
use RT::Ticket as ObjectType when joining Transactions in RT::Report::Tickets
see also #19595
diff --git a/lib/RT/Report/Tickets/Entry.pm b/lib/RT/Report/Tickets/Entry.pm
index f3eeb4d..87754c4 100644
--- a/lib/RT/Report/Tickets/Entry.pm
+++ b/lib/RT/Report/Tickets/Entry.pm
@@ -83,6 +83,10 @@ sub LabelValue {
return $value;
}
+sub ObjectType {
+ return 'RT::Ticket';
+}
+
RT::Base->_ImportOverlays();
1;
diff --git a/lib/RT/SearchBuilder.pm b/lib/RT/SearchBuilder.pm
index f79bc0a..aa2e25a 100644
--- a/lib/RT/SearchBuilder.pm
+++ b/lib/RT/SearchBuilder.pm
@@ -105,10 +105,14 @@ sub JoinTransactions {
TABLE2 => 'Transactions',
FIELD2 => 'ObjectId',
);
+
+ my $item = $self->NewItem;
+ my $object_type = $item->can('ObjectType') ? $item->ObjectType : ref $item;
+
$self->RT::SearchBuilder::Limit(
LEFTJOIN => $alias,
FIELD => 'ObjectType',
- VALUE => ref $self->NewItem,
+ VALUE => $object_type,
);
$self->{'_sql_aliases'}{'transactions'} = $alias
unless $args{'New'};
commit bd8cefc1e0b8d7a3e3ddadac71132ef92bd9a161
Author: sunnavy <sunnavy at bestpractical.com>
Date: Sun Mar 18 11:23:19 2012 +0800
test RT::Report::Tickets with transactions join
diff --git a/t/api/report_tickets.t b/t/api/report_tickets.t
new file mode 100644
index 0000000..4144c60
--- /dev/null
+++ b/t/api/report_tickets.t
@@ -0,0 +1,15 @@
+use strict;
+use warnings;
+use RT::Test tests => 5;
+
+use RT::Report::Tickets;
+
+my $ticket = RT::Test->create_ticket( Queue => 'General', Subject => 'test' );
+
+my $tickets = RT::Report::Tickets->new( RT->SystemUser );
+$tickets->FromSQL('Updated <= "tomorrow"');
+is( $tickets->Count, 1, "search with transaction join and positive results" );
+
+$tickets->FromSQL('Updated < "yesterday"');
+is( $tickets->Count, 0, "search with transaction join and 0 results" );
+
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list