/** * Updates a content type group * * @param $contentTypeGroupId * * @throws \eZ\Publish\Core\REST\Server\Exceptions\ForbiddenException * @return \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup */ public function updateContentTypeGroup($contentTypeGroupId, Request $request) { $createStruct = $this->inputDispatcher->parse(new Message(array('Content-Type' => $request->headers->get('Content-Type')), $request->getContent())); try { $this->contentTypeService->updateContentTypeGroup($this->contentTypeService->loadContentTypeGroup($contentTypeGroupId), $this->mapToGroupUpdateStruct($createStruct)); return $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId); } catch (InvalidArgumentException $e) { throw new ForbiddenException($e->getMessage()); } }
public function processUpdate(FormActionEvent $event) { /** @var \EzSystems\RepositoryForms\Data\ContentTypeGroup\ContentTypeGroupUpdateData|\EzSystems\RepositoryForms\Data\ContentTypeGroup\ContentTypeGroupCreateData $data */ $data = $event->getData(); if ($data->isNew()) { $contentTypeGroup = $this->contentTypeService->createContentTypeGroup($data); } else { $this->contentTypeService->updateContentTypeGroup($data->contentTypeGroup, $data); $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($data->getId()); } $data->setContentTypeGroup($contentTypeGroup); }
/** * Update a Content Type Group object * * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to create a content type group * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException If the given identifier (if set) already exists * * @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup the content type group to be updated * @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct */ public function updateContentTypeGroup(ContentTypeGroup $contentTypeGroup, ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct) { $returnValue = $this->service->updateContentTypeGroup($contentTypeGroup, $contentTypeGroupUpdateStruct); $this->signalDispatcher->emit(new UpdateContentTypeGroupSignal(array('contentTypeGroupId' => $contentTypeGroup->id))); return $returnValue; }