public function processRemoveDraft(FormActionEvent $event) { /** @var \EzSystems\RepositoryForms\Data\Role\PolicyCreateData|\EzSystems\RepositoryForms\Data\Role\PolicyUpdateData $data */ $data = $event->getData(); $event->setResponse(new FormProcessingDoneResponse($this->router->generate('admin_roleView', ['roleId' => $data->initialRole->id]))); $this->notify('role.policy.notification.draft_removed', [], 'role'); $this->notify('role.notification.draft_removed', [], 'role'); }
public function testEventSetResponse() { $event = new FormActionEvent($this->getMock('\\Symfony\\Component\\Form\\FormInterface'), new stdClass(), 'fooButton'); self::assertFalse($event->hasResponse()); self::assertNull($event->getResponse()); $response = new Response(); $event->setResponse($response); self::assertTrue($event->hasResponse()); self::assertSame($response, $event->getResponse()); }
public function processUpdate(FormActionEvent $event) { /** @var \EzSystems\RepositoryForms\Data\Language\LanguageUpdateData|\EzSystems\RepositoryForms\Data\Language\LanguageCreateData $languageData */ $languageData = $event->getData(); if ($languageData->isNew()) { $this->notify('language.notification.created', ['%languageName%' => $languageData->name], 'language'); } else { $this->notify('language.notification.updated', ['%languageName%' => $languageData->name], 'language'); } $event->setResponse(new FormProcessingDoneResponse($this->router->generate('admin_languageview', ['languageId' => $languageData->getId()]))); }
public function processUpdate(FormActionEvent $event) { /** @var \EzSystems\RepositoryForms\Data\Section\SectionUpdateData|\EzSystems\RepositoryForms\Data\Section\SectionCreateData $sectionData */ $sectionData = $event->getData(); if ($sectionData->isNew()) { $this->notify('section.notification.created', ['%sectionName%' => $sectionData->name], 'section'); } else { $this->notify('section.notification.updated', ['%sectionName%' => $sectionData->name], 'section'); } $event->setResponse(new FormProcessingDoneResponse($this->router->generate('admin_sectionview', ['sectionId' => $sectionData->getId()]))); }
public function processUpdate(FormActionEvent $event) { /** @var \EzSystems\RepositoryForms\Data\ContentTypeGroup\ContentTypeGroupUpdateData|\EzSystems\RepositoryForms\Data\ContentTypeGroup\ContentTypeGroupCreateData $data */ $data = $event->getData(); if ($data->isNew()) { $this->notify('content_type.group.notification.created', ['%identifier%' => $data->identifier], 'content_type'); } else { $this->notify('content_type.group.notification.updated', ['%identifier%' => $data->identifier], 'content_type'); } $event->setResponse(new FormProcessingDoneResponse($this->router->generate('admin_contenttypeGroupList'))); }
public function processRemoveDraft(FormActionEvent $event) { /** @var \EzSystems\RepositoryForms\Data\Content\ContentCreateData|\EzSystems\RepositoryForms\Data\Content\ContentUpdateData $data */ $data = $event->getData(); $form = $event->getForm(); if ($data->isNew()) { return; } $this->contentService->deleteVersion($data->contentDraft->getVersionInfo()); $url = $this->router->generate(UrlAliasRouter::URL_ALIAS_ROUTE_NAME, ['contentId' => $data->contentDraft->id], UrlGeneratorInterface::ABSOLUTE_URL); $event->setResponse(new RedirectResponse($url)); }
public function processPublish(FormActionEvent $event) { /** @var \EzSystems\RepositoryForms\Data\User\UserCreateData $data */ if (!($data = $event->getData()) instanceof UserCreateData) { return; } $form = $event->getForm(); $this->saveDraft($data, $form->getConfig()->getOption('languageCode')); $redirectUrl = $this->router->generate('ez_user_register_confirmation'); $event->setResponse(new RedirectResponse($redirectUrl)); $event->stopPropagation(); }
public function processRemoveContentTypeDraft(FormActionEvent $event) { /** @var ContentTypeDraft $contentTypeDraft */ $contentTypeDraft = $event->getData()->contentTypeDraft; $languageCode = $event->getOption('languageCode'); // Redirect response will be different if we're dealing with an existing ContentType or a newly created one, which has been discarded. try { // This will throw a NotFoundException if a published version doesn't exist for this ContentType. $this->contentTypeService->loadContentType($contentTypeDraft->id); $response = $this->generateRedirectResponse($contentTypeDraft, $languageCode); } catch (NotFoundException $e) { // ContentTypeDraft was newly created, but then discarded. // Redirect to the ContentTypeGroup view. $response = new FormProcessingDoneResponse($this->router->generate('admin_contenttypeGroupView', ['contentTypeGroupId' => $contentTypeDraft->contentTypeGroups[0]->id])); } $event->setResponse($response); $this->notify('content_type.notification.draft_removed', [], 'content_type'); }
public function processRemoveDraft(FormActionEvent $event) { /** @var RoleDraft $roleDraft */ $roleDraft = $event->getData()->roleDraft; // Redirect response will be different if we're dealing with an existing Role, // or a newly created one which has been discarded. try { // This will throw a NotFoundException if a published version doesn't exist for this Role. $this->roleService->loadRole($roleDraft->id); $response = new FormProcessingDoneResponse($this->router->generate('admin_roleView', ['roleId' => $roleDraft->id])); } catch (NotFoundException $e) { // RoleDraft was newly created, but then discarded. // Redirect to the role list view. $response = new FormProcessingDoneResponse($this->router->generate('admin_roleList')); } $event->setResponse($response); $this->notify('role.notification.draft_removed', [], 'role'); }
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']))); } }