Install better error handling code into RequestApprovalForVersionTag. Do not generate leading commas in workflow instance scratch data.
This commit is contained in:
parent
503a378756
commit
55d55b4eee
3 changed files with 45 additions and 15 deletions
|
|
@ -12,6 +12,7 @@
|
||||||
- fixed #11564: Shop: Cart does not require a state field in the address
|
- fixed #11564: Shop: Cart does not require a state field in the address
|
||||||
- fixed #11562: Missing perl modules in gotcha
|
- fixed #11562: Missing perl modules in gotcha
|
||||||
- fixed #11565: Can't clear cache on plainblack.com
|
- fixed #11565: Can't clear cache on plainblack.com
|
||||||
|
- fixed #11540: Pending version tags are not completed on approval under certain conditions
|
||||||
|
|
||||||
7.9.4
|
7.9.4
|
||||||
- We're shipping underscore.js now for its suite of extremely handy utility
|
- We're shipping underscore.js now for its suite of extremely handy utility
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ use Getopt::Long;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
use WebGUI::Storage;
|
use WebGUI::Storage;
|
||||||
use WebGUI::Asset;
|
use WebGUI::Asset;
|
||||||
|
use WebGUI::Workflow::Instance;
|
||||||
|
|
||||||
|
|
||||||
my $toVersion = '7.9.5';
|
my $toVersion = '7.9.5';
|
||||||
|
|
@ -32,6 +33,7 @@ my $session = start(); # this line required
|
||||||
|
|
||||||
# upgrade functions go here
|
# upgrade functions go here
|
||||||
modifySortItems( $session );
|
modifySortItems( $session );
|
||||||
|
fixRequestForApprovalScratch($session);
|
||||||
|
|
||||||
finish($session); # this line required
|
finish($session); # this line required
|
||||||
|
|
||||||
|
|
@ -44,6 +46,22 @@ finish($session); # this line required
|
||||||
# print "DONE!\n" unless $quiet;
|
# print "DONE!\n" unless $quiet;
|
||||||
#}
|
#}
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Describe what our function does
|
||||||
|
sub fixRequestForApprovalScratch {
|
||||||
|
my $session = shift;
|
||||||
|
print "\tCorrect RequestApprovalForVersionTag workflow instance data with leading commas... " unless $quiet;
|
||||||
|
# and here's our code
|
||||||
|
my $instances = WebGUI::Workflow::Instance->getAllInstances($session);
|
||||||
|
INSTANCE: foreach my $instance (@{ $instances }) {
|
||||||
|
my $messageId = $instance->getScratch('messageId');
|
||||||
|
next INSTANCE unless $messageId;
|
||||||
|
$messageId =~ s/^,//;
|
||||||
|
$instance->setScratch('messageId', $messageId);
|
||||||
|
}
|
||||||
|
print "DONE!\n" unless $quiet;
|
||||||
|
}
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Changes sortItems to a SelectBox
|
# Changes sortItems to a SelectBox
|
||||||
sub modifySortItems {
|
sub modifySortItems {
|
||||||
|
|
@ -56,7 +74,7 @@ sub modifySortItems {
|
||||||
my $type = WebGUI::Form::SelectBox->getDatabaseFieldType;
|
my $type = WebGUI::Form::SelectBox->getDatabaseFieldType;
|
||||||
$session->db->write("ALTER TABLE SyndicatedContent MODIFY sortItems $type");
|
$session->db->write("ALTER TABLE SyndicatedContent MODIFY sortItems $type");
|
||||||
|
|
||||||
print "\t\tConverting old values...\n" unless $quiet;
|
print "\t\tConverting old values..." unless $quiet;
|
||||||
$session->db->write(q{
|
$session->db->write(q{
|
||||||
UPDATE SyndicatedContent
|
UPDATE SyndicatedContent
|
||||||
SET sortItems = 'none'
|
SET sortItems = 'none'
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,9 @@ sub execute {
|
||||||
# Tag is approved
|
# Tag is approved
|
||||||
elsif ( $instance->getScratch("status") eq "approved" ) {
|
elsif ( $instance->getScratch("status") eq "approved" ) {
|
||||||
# Clean up after ourselves
|
# Clean up after ourselves
|
||||||
$self->setMessageCompleted( $instance );
|
if (! $self->setMessageCompleted( $instance ) ) {
|
||||||
|
return $self->ERROR;
|
||||||
|
}
|
||||||
$instance->deleteScratch( "status" );
|
$instance->deleteScratch( "status" );
|
||||||
|
|
||||||
# We're done here
|
# We're done here
|
||||||
|
|
@ -278,7 +280,7 @@ sub sendMessage {
|
||||||
groupId => $groupId,
|
groupId => $groupId,
|
||||||
status => 'pending',
|
status => 'pending',
|
||||||
});
|
});
|
||||||
$messageIds = join ",", $messageIds, $message->getId;
|
$messageIds = $messageIds ? join(",", $messageIds, $message->getId) : $message->getId;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Keep track of message Ids so we can complete them
|
# Keep track of message Ids so we can complete them
|
||||||
|
|
@ -335,23 +337,32 @@ workflow instance we're part of.
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub setMessageCompleted {
|
sub setMessageCompleted {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $instance = shift;
|
my $instance = shift;
|
||||||
my $inbox = WebGUI::Inbox->new( $self->session );
|
my $inbox = WebGUI::Inbox->new( $self->session );
|
||||||
|
|
||||||
# Set all messages to completed
|
# Set all messages to completed
|
||||||
for my $messageId ( split /,/, $instance->getScratch("messageId") ) {
|
for my $messageId ( split /,/, $instance->getScratch("messageId") ) {
|
||||||
if($messageId){
|
if ($messageId) {
|
||||||
my $message = $inbox->getMessage( $messageId );
|
my $message = $inbox->getMessage($messageId);
|
||||||
$message->setCompleted if $message;
|
if ($message) {
|
||||||
|
$message->setCompleted;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$self->session->log->error("Could not get inbox message for messageId: $messageId");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
else {
|
||||||
|
$self->session->log->error("Malformed workflow instance scratch variable messageId for instance: ". $instance->getId);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
} ## end for my $messageId ( split...)
|
||||||
|
|
||||||
$instance->deleteScratch( "messageId" );
|
$instance->deleteScratch("messageId");
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
} ## end sub setMessageCompleted
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue