/** * 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; }
/** * 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(); }