Trap trying to instance bad workflow activities.

Remove the ProcessRecurringPayments activity from the user's config.
This commit is contained in:
Colin Kuskie 2008-11-17 02:51:41 +00:00
parent 4bfb2d200c
commit 4e91f3d500
4 changed files with 31 additions and 1 deletions

View file

@ -36,6 +36,7 @@ addVersionTagMode($session);
addPosMode($session);
fixFriendsGroups( $session );
upgradeAccount( $session );
removeProcessRecurringPaymentsFromConfig( $session );
finish($session); # this line required
@ -58,6 +59,23 @@ sub addPosMode {
print qq{Finished\n} if !$quiet;
}
#----------------------------------------------------------------------------
sub removeProcessRecurringPaymentsFromConfig {
my $session = shift;
print qq{\tRemoving old ProcessRecurringPayments workflow activity from config...} if !$quiet;
my $config = $session->config();
my $workflowActivities = $config->get('workflowActivities');
my @noObjects = ();
foreach my $activity (@{ $workflowActivities->{'None'}}) {
push @noObjects, $activity unless
$activity eq 'WebGUI::Workflow::Activity::ProcessRecurringPayments';
}
$workflowActivities->{'None'} = [ @noObjects ];
$config->set('workflowActivities', $workflowActivities);
}
#----------------------------------------------------------------------------
# This method add support for versionTagMode
#