protected function getSelectionChoices() { $contentTypeChoices = []; foreach ($this->contentTypeService->loadContentTypeGroups() as $group) { foreach ($this->contentTypeService->loadContentTypes($group) as $contentType) { $contentTypeChoices[$contentType->id] = $contentType->getName($contentType->mainLanguageCode); } } return $contentTypeChoices; }
/** * @return ContentType[] */ protected function getContentTypeList() { $contentTypes = array(); foreach ($this->contentTypeService->loadContentTypeGroups() as $contentTypeGroup) { $contentTypes = array_merge($contentTypes, $this->contentTypeService->loadContentTypes($contentTypeGroup)); } return $contentTypes; }
public function viewContentTypeGroupAction($contentTypeGroupId) { $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId); $createForm = $this->createForm(new ContentTypeCreateType($this->contentTypeService), ['contentTypeGroupId' => $contentTypeGroupId]); $contentTypes = $this->contentTypeService->loadContentTypes($contentTypeGroup); $canDelete = $this->isGranted(new Attribute('class', 'delete')); $deleteFormsById = []; $canDeleteById = []; foreach ($contentTypes as $contentType) { $contentTypeId = $contentType->id; $deleteFormsById[$contentTypeId] = $this->createForm(new ContentTypeDeleteType(), ['contentTypeId' => $contentTypeId])->createView(); $canDeleteById[$contentTypeId] = $canDelete && !$this->contentTypeService->isContentTypeUsed($contentType); } return $this->render('eZPlatformUIBundle:ContentType:view_content_type_group.html.twig', ['group' => $contentTypeGroup, 'content_types' => $contentTypes, 'can_edit' => $this->isGranted(new Attribute('class', 'update')), 'can_create' => $this->isGranted(new Attribute('class', 'create')), 'can_delete_by_id' => $canDeleteById, 'create_form' => $createForm->createView(), 'delete_forms_by_id' => $deleteFormsById]); }
public function viewContentTypeGroupAction($contentTypeGroupId) { $contentTypeGroup = $this->contentTypeService->loadContentTypeGroup($contentTypeGroupId); $createForm = $this->createForm(new ContentTypeCreateType($this->contentTypeService), ['contentTypeGroupId' => $contentTypeGroupId]); $contentTypes = $this->contentTypeService->loadContentTypes($contentTypeGroup); $canDelete = $this->isGranted(new Attribute('class', 'delete')); $deleteFormsById = []; $canDeleteById = []; foreach ($contentTypes as $contentType) { $contentTypeId = $contentType->id; $deleteFormsById[$contentTypeId] = $this->createForm(new ContentTypeDeleteType(), ['contentTypeId' => $contentTypeId])->createView(); $countQuery = new Query(['filter' => new Query\Criterion\ContentTypeId($contentTypeId), 'limit' => 0]); $contentCount = $this->searchService->findContent($countQuery, [], false)->totalCount; $canDeleteById[$contentTypeId] = $canDelete && $contentCount == 0; } return $this->render('eZPlatformUIBundle:ContentType:view_content_type_group.html.twig', ['group' => $contentTypeGroup, 'content_types' => $contentTypes, 'can_edit' => $this->isGranted(new Attribute('class', 'update')), 'can_create' => $this->isGranted(new Attribute('class', 'create')), 'can_delete_by_id' => $canDeleteById, 'create_form' => $createForm->createView(), 'delete_forms_by_id' => $deleteFormsById]); }
/** * Get Content Type objects which belong to the given content type group * * @param \eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup * * @return \eZ\Publish\API\Repository\Values\ContentType\ContentType[] Which have status DEFINED */ public function loadContentTypes(ContentTypeGroup $contentTypeGroup) { return $this->service->loadContentTypes($contentTypeGroup); }