/**
  * The given content type group is deleted
  *
  * @param mixed $contentTypeGroupId
  *
  * @throws \eZ\Publish\Core\REST\Server\Exceptions\ForbiddenException
  * @return \eZ\Publish\Core\REST\Server\Values\NoContent
  */
 public function deleteContentTypeGroup($contentTypeGroupId)
 {
     $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId);
     $contentTypes = $this->contentTypeService->loadContentTypes($contentTypeGroup);
     if (!empty($contentTypes)) {
         throw new ForbiddenException('Only empty content type groups can be deleted');
     }
     $this->contentTypeService->deleteContentTypeGroup($contentTypeGroup);
     return new Values\NoContent();
 }
 public function deleteContentTypeGroupAction(Request $request, $contentTypeGroupId)
 {
     $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId);
     $deleteForm = $this->createForm(new ContentTypeGroupDeleteType(), ['contentTypeGroupId' => $contentTypeGroupId]);
     $deleteForm->handleRequest($request);
     if ($deleteForm->isValid()) {
         try {
             $this->contentTypeService->deleteContentTypeGroup($contentTypeGroup);
             $this->notify('content_type.group.deleted', ['%identifier%' => $contentTypeGroup->identifier], 'content_type');
         } catch (InvalidArgumentException $e) {
             $this->notifyError('content_type.group.cannot_delete.has_content_types', ['%identifier%' => $contentTypeGroup->identifier], 'content_type');
         }
         $this->redirectToRouteAfterFormPost('admin_contenttypeGroupList');
     }
     // Form validation failed. Send errors as notifications.
     foreach ($deleteForm->getErrors(true) as $error) {
         $this->notifyErrorPlural($error->getMessageTemplate(), $error->getMessagePluralization(), $error->getMessageParameters(), 'ezrepoforms_content_type');
     }
     return $this->redirectToRouteAfterFormPost('admin_contenttypeGroupList');
 }
 /**
  * Delete a Content Type Group.
  *
  * This method only deletes an content type group which has content types without any content instances
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to delete a content type group
  * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException If  a to be deleted content type has instances
  *
  * @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup
  */
 public function deleteContentTypeGroup(ContentTypeGroup $contentTypeGroup)
 {
     $returnValue = $this->service->deleteContentTypeGroup($contentTypeGroup);
     $this->signalDispatcher->emit(new DeleteContentTypeGroupSignal(array('contentTypeGroupId' => $contentTypeGroup->id)));
     return $returnValue;
 }