From 969d1f5a87f18e878b791b57afc89de0d51d4442 Mon Sep 17 00:00:00 2001
From: Steven Ayers <steven.ayers@portlandwebworks.com>
Date: Mon, 24 Mar 2025 10:35:19 -0500
Subject: [PATCH] Issue #3387303 by victordcp, bluegeek9: Outdated tempstore
 page status causing unwanted enabled/disabled change

---
 page_manager_ui/src/Controller/PageManagerController.php | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/page_manager_ui/src/Controller/PageManagerController.php b/page_manager_ui/src/Controller/PageManagerController.php
index 648ff90..c299492 100644
--- a/page_manager_ui/src/Controller/PageManagerController.php
+++ b/page_manager_ui/src/Controller/PageManagerController.php
@@ -184,6 +184,13 @@ class PageManagerController extends ControllerBase {
   public function performPageOperation(PageInterface $page, $op) {
     $page->$op()->save();
 
+    // Clear the page tempstore to avoid having an outdated status on the form.
+    $pageManagerTempstore = $this->tempstore->get('page_manager.page');
+
+    if ($pageManagerTempstore->get($page->id())) {
+      $pageManagerTempstore->delete($page->id());
+    }
+
     if ($op == 'enable') {
       $this->messenger()->addMessage($this->t('The %label page has been enabled.', ['%label' => $page->label()]));
     }
-- 
GitLab