Spectre is touchy about things that die in perl. Fix the UpdateAssetSubscribers workflow activity to catch if the group in the asset does not exist.
This commit is contained in:
parent
2aeca17867
commit
ca78e1db4e
2 changed files with 7 additions and 1 deletions
|
|
@ -7,6 +7,7 @@
|
||||||
- fixed #12362: Thingy default Y/N field overly default
|
- fixed #12362: Thingy default Y/N field overly default
|
||||||
- fixed #12385: UTF-8 characters in Asset title break the Trash
|
- fixed #12385: UTF-8 characters in Asset title break the Trash
|
||||||
- fixed ... and the same problem in the Clipboard
|
- fixed ... and the same problem in the Clipboard
|
||||||
|
- fixed: UpdateAssetSubscribers workflow activity ERRORs if the group cannot be found.
|
||||||
|
|
||||||
7.10.26
|
7.10.26
|
||||||
- fixed: Template diagnostics when called without a session asset.
|
- fixed: Template diagnostics when called without a session asset.
|
||||||
|
|
|
||||||
|
|
@ -71,13 +71,18 @@ See WebGUI::Workflow::Activity::execute() for details.
|
||||||
sub execute {
|
sub execute {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $asset = shift;
|
my $asset = shift;
|
||||||
|
my $session = $self->session;
|
||||||
|
|
||||||
return unless $asset->get('subscriptionGroupId');
|
return unless $asset->get('subscriptionGroupId');
|
||||||
|
|
||||||
my $expireTime = time() + $self->getTTL();
|
my $expireTime = time() + $self->getTTL();
|
||||||
my $subscriptionGroup = WebGUI::Group->new($self->session, $asset->get('subscriptionGroupId'));
|
my $subscriptionGroup = WebGUI::Group->new($session, $asset->get('subscriptionGroupId'));
|
||||||
|
|
||||||
##Deserialize from scratch
|
##Deserialize from scratch
|
||||||
|
if (! $subscriptionGroup) {
|
||||||
|
$session->log->warn("Subscription group is missing for assetId: ".$asset->getId);
|
||||||
|
return $self->COMPLETE;
|
||||||
|
}
|
||||||
my @users = @{ $subscriptionGroup->getUsers }; ##Cache
|
my @users = @{ $subscriptionGroup->getUsers }; ##Cache
|
||||||
my @usersToDelete = (); ##Cache
|
my @usersToDelete = (); ##Cache
|
||||||
##Note, we could use grep here, but we can't interrupt if the workflow runs too long
|
##Note, we could use grep here, but we can't interrupt if the workflow runs too long
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue