From c34051d429f7be7a24fdb186c7fd183aea74eb0a Mon Sep 17 00:00:00 2001
From: Darren Fisher <60905-darren.fisher@users.noreply.drupalcode.org>
Date: Wed, 7 May 2025 16:02:57 +0000
Subject: [PATCH] Add permission to use the clear values button

---
 config_pages.permissions.yml | 4 ++++
 config_pages.routing.yml     | 2 +-
 src/ConfigPagesForm.php      | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/config_pages.permissions.yml b/config_pages.permissions.yml
index 746d5c9..bed80cc 100644
--- a/config_pages.permissions.yml
+++ b/config_pages.permissions.yml
@@ -16,3 +16,7 @@ delete config_pages entity:
 administer config_pages types:
   title: 'Administer Config Pages'
   description: 'Allow user to create and delete fields for Config Pages.'
+
+access config_pages clear values option:
+  title: 'Access the ConfigPages clear values option'
+  description: 'Allow users to use the clear values button on ConfigPages.'
diff --git a/config_pages.routing.yml b/config_pages.routing.yml
index 6aa1cf1..06cc05e 100644
--- a/config_pages.routing.yml
+++ b/config_pages.routing.yml
@@ -79,4 +79,4 @@ entity.config_pages.clear_confirmation:
     _controller: '\Drupal\config_pages\Controller\ConfigPagesController::clearConfirmation'
     _title: 'Purge all config page values'
   requirements:
-    _permission: 'administer config_pages types'
+    _permission: 'access config_pages clear values option'
diff --git a/src/ConfigPagesForm.php b/src/ConfigPagesForm.php
index 76b38ea..e2349f6 100644
--- a/src/ConfigPagesForm.php
+++ b/src/ConfigPagesForm.php
@@ -371,7 +371,7 @@ class ConfigPagesForm extends ContentEntityForm {
         '#value' => t('Clear values'),
         '#submit' => ['::configPagesClearValues'],
         '#button_type' => "submit",
-        '#access' => $this->user->hasPermission('edit ' . $entity->bundle() . ' config page entity'),
+        '#access' => $this->user->hasPermission('access config_pages clear values option'),
       ];
     }
 
-- 
GitLab