eZ\Publish\Core\Repository\UserService::updateUserGroup PHP Method

updateUserGroup() public method

4.x: If the versionUpdateStruct is set in $userGroupUpdateStruct, this method internally creates a content draft, updates ts with the provided data and publishes the draft. If a draft is explicitly required, the user group can be updated via the content service methods.
public updateUserGroup ( eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct $userGroupUpdateStruct ) : eZ\Publish\API\Repository\Values\User\UserGroup
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup
$userGroupUpdateStruct eZ\Publish\API\Repository\Values\User\UserGroupUpdateStruct
return eZ\Publish\API\Repository\Values\User\UserGroup
    public function updateUserGroup(APIUserGroup $userGroup, UserGroupUpdateStruct $userGroupUpdateStruct)
    {
        if ($userGroupUpdateStruct->contentUpdateStruct === null && $userGroupUpdateStruct->contentMetadataUpdateStruct === null) {
            // both update structs are empty, nothing to do
            return $userGroup;
        }
        $contentService = $this->repository->getContentService();
        $loadedUserGroup = $this->loadUserGroup($userGroup->id);
        $this->repository->beginTransaction();
        try {
            $publishedContent = $loadedUserGroup;
            if ($userGroupUpdateStruct->contentUpdateStruct !== null) {
                $contentDraft = $contentService->createContentDraft($loadedUserGroup->getVersionInfo()->getContentInfo());
                $contentDraft = $contentService->updateContent($contentDraft->getVersionInfo(), $userGroupUpdateStruct->contentUpdateStruct);
                $publishedContent = $contentService->publishVersion($contentDraft->getVersionInfo());
            }
            if ($userGroupUpdateStruct->contentMetadataUpdateStruct !== null) {
                $publishedContent = $contentService->updateContentMetadata($publishedContent->getVersionInfo()->getContentInfo(), $userGroupUpdateStruct->contentMetadataUpdateStruct);
            }
            $this->repository->commit();
        } catch (Exception $e) {
            $this->repository->rollback();
            throw $e;
        }
        return $this->buildDomainUserGroupObject($publishedContent);
    }