/**
  * Remove the given 'ContentType' object.
  *
  * @param  eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType
  */
 protected function removeContentType($contentType)
 {
     try {
         $this->contentTypeService->deleteContentType($contentType);
     } catch (ApiExceptions\NotFoundException $e) {
         // nothing to do
     }
 }
 public function processRemoveContentTypeDraft(FormActionEvent $event)
 {
     $contentTypeDraft = $event->getData()->contentTypeDraft;
     $this->contentTypeService->deleteContentType($contentTypeDraft);
     if (isset($this->options['redirectRouteAfterPublish'])) {
         $event->setResponse(new RedirectResponse($this->router->generate($this->options['redirectRouteAfterPublish'])));
     }
 }
 public function deleteContentTypeAction(Request $request, $contentTypeId)
 {
     $contentType = $this->contentTypeService->loadContentType($contentTypeId);
     $deleteForm = $this->createForm(new ContentTypeDeleteType(), ['contentTypeId' => $contentTypeId]);
     $deleteForm->handleRequest($request);
     if ($deleteForm->isValid()) {
         $this->contentTypeService->deleteContentType($contentType);
         $this->notify('content_type.notification.deleted', ['%contentTypeName%' => $contentType->getName($contentType->mainLanguageCode)], 'content_type');
         return $this->redirectToRouteAfterFormPost('admin_contenttypeGroupView', ['contentTypeGroupId' => $contentType->getContentTypeGroups()[0]->id]);
     }
     // 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_contenttypeView', ['contentTypeId' => $contentTypeId]);
 }
 /**
  * Delete a Content Type object.
  *
  * Deletes a content type if it has no instances
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\BadStateException If there exist content objects of this type
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to delete a content type
  *
  * @param \eZ\Publish\API\Repository\Values\ContentType\ContentType $contentType
  */
 public function deleteContentType(ContentType $contentType)
 {
     $returnValue = $this->service->deleteContentType($contentType);
     $this->signalDispatcher->emit(new DeleteContentTypeSignal(array('contentTypeId' => $contentType->id)));
     return $returnValue;
 }
示例#5
0
 /**
  * The given content type draft is deleted
  *
  * @param $contentTypeId
  *
  * @return \eZ\Publish\Core\REST\Server\Values\NoContent
  */
 public function deleteContentTypeDraft($contentTypeId)
 {
     $contentTypeDraft = $this->contentTypeService->loadContentTypeDraft($contentTypeId);
     $this->contentTypeService->deleteContentType($contentTypeDraft);
     return new Values\NoContent();
 }