From 18db434a68a7e401beaa93be7794c3c92d4ddb6d Mon Sep 17 00:00:00 2001 From: Paul Weidner Date: Thu, 10 Aug 2023 17:13:28 -0700 Subject: [PATCH] Use standard entity permissions --- modules/core/quick/farm_quick.info.yml | 1 + modules/core/quick/farm_quick.managed_role_permissions.yml | 4 ++-- modules/core/quick/farm_quick.permissions.yml | 4 ---- modules/core/quick/farm_quick.routing.yml | 2 +- modules/core/quick/src/Entity/QuickFormInstance.php | 2 ++ modules/core/quick/src/Form/ConfigureQuickForm.php | 4 ++-- modules/core/quick/tests/src/Functional/QuickFormTest.php | 6 +++--- 7 files changed, 11 insertions(+), 12 deletions(-) delete mode 100644 modules/core/quick/farm_quick.permissions.yml diff --git a/modules/core/quick/farm_quick.info.yml b/modules/core/quick/farm_quick.info.yml index ea23ecd7c..2348fed6a 100644 --- a/modules/core/quick/farm_quick.info.yml +++ b/modules/core/quick/farm_quick.info.yml @@ -4,6 +4,7 @@ type: module package: farmOS core_version_requirement: ^9 dependencies: + - entity:entity - drupal:taxonomy - farm:asset - farm:farm_log_quantity diff --git a/modules/core/quick/farm_quick.managed_role_permissions.yml b/modules/core/quick/farm_quick.managed_role_permissions.yml index 11d71553a..f227dc564 100644 --- a/modules/core/quick/farm_quick.managed_role_permissions.yml +++ b/modules/core/quick/farm_quick.managed_role_permissions.yml @@ -1,5 +1,5 @@ farm_quick: config_permissions: - - configure quick forms + - update quick_form default_permissions: - - view quick forms index + - view quick_form diff --git a/modules/core/quick/farm_quick.permissions.yml b/modules/core/quick/farm_quick.permissions.yml deleted file mode 100644 index c74df775b..000000000 --- a/modules/core/quick/farm_quick.permissions.yml +++ /dev/null @@ -1,4 +0,0 @@ -view quick forms index: - title: 'View quick forms index' -configure quick forms: - title: 'Configure quick forms' diff --git a/modules/core/quick/farm_quick.routing.yml b/modules/core/quick/farm_quick.routing.yml index a8db8257a..542de546c 100644 --- a/modules/core/quick/farm_quick.routing.yml +++ b/modules/core/quick/farm_quick.routing.yml @@ -4,7 +4,7 @@ farm.quick: _controller: '\Drupal\farm_quick\Controller\QuickFormController::index' _title: 'Quick forms' requirements: - _permission: 'view quick forms index' + _permission: 'view quick_form' farm_quick.quick_form: path: /quick/{quick_form} diff --git a/modules/core/quick/src/Entity/QuickFormInstance.php b/modules/core/quick/src/Entity/QuickFormInstance.php index 9a52580a0..65cbbb69f 100644 --- a/modules/core/quick/src/Entity/QuickFormInstance.php +++ b/modules/core/quick/src/Entity/QuickFormInstance.php @@ -20,6 +20,8 @@ use Drupal\farm_quick\QuickFormPluginCollection; * plural = "@count quick forms", * ), * handlers = { + * "access" = "\Drupal\entity\EntityAccessControlHandler", + * "permission_provider" = "\Drupal\entity\EntityPermissionProvider", * "form" = { * "configure" = "Drupal\farm_quick\Form\ConfigureQuickForm", * }, diff --git a/modules/core/quick/src/Form/ConfigureQuickForm.php b/modules/core/quick/src/Form/ConfigureQuickForm.php index c997da253..22e26ca8f 100644 --- a/modules/core/quick/src/Form/ConfigureQuickForm.php +++ b/modules/core/quick/src/Form/ConfigureQuickForm.php @@ -98,8 +98,8 @@ class ConfigureQuickForm extends EntityForm { return AccessResult::forbidden(); } - // Check the configure quick forms permission. - $configure_form_access = AccessResult::allowedIfHasPermissions($account, ['configure quick forms']); + // Check the update quick_form permission. + $configure_form_access = AccessResult::allowedIfHasPermissions($account, ['update quick_form']); return $quick_form->getPlugin()->access($account)->andIf($configure_form_access); } diff --git a/modules/core/quick/tests/src/Functional/QuickFormTest.php b/modules/core/quick/tests/src/Functional/QuickFormTest.php index 67a378fb5..429914ced 100644 --- a/modules/core/quick/tests/src/Functional/QuickFormTest.php +++ b/modules/core/quick/tests/src/Functional/QuickFormTest.php @@ -34,8 +34,8 @@ class QuickFormTest extends FarmBrowserTestBase { $this->drupalGet('quick'); $this->assertSession()->statusCodeEquals(403); - // Create and login a test user with access to the quick form index. - $user = $this->createUser(['view quick forms index']); + // Create and login a test user with access to view quick forms. + $user = $this->createUser(['view quick_form']); $this->drupalLogin($user); // Go to the quick form index and confirm that access is granted, but no @@ -50,7 +50,7 @@ class QuickFormTest extends FarmBrowserTestBase { // Create and login a test user with access to the quick form index, and // permission to create test logs. - $user = $this->createUser(['view quick forms index', 'create test log']); + $user = $this->createUser(['view quick_form', 'create test log']); $this->drupalLogin($user); // Go to the quick form index and confirm that access is granted, and the