public function unlinkContentTypeFromGroup($contentTypeId, $contentTypeGroupId)
    {
        $contentType = $this->contentTypeService->loadContentType($contentTypeId);
        $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId);

        $existingContentTypeGroups = $contentType->getContentTypeGroups();
        $contentTypeInGroup = false;
        foreach ($existingContentTypeGroups as $existingGroup) {
            if ($existingGroup->id == $contentTypeGroup->id) {
                $contentTypeInGroup = true;
                break;
            }
        }

        if (!$contentTypeInGroup) {
            throw new Exceptions\NotFoundException('Content type is not in the given group');
        }

        if (count($existingContentTypeGroups) == 1) {
            throw new ForbiddenException('Content type cannot be unlinked from the only remaining group');
        }

        $this->contentTypeService->unassignContentTypeGroup(
            $contentType,
            $contentTypeGroup
        );

        $contentType = $this->contentTypeService->loadContentType($contentTypeId);

        return new Values\ContentTypeGroupRefList(
            $contentType,
            $contentType->getContentTypeGroups()
        );
    }
public function unlinkContentTypeFromGroup($contentTypeId, $contentTypeGroupId)
    {
        $contentType = $this->contentTypeService->loadContentType($contentTypeId);
        $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId);

        $existingContentTypeGroups = $contentType->getContentTypeGroups();
        $contentTypeInGroup = false;
        foreach ($existingContentTypeGroups as $existingGroup) {
            if ($existingGroup->id == $contentTypeGroup->id) {
                $contentTypeInGroup = true;
                break;
            }
        }

        if (!$contentTypeInGroup) {
            throw new Exceptions\NotFoundException('Content type is not in the given group');
        }

        if (count($existingContentTypeGroups) == 1) {
            throw new ForbiddenException('Content type cannot be unlinked from the only remaining group');
        }

        $this->contentTypeService->unassignContentTypeGroup(
            $contentType,
            $contentTypeGroup
        );

        $contentType = $this->contentTypeService->loadContentType($contentTypeId);

        return new Values\ContentTypeGroupRefList(
            $contentType,
            $contentType->getContentTypeGroups()
        );
    }
public function unlinkContentTypeFromGroup ( $ contentTypeId , $ contentTypeGroupId ) { $ contentType = $ this -> contentTypeService -> loadContentType ( $ contentTypeId ) ; $ contentTypeGroup = $ this -> contentTypeService -> loadContentTypeGroup ( $ contentTypeGroupId ) ; $ existingContentTypeGroups = $ contentType -> getContentTypeGroups ( ) ; $ contentTypeInGroup = false ; foreach ( $ existingContentTypeGroups as $ existingGroup ) { if ( $ existingGroup -> id == $ contentTypeGroup -> id ) { $ contentTypeInGroup = true ; break ; } } if ( ! $ contentTypeInGroup ) { throw new Exceptions \ NotFoundException ( 'Content type is not in the given group' ) ; } if ( count ( $ existingContentTypeGroups ) == 1 ) { throw new ForbiddenException ( 'Content type cannot be unlinked from the only remaining group' ) ; } $ this -> contentTypeService -> unassignContentTypeGroup ( $ contentType , $ contentTypeGroup ) ; $ contentType = $ this -> contentTypeService -> loadContentType ( $ contentTypeId ) ; return new Values \ ContentTypeGroupRefList ( $ contentType , $ contentType -> getContentTypeGroups ( ) ) ; }
Removes the given group from the content type and returns the updated group list.

@param $contentTypeId
@param $contentTypeGroupId

@throws \eZ\Publish\Core\REST\Server\Exceptions\ForbiddenException
@throws \eZ\Publish\Core\REST\Common\Exceptions\NotFoundException

@return \eZ\Publish\Core\REST\Server\Values\ContentTypeGroupRefList
Removes the given group from the content type and returns the updated group list .