From 17067470e9ef9c3af75298197f8f103cec10b777 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 3 Mar 2010 20:50:08 -0800 Subject: [PATCH] Fix this completely broken Workflow Activity. --- .../Workflow/Activity/TrashExpiredEvents.pm | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/WebGUI/Workflow/Activity/TrashExpiredEvents.pm b/lib/WebGUI/Workflow/Activity/TrashExpiredEvents.pm index 8e5de4af0..79fd18ab6 100644 --- a/lib/WebGUI/Workflow/Activity/TrashExpiredEvents.pm +++ b/lib/WebGUI/Workflow/Activity/TrashExpiredEvents.pm @@ -75,16 +75,18 @@ See WebGUI::Workflow::Activity::execute() for details. =cut sub execute { - my $self = shift; - my $sth = $self->session->db->read("select assetId from EventsCalendar_event where eventEndDate < ?", [time()-$self->get("trashAfter")]); - while (my ($id) = $sth->array) { - my $asset = WebGUI::Asset::Event->new($self->session, $id); - if (defined $asset && $asset->get("eventEndDate") < time()-$self->get("trashAfter")) { - $asset->trash; - } + my $self = shift; + my $sth = $self->session->db->read( "select assetId from Event where endDate < ?", [ time() - $self->get("trashAfter") ]); + my $finishTime = time() + $self->getTTL; + EVENT: while ( my ($id) = $sth->array ) { + my $asset = WebGUI::Asset::Event->new( $self->session, $id ); + if ( defined $asset ) { + $asset->trash; } - $sth->finish; - return $self->COMPLETE; + last EVENT if time() > $finishTime; + } + $sth->finish; + return $self->COMPLETE; }