From 62276636f8d11ff9c505a32e1515d873b00be786 Mon Sep 17 00:00:00 2001 From: s j <sj@1729.be> Date: Tue, 10 May 2022 09:20:14 +0200 Subject: [PATCH 1/2] fix: unajaxify PlanEventForm --- .../src/Form/PlanEventForm.php | 35 ++++++------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/modules/resource_planning_template/src/Form/PlanEventForm.php b/modules/resource_planning_template/src/Form/PlanEventForm.php index 2f9748c..d003ef9 100644 --- a/modules/resource_planning_template/src/Form/PlanEventForm.php +++ b/modules/resource_planning_template/src/Form/PlanEventForm.php @@ -139,36 +139,11 @@ class PlanEventForm extends FormBase { '#value' => $this->t('Submit & Edit'), '#weight' => '110', '#name' => 'save_and_edit', - '#ajax' => [ - 'callback' => '::submitFormAjax', - 'effect' => 'fade', - 'event' => 'click', - 'progress' => [ - 'type' => 'throbber', - 'message' => $this->t('Processing ...'), - ], - ], ]; return $form; } - /** - * {@inheritdoc} - */ - public function submitFormAjax(array &$form, FormStateInterface $form_state) { - $this->submitForm($form, $form_state); - $url = Url::fromRoute( - 'entity.rp_event.edit_form', - [ - 'rp_event' => $this->event->id(), - ] - ); - $response = new AjaxResponse(); - $response->addCommand(new RedirectCommand($url->toString())); - return $response; - } - /** * {@inheritdoc} */ @@ -193,6 +168,16 @@ class PlanEventForm extends FormBase { ); if ($form_state->getTriggeringElement()['#name'] == 'save_and_edit') { + // Save redirect in storage for use in ajax form. + $storage = $form_state->getStorage(); + $storage['redirect'] = Url::fromRoute( + 'entity.rp_event.edit_form', + [ + 'rp_event' => $this->event->id(), + ] + ); + $form_state->setStorage($storage); + $form_state->setRedirect( 'entity.rp_event.edit_form', [ -- GitLab From 8c148d7a246425fe24790cd671ae1711ac0927bc Mon Sep 17 00:00:00 2001 From: s j <sj@1729.be> Date: Thu, 12 May 2022 07:25:39 +0000 Subject: [PATCH 2/2] phpcs --- .../resource_planning_template.info.yml | 6 +++--- .../resource_planning_template.routing.yml | 2 +- .../resource_planning_template/src/Form/PlanEventForm.php | 2 -- resource_planning.routing.yml | 4 ++-- tests/src/Kernel/EventTest.php | 4 ++-- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/modules/resource_planning_template/resource_planning_template.info.yml b/modules/resource_planning_template/resource_planning_template.info.yml index 7e81987..fb6c8c8 100644 --- a/modules/resource_planning_template/resource_planning_template.info.yml +++ b/modules/resource_planning_template/resource_planning_template.info.yml @@ -4,6 +4,6 @@ description: 'Resource Planning Event Templates' core_version_requirement: ^8 || ^9 package: 'startx' dependencies: - - resource_planning - - inline_entity_form - - duration_field + - resource_planning:resource_planning + - inline_entity_form:inline_entity_form + - duration_field:duration_field diff --git a/modules/resource_planning_template/resource_planning_template.routing.yml b/modules/resource_planning_template/resource_planning_template.routing.yml index a5e5f00..813c65f 100644 --- a/modules/resource_planning_template/resource_planning_template.routing.yml +++ b/modules/resource_planning_template/resource_planning_template.routing.yml @@ -4,4 +4,4 @@ resource_planning_template.plan_event_form: _form: '\Drupal\resource_planning_template\Form\PlanEventForm' _title: 'Plan Event' requirements: - _access: 'TRUE' + _permission: 'View published Event template entities' diff --git a/modules/resource_planning_template/src/Form/PlanEventForm.php b/modules/resource_planning_template/src/Form/PlanEventForm.php index d003ef9..fdb48de 100644 --- a/modules/resource_planning_template/src/Form/PlanEventForm.php +++ b/modules/resource_planning_template/src/Form/PlanEventForm.php @@ -5,8 +5,6 @@ namespace Drupal\resource_planning_template\Form; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RequestStack; -use Drupal\Core\Ajax\AjaxResponse; -use Drupal\Core\Ajax\RedirectCommand; use Drupal\Core\Url; use Drupal\Core\Datetime\DateFormatterInterface; diff --git a/resource_planning.routing.yml b/resource_planning.routing.yml index f12d847..cfa31b5 100644 --- a/resource_planning.routing.yml +++ b/resource_planning.routing.yml @@ -4,7 +4,7 @@ system.admin_resource_planning: _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage' _title: 'Planning' requirements: - _permission: 'access administration pages' + _permission: 'administer site configuration' system.admin_resource_planning_config: path: '/admin/planning/configuration' @@ -12,4 +12,4 @@ system.admin_resource_planning_config: _controller: '\Drupal\system\Controller\SystemController::systemAdminMenuBlockPage' _title: 'Configuration' requirements: - _permission: 'access administration pages' + _permission: 'administer site configuration' diff --git a/tests/src/Kernel/EventTest.php b/tests/src/Kernel/EventTest.php index 4606159..893b87b 100644 --- a/tests/src/Kernel/EventTest.php +++ b/tests/src/Kernel/EventTest.php @@ -47,7 +47,7 @@ class EventTest extends KernelTestBase { * Test Create Event. */ public function testCreateEvent() { - $data = $this->loadPlanning(); + $this->loadPlanning(); $event = Event::create([ 'type' => 'default', @@ -75,7 +75,7 @@ class EventTest extends KernelTestBase { * Test Create Event. */ public function testCreateSubEvent() { - $data = $this->loadPlanning(); + $this->loadPlanning(); $event = Event::create([ 'type' => 'default', -- GitLab