Add a workflow activity that reverifies that all subscribers to a CS can still view the CS, otherwise, remove them. Hook up the workflow to the update method in Collaboriation.pm and create an instance for it if the groupIdView changes. Add tests for the activity. Add a new workflow. Update the default WebGUI.conf.
This commit is contained in:
parent
e2115411b5
commit
dd7e6016dc
9 changed files with 253 additions and 2 deletions
|
|
@ -1566,6 +1566,31 @@ sub unsubscribe {
|
|||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 update ( )
|
||||
|
||||
Update the base method to handle checking valid users in the subscription group if
|
||||
view permissions have changed.
|
||||
|
||||
=cut
|
||||
|
||||
sub update {
|
||||
my $self = shift;
|
||||
my $origGroupIdView = $self->get('groupIdView');
|
||||
$self->next::method(@_);
|
||||
return if $self->get('groupIdView') eq $origGroupIdView;
|
||||
my $instance_data = {
|
||||
workflowId => 'xR-_GRRbjBojgLsFx3dEMA',
|
||||
className => 'WebGUI::Asset',
|
||||
methodName => 'newByDynamicClass',
|
||||
parameters => $self->getId,
|
||||
};
|
||||
my $instance = WebGUI::Workflow::Instance->create($self->session, $instance_data);
|
||||
$instance->start('skipRealtime');
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 view
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue