From 3a5c04f8fa845559e7ed0beca3ab2389dbe89bbd Mon Sep 17 00:00:00 2001 From: Saron Gebre Date: Mon, 9 Dec 2024 14:45:57 -0600 Subject: [PATCH] Added a temporary development contributor role and modified some custom code to include this role. Fixes #883. --- .../sync/administerusersbyrole.settings.yml | 1 + ...tion.temporary_development_contributor.yml | 14 +++ ...tion.temporary_development_contributor.yml | 14 +++ config/sync/user.role.coder.yml | 1 + ...role.temporary_development_contributor.yml | 88 +++++++++++++++++++ .../administerusersbyrole.settings.yml | 7 ++ .../config/install/unl_five.settings.yml | 2 +- .../herbie_config/herbie_config.features.yml | 1 + .../herbie_config/herbie_config.info.yml | 8 +- .../config/install/user.role.coder.yml | 1 + ...role.temporary_development_contributor.yml | 87 ++++++++++++++++++ .../herbie_roles/herbie_roles.info.yml | 2 +- .../unl_group/src/Routing/RouteSubscriber.php | 2 +- web/modules/custom/unl_views/unl_views.module | 1 + 14 files changed, 224 insertions(+), 5 deletions(-) create mode 100644 config/sync/system.action.user_add_role_action.temporary_development_contributor.yml create mode 100644 config/sync/system.action.user_remove_role_action.temporary_development_contributor.yml create mode 100644 config/sync/user.role.temporary_development_contributor.yml create mode 100644 web/modules/custom/features/herbie_config/config/install/administerusersbyrole.settings.yml create mode 100644 web/modules/custom/features/herbie_roles/config/install/user.role.temporary_development_contributor.yml diff --git a/config/sync/administerusersbyrole.settings.yml b/config/sync/administerusersbyrole.settings.yml index 12500b1a1..f6c77169f 100644 --- a/config/sync/administerusersbyrole.settings.yml +++ b/config/sync/administerusersbyrole.settings.yml @@ -6,3 +6,4 @@ roles: site_admin: safe coder: safe administrator: perm + temporary_development_contributor: safe diff --git a/config/sync/system.action.user_add_role_action.temporary_development_contributor.yml b/config/sync/system.action.user_add_role_action.temporary_development_contributor.yml new file mode 100644 index 000000000..37b6182bd --- /dev/null +++ b/config/sync/system.action.user_add_role_action.temporary_development_contributor.yml @@ -0,0 +1,14 @@ +uuid: 24a12fbf-cbeb-42ee-808f-5017c9875f75 +langcode: en +status: true +dependencies: + config: + - user.role.temporary_development_contributor + module: + - user +id: user_add_role_action.temporary_development_contributor +label: 'Add the Temporary development contributor role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: temporary_development_contributor diff --git a/config/sync/system.action.user_remove_role_action.temporary_development_contributor.yml b/config/sync/system.action.user_remove_role_action.temporary_development_contributor.yml new file mode 100644 index 000000000..3745da46c --- /dev/null +++ b/config/sync/system.action.user_remove_role_action.temporary_development_contributor.yml @@ -0,0 +1,14 @@ +uuid: d3faa6a8-7813-4253-b587-49f9a15b4cee +langcode: en +status: true +dependencies: + config: + - user.role.temporary_development_contributor + module: + - user +id: user_remove_role_action.temporary_development_contributor +label: 'Remove the Temporary development contributor role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: temporary_development_contributor diff --git a/config/sync/user.role.coder.yml b/config/sync/user.role.coder.yml index 01a0673e0..9e0cb90f8 100644 --- a/config/sync/user.role.coder.yml +++ b/config/sync/user.role.coder.yml @@ -29,6 +29,7 @@ dependencies: - system - taxonomy - twig_ui + - unl_webform - views_ui _core: default_config_hash: pjZngoP_kq80I1xBCMa6k4sk--mrzHRIpBC2HjNgftE diff --git a/config/sync/user.role.temporary_development_contributor.yml b/config/sync/user.role.temporary_development_contributor.yml new file mode 100644 index 000000000..765a59c6a --- /dev/null +++ b/config/sync/user.role.temporary_development_contributor.yml @@ -0,0 +1,88 @@ +uuid: ff8091ad-f06f-4399-955b-2766bdcb377c +langcode: en +status: true +dependencies: + config: + - filter.format.html_code + - filter.format.webform_email + module: + - asset_injector + - block_content_permissions + - contextual + - feeds + - feeds_tamper + - field_css + - field_ui + - filter + - google_analytics + - google_tag + - group + - key + - metatag + - moderated_content_bulk_publish + - node + - paragraphs + - protected_pages + - replicate_ui + - salesforce + - salesforce_mapping + - system + - taxonomy + - twig_ui + - unl_webform + - views_ui +id: temporary_development_contributor +label: 'Temporary development contributor' +weight: -2 +is_admin: null +permissions: + - 'access contextual links' + - 'access css fields' + - 'access feed overview' + - 'access group overview' + - 'access site reports' + - 'access taxonomy overview' + - 'access unl webform options' + - 'add JS snippets for google analytics' + - 'administer content types' + - 'administer css assets injector' + - 'administer feeds' + - 'administer feeds_tamper' + - 'administer google_tag_container' + - 'administer js assets injector' + - 'administer key configuration overrides' + - 'administer keys' + - 'administer meta tags' + - 'administer node display' + - 'administer node fields' + - 'administer node form display' + - 'administer paragraph display' + - 'administer paragraph fields' + - 'administer paragraph form display' + - 'administer protected pages configuration' + - 'administer salesforce' + - 'administer salesforce mapped objects' + - 'administer salesforce mapping' + - 'administer taxonomy' + - 'administer taxonomy_term display' + - 'administer taxonomy_term fields' + - 'administer taxonomy_term form display' + - 'administer twig templates' + - 'administer views' + - 'authorize salesforce' + - 'bypass pages password protection' + - 'create group_subsite group' + - 'create html_code block content' + - 'delete any html_code block content' + - 'load twig templates from file system' + - 'moderated content bulk draft' + - 'moderated content bulk pin' + - 'moderated content bulk publish' + - 'moderated content bulk save content' + - 'moderated content bulk unpin' + - 'moderated content bulk unpublish' + - 'replicate entities' + - 'update any html_code block content' + - 'use text format html_code' + - 'use text format webform_email' + - 'view salesforce mapping' diff --git a/web/modules/custom/features/herbie_config/config/install/administerusersbyrole.settings.yml b/web/modules/custom/features/herbie_config/config/install/administerusersbyrole.settings.yml new file mode 100644 index 000000000..91b3354c9 --- /dev/null +++ b/web/modules/custom/features/herbie_config/config/install/administerusersbyrole.settings.yml @@ -0,0 +1,7 @@ +roles: + viewer: safe + editor: safe + site_admin: safe + coder: safe + administrator: perm + temporary_development_contributor: safe diff --git a/web/modules/custom/features/herbie_config/config/install/unl_five.settings.yml b/web/modules/custom/features/herbie_config/config/install/unl_five.settings.yml index cf54c5fe8..c80986bc1 100644 --- a/web/modules/custom/features/herbie_config/config/install/unl_five.settings.yml +++ b/web/modules/custom/features/herbie_config/config/install/unl_five.settings.yml @@ -1,7 +1,7 @@ features: logo: false slogan: true - favicon: 1 + favicon: 0 node_user_picture: false comment_user_picture: true comment_user_verification: true diff --git a/web/modules/custom/features/herbie_config/herbie_config.features.yml b/web/modules/custom/features/herbie_config/herbie_config.features.yml index 656a98a47..4bf4fe33b 100644 --- a/web/modules/custom/features/herbie_config/herbie_config.features.yml +++ b/web/modules/custom/features/herbie_config/herbie_config.features.yml @@ -5,6 +5,7 @@ required: - entity_usage.settings - google_tag.settings - moderated_content_bulk_publish.settings + - administerusersbyrole.settings - views.view.content - system.action.draft_current - system.action.pin diff --git a/web/modules/custom/features/herbie_config/herbie_config.info.yml b/web/modules/custom/features/herbie_config/herbie_config.info.yml index 71153fe1b..1dfad949f 100644 --- a/web/modules/custom/features/herbie_config/herbie_config.info.yml +++ b/web/modules/custom/features/herbie_config/herbie_config.info.yml @@ -2,12 +2,16 @@ name: 'Herbie config' description: 'A bundle of miscellaneous configuration files, mainly to override default configuration in modules or other settings. ' type: module core_version_requirement: '^9.4 || ^10' -version: '1.4' +version: '1.5' package: Herbie dependencies: + - 'administerusersbyrole:administerusersbyrole' - 'drupal:node' + - 'drupal:system' + - 'drupal:user' + - 'drupal:views' - 'entity_usage:entity_usage' - 'google_tag:google_tag' - - 'moderated_content_bulk_publish:moderated_content_bulk_publish' - 'linkit:linkit' + - 'moderated_content_bulk_publish:moderated_content_bulk_publish' - 'replicate_ui:replicate_ui' diff --git a/web/modules/custom/features/herbie_roles/config/install/user.role.coder.yml b/web/modules/custom/features/herbie_roles/config/install/user.role.coder.yml index 72f503d58..d43096f55 100644 --- a/web/modules/custom/features/herbie_roles/config/install/user.role.coder.yml +++ b/web/modules/custom/features/herbie_roles/config/install/user.role.coder.yml @@ -28,6 +28,7 @@ dependencies: - system - taxonomy - twig_ui + - unl_webform - views_ui id: coder label: Developer diff --git a/web/modules/custom/features/herbie_roles/config/install/user.role.temporary_development_contributor.yml b/web/modules/custom/features/herbie_roles/config/install/user.role.temporary_development_contributor.yml new file mode 100644 index 000000000..5c7f1a4f3 --- /dev/null +++ b/web/modules/custom/features/herbie_roles/config/install/user.role.temporary_development_contributor.yml @@ -0,0 +1,87 @@ +langcode: en +status: true +dependencies: + config: + - filter.format.html_code + - filter.format.webform_email + module: + - asset_injector + - block_content_permissions + - contextual + - feeds + - feeds_tamper + - field_css + - field_ui + - filter + - google_analytics + - google_tag + - group + - key + - metatag + - moderated_content_bulk_publish + - node + - paragraphs + - protected_pages + - replicate_ui + - salesforce + - salesforce_mapping + - system + - taxonomy + - twig_ui + - unl_webform + - views_ui +id: temporary_development_contributor +label: 'Temporary development contributor' +weight: -2 +is_admin: null +permissions: + - 'access contextual links' + - 'access css fields' + - 'access feed overview' + - 'access group overview' + - 'access site reports' + - 'access taxonomy overview' + - 'access unl webform options' + - 'add JS snippets for google analytics' + - 'administer content types' + - 'administer css assets injector' + - 'administer feeds' + - 'administer feeds_tamper' + - 'administer google_tag_container' + - 'administer js assets injector' + - 'administer key configuration overrides' + - 'administer keys' + - 'administer meta tags' + - 'administer node display' + - 'administer node fields' + - 'administer node form display' + - 'administer paragraph display' + - 'administer paragraph fields' + - 'administer paragraph form display' + - 'administer protected pages configuration' + - 'administer salesforce' + - 'administer salesforce mapped objects' + - 'administer salesforce mapping' + - 'administer taxonomy' + - 'administer taxonomy_term display' + - 'administer taxonomy_term fields' + - 'administer taxonomy_term form display' + - 'administer twig templates' + - 'administer views' + - 'authorize salesforce' + - 'bypass pages password protection' + - 'create group_subsite group' + - 'create html_code block content' + - 'delete any html_code block content' + - 'load twig templates from file system' + - 'moderated content bulk draft' + - 'moderated content bulk pin' + - 'moderated content bulk publish' + - 'moderated content bulk save content' + - 'moderated content bulk unpin' + - 'moderated content bulk unpublish' + - 'replicate entities' + - 'update any html_code block content' + - 'use text format html_code' + - 'use text format webform_email' + - 'view salesforce mapping' diff --git a/web/modules/custom/features/herbie_roles/herbie_roles.info.yml b/web/modules/custom/features/herbie_roles/herbie_roles.info.yml index 3ec11d680..fd60b6743 100644 --- a/web/modules/custom/features/herbie_roles/herbie_roles.info.yml +++ b/web/modules/custom/features/herbie_roles/herbie_roles.info.yml @@ -62,5 +62,5 @@ dependencies: - 'webform:webform' - 'webform:webform_node' - 'webform:webform_submission_log' -version: 1.7.0 +version: 1.7.1 package: Herbie diff --git a/web/modules/custom/unl_group/src/Routing/RouteSubscriber.php b/web/modules/custom/unl_group/src/Routing/RouteSubscriber.php index 628eb425c..fa46a5909 100644 --- a/web/modules/custom/unl_group/src/Routing/RouteSubscriber.php +++ b/web/modules/custom/unl_group/src/Routing/RouteSubscriber.php @@ -18,7 +18,7 @@ protected function alterRoutes(RouteCollection $collection) { // toolbar menu item by denying access to the route. if ($route = $collection->get('entity.group.collection')) { $groups = \Drupal::entityTypeManager()->getStorage('group')->loadMultiple(); - if (!$groups && empty(array_intersect(['super_administrator', 'administrator', 'coder'], \Drupal::currentUser()->getRoles()))) { + if (!$groups && empty(array_intersect(['super_administrator', 'administrator', 'coder', 'temporary_development_contributor'], \Drupal::currentUser()->getRoles()))) { $route->setRequirement('_access', 'FALSE'); } } diff --git a/web/modules/custom/unl_views/unl_views.module b/web/modules/custom/unl_views/unl_views.module index b52455458..ff00db8ee 100644 --- a/web/modules/custom/unl_views/unl_views.module +++ b/web/modules/custom/unl_views/unl_views.module @@ -49,6 +49,7 @@ function unl_views_form_views_exposed_form_alter(&$form, FormStateInterface $for unset($form['role']['#options']['administrator']); unset($form['role']['#options']['super_administrator']); unset($form['role']['#options']['coder']); + unset($form['role']['#options']['temporary_development_contributor']); } } }