RemoveSingleOgMembershipRole.php in Organic groups 8
File
src/Plugin/Action/RemoveSingleOgMembershipRole.php
View source
<?php
declare (strict_types=1);
namespace Drupal\og\Plugin\Action;
use Drupal\og\Entity\OgMembership;
class RemoveSingleOgMembershipRole extends ChangeSingleOgMembershipRoleBase {
public function execute(?OgMembership $membership = NULL) {
if (!$membership) {
return;
}
$role_name = $this->configuration['role_name'];
$role_id = implode('-', [
$membership
->getGroupEntityType(),
$membership
->getGroupBundle(),
$role_name,
]);
if (in_array($role_id, $membership
->getRolesIds())) {
$membership
->revokeRoleById($role_id)
->save();
}
}
}