By kristiaanvandeneynde on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
3.3.x
Introduced in version:
3.3.0
Issue links:
Description:
Before
$membership = $this->group->getMember($this->account)->getGroupRelationship();
// Adding a role.
$membership->group_roles[] = $individual_role->id();
$membership->save();
// Removing a role.
foreach ($membership->group_roles as $key => $group_role_ref) {
if ($group_role_ref->target_id === $individual_role->id()) {
$membership->group_roles->removeItem($key);
}
}
$membership->save();
After:
$membership = $this->group->getMember($this->account);
// Adding a role.
$membership->addRole($individual_role->id());
// Removing a role.
$membership->removeRole($individual_role->id());
Keep in mind, getMember() still returns a GroupMembership wrapper for now, but the code above will keep working once that's removed in favor of shared bundle classes. See https://www.drupal.org/node/3383363
Impacts:
Module developers