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'])));
     }
 }