From dabd4d5beff6c2a8e330d66d5fb2863458c84c92 Mon Sep 17 00:00:00 2001 From: Jill Adams <85581471+jilladams@users.noreply.github.com> Date: Tue, 31 Oct 2023 15:20:30 -0700 Subject: [PATCH 01/12] [docs] Update and rename pw-dark-launch.md to dark-launch.md --- .../{pw-dark-launch.md => dark-launch.md} | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) rename .github/ISSUE_TEMPLATE/{pw-dark-launch.md => dark-launch.md} (85%) diff --git a/.github/ISSUE_TEMPLATE/pw-dark-launch.md b/.github/ISSUE_TEMPLATE/dark-launch.md similarity index 85% rename from .github/ISSUE_TEMPLATE/pw-dark-launch.md rename to .github/ISSUE_TEMPLATE/dark-launch.md index 56e17a93de..e89a437c4b 100644 --- a/.github/ISSUE_TEMPLATE/pw-dark-launch.md +++ b/.github/ISSUE_TEMPLATE/dark-launch.md @@ -1,10 +1,9 @@ --- -name: "(PW) Dark launch request" -about: Request to dark launch CMS content that includes React widget, owned by Public - Websites team +name: "Dark launch request" +about: Request to dark launch CMS content that includes React widget, owned by CMS team title: 'CMS/React content dark launch request: ' -labels: Drupal engineering, Needs refining, Public Websites, VA.gov frontend -assignees: jilladams, FranECross +labels: Drupal engineering, Needs analysis, CMS Team +assignees: BerniXiongA6 --- @@ -27,7 +26,7 @@ CMS team does not want to get in the habit of having staged nodes that will not * **Target production launch date:** * **What is driving and/or blocking prod launch date?** -# For PW use +# For CMS Team use ## Tasks Please tick the boxes for completed steps as we go, for cross-team visibility. - [ ] Technical POC has merged vets-website code to main & confirmed deploy to prod @@ -41,11 +40,3 @@ Please tick the boxes for completed steps as we go, for cross-team visibility. - [ ] Page is verified: Live on Staging - [ ] Page is **not** live on Prod - [ ] Ticket is cut for production launch planning, e.g. #10627 - -### Team -Please check the team(s) that will do this work. - -- [ ] `CMS Team` -- [X] `Public Websites` -- [ ] `Facilities` -- [ ] `User support` From 8e770a9063a00a3b50caa151d4952f15c69b7900 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 31 Oct 2023 20:20:27 -0500 Subject: [PATCH 02/12] Bump datadog/dd-trace from 0.92.2 to 0.93.1 (#15937) Bumps [datadog/dd-trace](https://github.com/DataDog/dd-trace-php) from 0.92.2 to 0.93.1. - [Release notes](https://github.com/DataDog/dd-trace-php/releases) - [Commits](https://github.com/DataDog/dd-trace-php/compare/0.92.2...0.93.1) --- updated-dependencies: - dependency-name: datadog/dd-trace dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.json | 2 +- composer.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 462d554024..ac7b9e7ce9 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "composer/installers": "^2.2.0", "consolidation/site-process": "^4.1", "cweagans/composer-patches": "^1.7", - "datadog/dd-trace": "^0.92.0", + "datadog/dd-trace": "^0.93.1", "dealerdirect/phpcodesniffer-composer-installer": "0.7.2", "drupal/address": "^1.4", "drupal/admin_feedback": "^2.2", diff --git a/composer.lock b/composer.lock index 8c34570ad0..f09f6769f9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "cd4bfc06930802b2039d8aac1efe4f02", + "content-hash": "82996f44bb9b21fc4e4a683b792d9d6a", "packages": [ { "name": "alchemy/zippy", @@ -1271,16 +1271,16 @@ }, { "name": "datadog/dd-trace", - "version": "0.92.2", + "version": "0.93.1", "source": { "type": "git", "url": "https://github.com/DataDog/dd-trace-php.git", - "reference": "d1546b6ea4dded0a23d0640fd91ea5536d6fdaa7" + "reference": "db7c775277d21e39d43bec8bd375c59d4b12c12c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DataDog/dd-trace-php/zipball/d1546b6ea4dded0a23d0640fd91ea5536d6fdaa7", - "reference": "d1546b6ea4dded0a23d0640fd91ea5536d6fdaa7", + "url": "https://api.github.com/repos/DataDog/dd-trace-php/zipball/db7c775277d21e39d43bec8bd375c59d4b12c12c", + "reference": "db7c775277d21e39d43bec8bd375c59d4b12c12c", "shasum": "" }, "require": { @@ -1359,9 +1359,9 @@ ], "support": { "issues": "https://github.com/DataDog/dd-trace-php/issues", - "source": "https://github.com/DataDog/dd-trace-php/tree/0.92.2" + "source": "https://github.com/DataDog/dd-trace-php/tree/0.93.1" }, - "time": "2023-10-06T14:25:02+00:00" + "time": "2023-10-31T16:10:59+00:00" }, { "name": "davedevelopment/stiphle", From 4c46a5b4e43b13d6ffe664841ab90adeb2e09f45 Mon Sep 17 00:00:00 2001 From: Nate Douglas Date: Wed, 1 Nov 2023 08:27:32 -0400 Subject: [PATCH 03/12] VACMS-14342: Set up `CODEOWNERS` (#15581) * VACMS-14342: Set up CODEOWNERS * h/t Dave * h/t Tanner * h/t Dave * Update .github/CODEOWNERS * Apply suggestions from code review h/t @swirtSJW --- .github/CODEOWNERS | 134 ++++++++++++++++++++++++++++++++++++++---- READMES/codeowners.md | 29 +++++++++ 2 files changed, 151 insertions(+), 12 deletions(-) create mode 100644 READMES/codeowners.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 10c8d8e49e..701cd31515 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,23 +1,133 @@ # Lines starting with '#' are comments. # Each line is a file pattern followed by one or more owners. - -# More details are here: https://help.github.com/articles/about-codeowners/ - # The '*' pattern is global owners. - # Order is important. The last matching pattern has the most precedence. -# The folders are ordered as follows: -# In each subsection folders are ordered first by depth, then alphabetically. -# This should make it easy to add new rules without breaking existing ones. +# More details are here: https://help.github.com/articles/about-codeowners/ # CMS teams: See https://github.com/orgs/department-of-veterans-affairs/teams?query=cms for full list +# Also see https://github.com/department-of-veterans-affairs/va.gov-cms/issues/15563 re: cleanup +# # @department-of-veterans-affairs/cms-infrastructure +# @department-of-veterans-affairs/facilities-cms +# @department-of-veterans-affairs/public-websites-cms # @department-of-veterans-affairs/vfs-cms-team -# @department-of-veterans-affairs/vfs-cms-team-core -# @department-of-veterans-affairs/vfs-cms-team-product -# @department-of-veterans-affairs/vfs-cms-team-infrastructure -# Global rule: -# @department-of-veterans-affairs/vfs-cms-team +# By default, ownership reverts to platform-cms-drupal-engineers +* @department-of-veterans-affairs/platform-cms-drupal-engineers + +# Local/Codespaces/Tugboat/GitHub stuff belongs to DevOps... +/.ddev/ @department-of-veterans-affairs/platform-cms-devops-engineers +/.devcontainer/ @department-of-veterans-affairs/platform-cms-devops-engineers +/.dumps/ @department-of-veterans-affairs/platform-cms-devops-engineers +/.github/ @department-of-veterans-affairs/platform-cms-devops-engineers +/.storybook/ @department-of-veterans-affairs/platform-cms-ux @department-of-veterans-affairs/platform-cms-accessibility +/.tugboat/ @department-of-veterans-affairs/platform-cms-devops-engineers +/.vscode/ # @department-of-veterans-affairs/platform-cms-drupal-engineers +/bin/ @department-of-veterans-affairs/platform-cms-devops-engineers + +# Config belongs to anyone by default. +/config/ @department-of-veterans-affairs/vfs-cms-team +/config/sync/ # @department-of-veterans-affairs/vfs-cms-team +# aka VAMC System Banner Alert with Situation Updates +/config/sync/*full_width_banner_alert* @department-of-veterans-affairs/facilities-cms +# To catch VAMC stuff with older naming convention +/config/sync/*health_care* @department-of-veterans-affairs/facilities-cms +/config/sync/*jsonapi* @department-of-veterans-affairs/accelerated-publishing +# aka VAMC System Locations List +/config/sync/*locations_listing* @department-of-veterans-affairs/facilities-cms +/config/sync/*nca* @department-of-veterans-affairs/facilities-cms +/config/sync/*vamc* @department-of-veterans-affairs/facilities-cms +/config/sync/*vba* @department-of-veterans-affairs/facilities-cms +/config/sync/*vet_center* @department-of-veterans-affairs/facilities-cms +/docroot/ # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/cypress/ @department-of-veterans-affairs/platform-cms-qa +/docroot/design-system/ @department-of-veterans-affairs/platform-cms-ux +/docroot/modules/ # @department-of-veterans-affairs/platform-cms-drupal-engineers + +# Custom modules should be owned by the teams with primary responsibility for maintaining them. +/docroot/modules/custom/va_gov_api @department-of-veterans-affairs/accelerated-publishing +/docroot/modules/custom/va_gov_backend # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_banner # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_benefits @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_block_types # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_build_trigger # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_bulk # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_clone # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_clp # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_consumers @department-of-veterans-affairs/facilities-cms @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_content_release # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_content_types @department-of-veterans-affairs/platform-cms-drupal-engineers @department-of-veterans-affairs/public-websites-cms @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_dashboards @department-of-veterans-affairs/platform-cms-drupal-engineers @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_db # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_entity_browser @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_environment # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_events @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_facilities @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_flags @department-of-veterans-affairs/platform-cms-drupal-engineers @department-of-veterans-affairs/public-websites-cms @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_git # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_github # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_govdelivery @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_graphql # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_header_footer @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_help_center # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_home @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_links # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_live_field_migration # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_login # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_lovell @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_magichead @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_media # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_menu_access # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_menus # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_migrate @department-of-veterans-affairs/facilities-cms @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_multilingual # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_notifications @department-of-veterans-affairs/platform-cms-drupal-engineers @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_post_api @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_preview # @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/modules/custom/va_gov_profile @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_resources_and_support @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_user @department-of-veterans-affairs/platform-cms-drupal-engineers @department-of-veterans-affairs/facilities-cms @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_vamc @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_vba_facility @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_vet_center @department-of-veterans-affairs/facilities-cms +/docroot/modules/custom/va_gov_workflow @department-of-veterans-affairs/platform-cms-drupal-engineers @department-of-veterans-affairs/facilities-cms @department-of-veterans-affairs/public-websites-cms +/docroot/modules/custom/va_gov_workflow_assignments # @department-of-veterans-affairs/platform-cms-drupal-engineers + +/docroot/profiles/ @department-of-veterans-affairs/platform-cms-qa +/docroot/scripts/ @department-of-veterans-affairs/platform-cms-devops-engineers +/docroot/simplesaml/ @department-of-veterans-affairs/platform-cms-devops-engineers +/docroot/sites/ @department-of-veterans-affairs/platform-cms-devops-engineers @department-of-veterans-affairs/platform-cms-drupal-engineers +/docroot/themes/ @department-of-veterans-affairs/platform-cms-ux @department-of-veterans-affairs/platform-cms-accessibility +/drush/ # @department-of-veterans-affairs/platform-cms-drupal-engineers +/hooks/ @department-of-veterans-affairs/platform-cms-devops-engineers +/patches/ # @department-of-veterans-affairs/platform-cms-drupal-engineers +/scripts/ @department-of-veterans-affairs/platform-cms-devops-engineers +/tests/ @department-of-veterans-affairs/platform-cms-qa +/tests/cypress/ # @department-of-veterans-affairs/platform-cms-qa +/tests/phpunit/ # @department-of-veterans-affairs/platform-cms-qa +/tests/scripts/ @department-of-veterans-affairs/platform-cms-qa @department-of-veterans-affairs/platform-cms-devops-engineers +.env.example @department-of-veterans-affairs/platform-cms-devops-engineers +.gitattributes @department-of-veterans-affairs/platform-cms-devops-engineers +.gitignore @department-of-veterans-affairs/platform-cms-devops-engineers +.web @department-of-veterans-affairs/platform-cms-devops-engineers +composer.json # @department-of-veterans-affairs/platform-cms-drupal-engineers +composer.lock # @department-of-veterans-affairs/platform-cms-drupal-engineers +cypress.config.js @department-of-veterans-affairs/platform-cms-qa +Jenkinsfile.cd @department-of-veterans-affairs/platform-cms-devops-engineers +multi-reporter-config.json @department-of-veterans-affairs/platform-cms-qa +package-lock.json # @department-of-veterans-affairs/platform-cms-drupal-engineers +package.json # @department-of-veterans-affairs/platform-cms-drupal-engineers +phpcs.xml.dist @department-of-veterans-affairs/platform-cms-qa +phploc.phar @department-of-veterans-affairs/platform-cms-qa +phpstan_bootstrap.php @department-of-veterans-affairs/platform-cms-qa +phpstan-baseline.neon @department-of-veterans-affairs/platform-cms-qa +phpstan.neon @department-of-veterans-affairs/platform-cms-qa +phpunit.xml @department-of-veterans-affairs/platform-cms-qa +LICENSE.md @department-of-veterans-affairs/platform-cms +README.md @department-of-veterans-affairs/platform-cms +SECURITY.md @department-of-veterans-affairs/platform-cms-qa +tasks-periodic.yml @department-of-veterans-affairs/platform-cms-devops-engineers +tests.yml @department-of-veterans-affairs/platform-cms-qa +tugboat.yml @department-of-veterans-affairs/platform-cms-devops-engineers diff --git a/READMES/codeowners.md b/READMES/codeowners.md new file mode 100644 index 0000000000..9f75f6e365 --- /dev/null +++ b/READMES/codeowners.md @@ -0,0 +1,29 @@ +# Code Ownership and CODEOWNERS + +Code ownership is the practice of designating specific individuals or teams as the primary maintainers or "owners" of certain parts of a codebase. + +Identified benefits include the following: + +- **Documented Responsibility**: When a specific part of the code has a designated owner, it is clear who is responsible for its maintenance, updates, and quality. + +- **Greater Expertise**: Over time, code owners become experts in their designated areas, which can lead to faster debugging, better code quality, and more informed decisions about that part of the code. It also reduces the likelihood of bugs being introduced from outside the team. + +- **More Meaningful Code Review**: In large projects with many contributors, code ownership can help ensure that changes to a specific part of the code are reviewed by those who are most familiar with it. + +GitHub's implementation of a code ownership system is built around a file, [`.github/CODEOWNERS`](./.github/CODEOWNERS), which is committed to the repository and managed as a normal file. You can learn more about it [on GitHub](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners). + +The important ideas are: + +1. Code owners are automatically requested for review when someone opens a pull request that modifies code that they own. + +2. Code owners are not automatically requested to review draft pull requests. + +3. When you mark a draft pull request as ready for review, code owners are automatically notified. + +4. Approval from a code owner is required for merging a pull request affecting that section of the codebase. + +5. Changes to CODEOWNERS do not take effect until they are merged to `main`. + +6. Viewing the CODEOWNERS file in GitHub should provide debugging information. + +As with everything else in this project, CODEOWNERS is subject to continual refinement and development. Please raise issues and suggest improvements where appropriate. From 65dcf74b89cf1331c708439f810bcec024181914 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Nov 2023 09:03:53 -0400 Subject: [PATCH 04/12] Bump va-gov/content-build from 0.0.3377 to 0.0.3378 (#15938) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3377 to 0.0.3378. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3377...v0.0.3378) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.json | 2 +- composer.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index ac7b9e7ce9..1aaa8acfb4 100644 --- a/composer.json +++ b/composer.json @@ -207,7 +207,7 @@ "symfony/phpunit-bridge": "^5.1", "symfony/process": "^4.0", "symfony/routing": "^4.0", - "va-gov/content-build": "^0.0.3377", + "va-gov/content-build": "^0.0.3378", "vlucas/phpdotenv": "^5.3", "webflo/drupal-finder": "^1.0.0", "webmozart/path-util": "^2.3", diff --git a/composer.lock b/composer.lock index f09f6769f9..9c42d0f91e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "82996f44bb9b21fc4e4a683b792d9d6a", + "content-hash": "9e5e2f2bfc18ba6d13b3947245066b49", "packages": [ { "name": "alchemy/zippy", @@ -26915,7 +26915,7 @@ }, { "name": "va-gov/content-build", - "version": "v0.0.3377", + "version": "v0.0.3378", "source": { "type": "git", "url": "https://github.com/department-of-veterans-affairs/content-build.git", @@ -26951,7 +26951,7 @@ "description": "Front-end for VA.gov. This repository contains the code that generates the www.va.gov website. It contains a Metalsmith static site builder that uses a Drupal CMS for content. This file is here to publish releases to https://packagist.org/packages/va-gov/content-build, so that the CMS CI system can install it and update it using standard composer processes, and so that we can run tests across both systems. See https://github.com/department-of-veterans-affairs/va.gov-cms for the CMS repo, and stand by for more documentation.", "support": { "issues": "https://github.com/department-of-veterans-affairs/content-build/issues", - "source": "https://github.com/department-of-veterans-affairs/content-build/tree/v0.0.3377" + "source": "https://github.com/department-of-veterans-affairs/content-build/tree/v0.0.3378" }, "time": "2023-10-30T17:47:27+00:00" }, @@ -27809,5 +27809,5 @@ "platform-overrides": { "php": "8.1" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } From 77b2cea14f1129a863f7e768b877bc7fc182263a Mon Sep 17 00:00:00 2001 From: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> Date: Wed, 1 Nov 2023 07:00:48 -0700 Subject: [PATCH 05/12] VACMS-15721: added description field for alert blocks view and browser (#15927) --- ...iews.view.custom_block_entity_browsers.yml | 65 +++++++++++++++++++ config/sync/views.view.va_blocks_admin.yml | 4 +- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/config/sync/views.view.custom_block_entity_browsers.yml b/config/sync/views.view.custom_block_entity_browsers.yml index d9be8cd8aa..ce01b67646 100644 --- a/config/sync/views.view.custom_block_entity_browsers.yml +++ b/config/sync/views.view.custom_block_entity_browsers.yml @@ -837,6 +837,71 @@ display: empty_zero: false hide_alter_empty: true use_field_cardinality: true + info: + id: info + table: block_content_field_data + field: info + relationship: none + group_type: group + admin_label: '' + entity_type: block_content + entity_field: info + plugin_id: field + label: Description + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false status: id: status table: block_content_field_data diff --git a/config/sync/views.view.va_blocks_admin.yml b/config/sync/views.view.va_blocks_admin.yml index d064503b0e..2ffc2ca383 100644 --- a/config/sync/views.view.va_blocks_admin.yml +++ b/config/sync/views.view.va_blocks_admin.yml @@ -1353,8 +1353,8 @@ display: entity_type: block_content entity_field: info plugin_id: field - label: '' - exclude: true + label: Description + exclude: false alter: alter_text: false text: '' From 66aedb8ada26f67de8e6c337aba5cef6c88e892d Mon Sep 17 00:00:00 2001 From: Christian Burk Date: Wed, 1 Nov 2023 10:58:41 -0500 Subject: [PATCH 06/12] VACMS-15276: Adds YouTube field (#15450) * VACMS-15276: Adds YouTube field * VACMS-15276: Adding field storage for YouTube --- ...y.node.health_care_region_page.default.yml | 20 +++++++++++--- ...y.node.health_care_region_page.default.yml | 19 ++++++++++++- ...alth_care_region_page.external_content.yml | 15 +++++++++++ ...ay.node.health_care_region_page.teaser.yml | 15 +++++++++++ ....health_care_region_page.field_youtube.yml | 27 +++++++++++++++++++ .../sync/field.storage.node.field_youtube.yml | 19 +++++++++++++ 6 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 config/sync/field.field.node.health_care_region_page.field_youtube.yml create mode 100644 config/sync/field.storage.node.field_youtube.yml diff --git a/config/sync/core.entity_form_display.node.health_care_region_page.default.yml b/config/sync/core.entity_form_display.node.health_care_region_page.default.yml index 7789f44f65..c003f7e0ad 100644 --- a/config/sync/core.entity_form_display.node.health_care_region_page.default.yml +++ b/config/sync/core.entity_form_display.node.health_care_region_page.default.yml @@ -24,6 +24,7 @@ dependencies: - field.field.node.health_care_region_page.field_va_health_connect_phone - field.field.node.health_care_region_page.field_vamc_ehr_system - field.field.node.health_care_region_page.field_vamc_system_official_name + - field.field.node.health_care_region_page.field_youtube - node.type.health_care_region_page - workflows.workflow.editorial module: @@ -128,6 +129,7 @@ third_party_settings: - field_twitter - field_instagram - field_flickr + - field_youtube label: 'Social Media' region: content parent_name: group_get_updates_from_us @@ -260,6 +262,7 @@ content: maxlength: 300 counter_position: after js_prevent_submit: false + count_only_mode: false count_html_characters: false textcount_status_message: '@remaining_count characters remaining' third_party_settings: { } @@ -275,7 +278,7 @@ content: third_party_settings: { } field_flickr: type: linkit - weight: 18 + weight: 17 region: content settings: placeholder_url: '' @@ -301,7 +304,7 @@ content: third_party_settings: { } field_instagram: type: linkit - weight: 17 + weight: 16 region: content settings: placeholder_url: '' @@ -319,6 +322,7 @@ content: maxlength: 600 counter_position: after js_prevent_submit: false + count_only_mode: false count_html_characters: false textcount_status_message: '@remaining_count characters remaining' third_party_settings: { } @@ -380,7 +384,7 @@ content: third_party_settings: { } field_twitter: type: linkit - weight: 16 + weight: 15 region: content settings: placeholder_url: '' @@ -409,6 +413,16 @@ content: size: 60 placeholder: '' third_party_settings: { } + field_youtube: + type: linkit + weight: 18 + region: content + settings: + placeholder_url: '' + placeholder_title: '' + linkit_profile: default + linkit_auto_link_text: false + third_party_settings: { } moderation_state: type: moderation_state_default weight: 11 diff --git a/config/sync/core.entity_view_display.node.health_care_region_page.default.yml b/config/sync/core.entity_view_display.node.health_care_region_page.default.yml index ce23d52ec3..0e56b3040f 100644 --- a/config/sync/core.entity_view_display.node.health_care_region_page.default.yml +++ b/config/sync/core.entity_view_display.node.health_care_region_page.default.yml @@ -24,6 +24,7 @@ dependencies: - field.field.node.health_care_region_page.field_va_health_connect_phone - field.field.node.health_care_region_page.field_vamc_ehr_system - field.field.node.health_care_region_page.field_vamc_system_official_name + - field.field.node.health_care_region_page.field_youtube - image.style.large - node.type.health_care_region_page module: @@ -85,6 +86,7 @@ third_party_settings: - field_flickr - field_instagram - field_twitter + - field_youtube - field_related_links label: 'Social media and links' parent_name: '' @@ -239,6 +241,8 @@ content: settings: image_link: '' image_style: large + image_loading: + attribute: lazy third_party_settings: { } weight: 5 region: content @@ -267,7 +271,7 @@ content: label: above settings: { } third_party_settings: { } - weight: 13 + weight: 14 region: content field_twitter: type: linkit @@ -305,6 +309,19 @@ content: third_party_settings: { } weight: 6 region: content + field_youtube: + type: linkit + label: above + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + linkit_profile: default + third_party_settings: { } + weight: 13 + region: content hidden: breadcrumbs: true content_moderation_control: true diff --git a/config/sync/core.entity_view_display.node.health_care_region_page.external_content.yml b/config/sync/core.entity_view_display.node.health_care_region_page.external_content.yml index 9730686bfb..fdd4149bce 100644 --- a/config/sync/core.entity_view_display.node.health_care_region_page.external_content.yml +++ b/config/sync/core.entity_view_display.node.health_care_region_page.external_content.yml @@ -25,10 +25,12 @@ dependencies: - field.field.node.health_care_region_page.field_va_health_connect_phone - field.field.node.health_care_region_page.field_vamc_ehr_system - field.field.node.health_care_region_page.field_vamc_system_official_name + - field.field.node.health_care_region_page.field_youtube - node.type.health_care_region_page module: - field_group - layout_builder + - link - options - telephone - user @@ -132,6 +134,18 @@ targetEntityType: node bundle: health_care_region_page mode: external_content content: + breadcrumbs: + type: link + label: hidden + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + weight: -5 + region: content field_va_health_connect_phone: type: telephone_link label: above @@ -169,6 +183,7 @@ hidden: field_system_menu: true field_twitter: true field_vamc_system_official_name: true + field_youtube: true langcode: true links: true search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.health_care_region_page.teaser.yml b/config/sync/core.entity_view_display.node.health_care_region_page.teaser.yml index 10ee27d00c..18b45279c1 100644 --- a/config/sync/core.entity_view_display.node.health_care_region_page.teaser.yml +++ b/config/sync/core.entity_view_display.node.health_care_region_page.teaser.yml @@ -25,14 +25,28 @@ dependencies: - field.field.node.health_care_region_page.field_va_health_connect_phone - field.field.node.health_care_region_page.field_vamc_ehr_system - field.field.node.health_care_region_page.field_vamc_system_official_name + - field.field.node.health_care_region_page.field_youtube - node.type.health_care_region_page module: + - link - user id: node.health_care_region_page.teaser targetEntityType: node bundle: health_care_region_page mode: teaser content: + breadcrumbs: + type: link + label: hidden + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + weight: -5 + region: content links: settings: { } third_party_settings: { } @@ -66,5 +80,6 @@ hidden: field_va_health_connect_phone: true field_vamc_ehr_system: true field_vamc_system_official_name: true + field_youtube: true langcode: true search_api_excerpt: true diff --git a/config/sync/field.field.node.health_care_region_page.field_youtube.yml b/config/sync/field.field.node.health_care_region_page.field_youtube.yml new file mode 100644 index 0000000000..09878009bb --- /dev/null +++ b/config/sync/field.field.node.health_care_region_page.field_youtube.yml @@ -0,0 +1,27 @@ +uuid: 9365ca57-747d-4378-9944-93438f454038 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_youtube + - node.type.health_care_region_page + module: + - link + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.health_care_region_page.field_youtube +field_name: field_youtube +entity_type: node +bundle: health_care_region_page +label: YouTube +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + title: 2 + link_type: 16 +field_type: link diff --git a/config/sync/field.storage.node.field_youtube.yml b/config/sync/field.storage.node.field_youtube.yml new file mode 100644 index 0000000000..de8930df5f --- /dev/null +++ b/config/sync/field.storage.node.field_youtube.yml @@ -0,0 +1,19 @@ +uuid: 90bbf561-fc8f-407b-91b2-57fe172e4186 +langcode: en +status: true +dependencies: + module: + - link + - node +id: node.field_youtube +field_name: field_youtube +entity_type: node +type: link +settings: { } +module: link +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false From 936a97df840e5d034291bea6e8e69db856e88d9e Mon Sep 17 00:00:00 2001 From: Christia Troyer Date: Wed, 1 Nov 2023 11:15:00 -0700 Subject: [PATCH 07/12] VACMS-15891: Update Q&A Content Report View to use Multiple Workflow Filter (#15896) * VACMS-15891: Update workflow filter to multiple * VACMS-15891: Updated the filter machine name too because Jill is smart. * VACMS-15891: Style-Guide-Related edits to view * VACMS-15891: Added section filter * VACMS-15891: Fix caption * VACMS-15891: Caption and tab * VACMS-15891: Copying new settings from view family * VACMS-15891: Fix pager back to 25 for cypress test --- config/sync/views.view.content.yml | 849 ++++++++++++++++++++++------- 1 file changed, 647 insertions(+), 202 deletions(-) diff --git a/config/sync/views.view.content.yml b/config/sync/views.view.content.yml index 1d5e1d5d52..c9e0841459 100644 --- a/config/sync/views.view.content.yml +++ b/config/sync/views.view.content.yml @@ -4,13 +4,11 @@ status: true dependencies: config: - field.storage.node.field_administration - - field.storage.node.field_clp_faq_paragraphs - field.storage.node.field_facility_location - field.storage.node.field_last_saved_by_an_editor - field.storage.node.field_other_categories - field.storage.node.field_primary_category - field.storage.paragraph.field_question - - field.storage.paragraph.field_questions - field.storage.paragraph.field_topics - node.type.basic_landing_page - node.type.checklist @@ -32,12 +30,10 @@ dependencies: - user.role.content_admin - user.role.content_creator_resources_and_support - user.role.redirect_administrator - - workflows.workflow.editorial module: - content_lock - content_moderation - csv_serialization - - entity_reference_revisions - node - paragraphs - rest @@ -518,6 +514,7 @@ display: offset: false offset_label: Offset quantity: 9 + pagination_heading_level: h4 exposed_form: type: basic options: @@ -765,37 +762,32 @@ display: row_class: '' default_row_class: true columns: + views_bulk_operations_bulk_form_1: views_bulk_operations_bulk_form_1 title: title - nid: nid - edit_node: edit_node + operations: operations type: type - revision_uid: revision_uid - changed: changed moderation_state: moderation_state field_administration: field_administration - name: name - timestamp: timestamp - break: break - is_locked: is_locked + changed: changed + revision_uid: revision_uid + field_question_1: field_question_1 + field_question: field_question + nothing: nothing default: changed info: - title: - sortable: true - default_sort_order: asc + views_bulk_operations_bulk_form_1: align: '' separator: '' empty_column: false responsive: '' - nid: - sortable: false + title: + sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - edit_node: - sortable: false - default_sort_order: asc + operations: align: '' separator: '' empty_column: false @@ -807,58 +799,49 @@ display: separator: '' empty_column: false responsive: '' - revision_uid: + moderation_state: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - changed: + field_administration: sortable: true - default_sort_order: desc - align: '' - separator: ' by ' - empty_column: false - responsive: priority-low - moderation_state: - sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_administration: + changed: sortable: true - default_sort_order: asc + default_sort_order: desc align: '' - separator: '' + separator: ' by ' empty_column: false - responsive: '' - name: + responsive: priority-low + revision_uid: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - timestamp: + field_question_1: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - break: + field_question: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - is_locked: - sortable: false - default_sort_order: asc + nothing: align: '' separator: '' empty_column: false @@ -6643,20 +6626,42 @@ display: id: page_qa display_title: 'Q&A' display_plugin: page - position: 9 + position: 1 display_options: title: 'Page-specific Q&A Content' fields: - views_bulk_operations_bulk_form_1: - id: views_bulk_operations_bulk_form_1 - table: views - field: views_bulk_operations_bulk_form + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + plugin_id: field + label: Title + exclude: false + alter: + alter_text: false + element_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + type: string + settings: + link_to_entity: true + nid: + id: nid + table: node_field_data + field: nid relationship: none group_type: group admin_label: '' - plugin_id: views_bulk_operations_bulk_form - label: Action - exclude: false + entity_type: node + entity_field: nid + plugin_id: field + label: ID + exclude: true alter: alter_text: false text: '' @@ -6696,70 +6701,35 @@ display: hide_empty: false empty_zero: false hide_alter_empty: true - batch: true - batch_size: 25 - form_step: true - buttons: false - action_title: Action - clear_on_exposed: true - force_selection_info: false - selected_actions: - - - action_id: node_save_action - preconfiguration: - add_confirmation: false - - - action_id: node_assign_owner_action - preconfiguration: - add_confirmation: false - - - action_id: publish_latest_revision_action - - - action_id: archive_node_action - - - action_id: views_bulk_edit - preconfiguration: - add_confirmation: false - get_bundles_from_results: true - - - action_id: views_bulk_operations_delete_entity - - - action_id: 'entity:pathauto_update_alias:node' - preconfiguration: - add_confirmation: false - title: - id: title - table: node_field_data - field: title - entity_type: node - entity_field: title - plugin_id: field - label: Title - exclude: false - alter: - alter_text: false - element_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - type: string + click_sort_column: value + type: number_integer settings: - link_to_entity: true - operations: - id: operations - table: node - field: operations + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + edit_node: + id: edit_node + table: node_field_revision + field: edit_node relationship: none group_type: group admin_label: '' - plugin_id: entity_operations - label: Operations + entity_type: node + plugin_id: entity_link_edit + label: '' exclude: false alter: - alter_text: false - text: '' + alter_text: true + text: 'Edit' make_link: false path: '' absolute: false @@ -6788,7 +6758,7 @@ display: element_class: '' element_label_type: '' element_label_class: '' - element_label_colon: true + element_label_colon: false element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true @@ -6796,7 +6766,9 @@ display: hide_empty: false empty_zero: false hide_alter_empty: true - destination: false + text: '' + output_url_as_text: true + absolute: false type: id: type table: node_field_data @@ -6862,40 +6834,18 @@ display: multi_type: separator separator: ', ' field_api_classes: false - changed: - id: changed - table: node_field_data - field: changed - entity_type: node - entity_field: changed - plugin_id: field - label: Updated - exclude: false - alter: - alter_text: false - element_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - type: timestamp - settings: - date_format: short - custom_date_format: '' - timezone: '' - moderation_state: - id: moderation_state - table: content_moderation_state_field_data - field: moderation_state + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid relationship: none group_type: group - admin_label: 'Moderation state' - entity_type: content_moderation_state - entity_field: moderation_state + admin_label: '' + entity_type: node + entity_field: revision_uid plugin_id: field - label: 'Moderation state' - exclude: false + label: '' + exclude: true alter: alter_text: false text: '' @@ -6927,19 +6877,19 @@ display: element_class: '' element_label_type: '' element_label_class: '' - element_label_colon: true + element_label_colon: false element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true - empty: N/A + empty: '' hide_empty: false empty_zero: false hide_alter_empty: true - click_sort_column: value - type: string + click_sort_column: target_id + type: entity_reference_label settings: - link_to_entity: false - group_column: value + link: true + group_column: target_id group_columns: { } group_rows: true delta_limit: 0 @@ -6949,19 +6899,21 @@ display: multi_type: separator separator: ', ' field_api_classes: false - field_administration: - id: field_administration - table: node__field_administration - field: field_administration + changed: + id: changed + table: node_field_data + field: changed relationship: none group_type: group admin_label: '' + entity_type: node + entity_field: changed plugin_id: field - label: Section + label: Updated exclude: false alter: - alter_text: false - text: '' + alter_text: true + text: '{{ changed }} by {{ revision_uid }}' make_link: false path: '' absolute: false @@ -6998,11 +6950,13 @@ display: hide_empty: false empty_zero: false hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label + click_sort_column: value + type: timestamp settings: - link: false - group_column: target_id + date_format: short + custom_date_format: '' + timezone: '' + group_column: value group_columns: { } group_rows: true delta_limit: 0 @@ -7012,17 +6966,80 @@ display: multi_type: separator separator: ', ' field_api_classes: false - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid + moderation_state: + id: moderation_state + table: content_moderation_state_field_data + field: moderation_state + relationship: none + group_type: group + admin_label: 'Moderation state' + entity_type: content_moderation_state + entity_field: moderation_state + plugin_id: field + label: 'Moderation state' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: N/A + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_administration: + id: field_administration + table: node__field_administration + field: field_administration relationship: none group_type: group admin_label: '' - entity_type: node - entity_field: revision_uid plugin_id: field - label: '' + label: Section exclude: false alter: alter_text: false @@ -7055,7 +7072,7 @@ display: element_class: '' element_label_type: '' element_label_class: '' - element_label_colon: false + element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true @@ -7077,15 +7094,234 @@ display: multi_type: separator separator: ', ' field_api_classes: false - field_question_1: - id: field_question_1 + name: + id: name + table: users_field_data + field: name + relationship: uid_1 + group_type: group + admin_label: '' + entity_type: user + entity_field: name + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + timestamp: + id: timestamp + table: content_lock + field: timestamp + relationship: none + group_type: group + admin_label: '' + plugin_id: date + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + date_format: 'raw time ago' + custom_date_format: '1' + timezone: '' + break: + id: break + table: content_lock + field: break + relationship: none + group_type: group + admin_label: '' + plugin_id: content_lock_break_link + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + is_locked: + id: is_locked + table: content_lock + field: is_locked + relationship: none + group_type: group + admin_label: '' + plugin_id: boolean + label: 'Is Locked' + exclude: true + alter: + alter_text: true + text: "{% if is_locked == true %}\r\n Locked for editing {{ timestamp }} by {{ name }} | {{ break }}\r\n{% endif %} \r\n" + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + type: boolean + type_custom_true: '' + type_custom_false: '' + not: false + field_question: + id: field_question table: paragraph__field_question field: field_question relationship: field_clp_faq_paragraphs group_type: group admin_label: '' plugin_id: field - label: 'clp faq question' + label: 'clp faq paragraph' exclude: true alter: alter_text: false @@ -7139,15 +7375,15 @@ display: multi_type: separator separator: ', ' field_api_classes: false - field_question: - id: field_question + field_question_1: + id: field_question_1 table: paragraph__field_question field: field_question relationship: field_questions group_type: group admin_label: '' plugin_id: field - label: 'content block question' + label: '' exclude: true alter: alter_text: false @@ -7180,7 +7416,7 @@ display: element_class: '' element_label_type: '' element_label_class: '' - element_label_colon: true + element_label_colon: false element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true @@ -7213,7 +7449,7 @@ display: exclude: false alter: alter_text: true - text: "{{ field_question_1}} \r\n{{ field_question }}" + text: "{{ field_question }}\r\n{{ field_question_1 }} " make_link: false path: '' absolute: false @@ -7250,6 +7486,11 @@ display: hide_empty: false empty_zero: false hide_alter_empty: false + access: + type: perm + options: + perm: 'access content' + sorts: { } filters: title: id: title @@ -7308,9 +7549,8 @@ display: group: 1 exposed: true expose: - operator_id: type_op label: 'Content type' - description: '' + description: null use_operator: false operator: type_op operator_limit_selection: false @@ -7319,12 +7559,53 @@ display: required: false remember: false multiple: false + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: moderation_state_op + label: 'Moderation state' + description: '' + use_operator: false + operator: moderation_state_multiple_workflow_filter_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state + required: false + remember: false + multiple: false remember_roles: authenticated: authenticated anonymous: '0' content_api_consumer: '0' content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' vamc_content_creator: '0' + content_creator_vet_center: '0' content_editor: '0' content_reviewer: '0' content_publisher: '0' @@ -7332,7 +7613,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -7345,47 +7629,41 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + reduce_duplicates: 0 + field_administration_target_id: + id: field_administration_target_id + table: node__field_administration + field: field_administration_target_id relationship: none group_type: group admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: taxonomy_index_tid + operator: or + value: { } group: 1 exposed: true expose: - operator_id: moderation_state_op - label: 'Moderation state' + operator_id: owner + label: Section description: '' use_operator: false - operator: moderation_state_op + operator: field_administration_target_id_op operator_limit_selection: false operator_list: { } - identifier: moderation_state + identifier: owner required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' + redirect_administrator: '0' reduce: false is_grouped: false group_info: @@ -7399,6 +7677,15 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: false + vid: administration + type: select + hierarchy: true + limit: true + error_message: true + parent: 0 + level_labels: '' + force_deepest: false field_clp_faq_paragraphs_target_revision_id: id: field_clp_faq_paragraphs_target_revision_id table: node__field_clp_faq_paragraphs @@ -7487,6 +7774,142 @@ display: groups: 1: AND 2: OR + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + title: title + nid: nid + edit_node: edit_node + type: type + revision_uid: revision_uid + changed: changed + moderation_state: moderation_state + field_administration: field_administration + name: name + timestamp: timestamp + break: break + is_locked: is_locked + field_question: field_question + field_question_1: field_question_1 + nothing: nothing + default: changed + info: + title: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + nid: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + edit_node: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + type: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + revision_uid: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + changed: + sortable: true + default_sort_order: desc + align: '' + separator: ' by ' + empty_column: false + responsive: priority-low + moderation_state: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_administration: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + name: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + timestamp: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + break: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + is_locked: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_question: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_question_1: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + nothing: + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: true + summary: '' + empty_table: true + caption: 'Page-specific Q&As' + description: '' + row: + type: fields + options: { } query: type: views_query options: @@ -7496,12 +7919,17 @@ display: replica: false query_tags: { } defaults: + access: false query: false title: false + style: false + row: false relationships: false fields: false + sorts: false filters: false filter_groups: false + header: false relationships: uid: id: uid @@ -7547,6 +7975,17 @@ display: plugin_id: standard required: false display_description: '' + header: + result: + id: result + table: views + field: result + relationship: none + group_type: group + admin_label: '' + plugin_id: result + empty: false + content: 'Displaying @start - @end of @total' display_extenders: jsonapi_views: enabled: true @@ -7555,7 +7994,7 @@ display: type: tab title: 'Page-specific Q&A' description: '' - weight: 0 + weight: -150 expanded: false menu_name: admin parent: system.admin_content @@ -7565,19 +8004,25 @@ display: local_task_parent: 'views_view:view.centralized_content_paragraphs.centralized_content_paragraphs' local_task_weight: 0 local_task_custom_parent_route: '' + tab_options: + type: normal + title: Content + description: 'Find and manage content' + weight: -10 cache_metadata: - max-age: 0 + max-age: -1 contexts: - 'languages:language_content' - 'languages:language_interface' - url - url.query_args + - user - 'user.node_grants:view' - - user.roles + - user.permissions tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.paragraph.field_question' - - 'config:workflow_list' + deleted: false resources_support_dashboard: id: resources_support_dashboard display_title: 'Resources and support' From a31cee3e60d835dc235c0f86d5b2f1b907adf2c4 Mon Sep 17 00:00:00 2001 From: Jill Adams <85581471+jilladams@users.noreply.github.com> Date: Wed, 1 Nov 2023 17:27:06 -0700 Subject: [PATCH 08/12] Add new Editors to beta per VHA DM (#15964) --- .../src/EventSubscriber/EntityEventSubscriber.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php b/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php index 4abaedfd52..fa415d8956 100644 --- a/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php @@ -66,6 +66,18 @@ class EntityEventSubscriber implements EventSubscriberInterface { 1583, 3610, 2927, + 2955, + 3314, + 2957, + 3420, + 2962, + 2719, + 4356, + 1448, + 2574, + 1444, + 2906, + 31, ]; /** From e1d7504d7a0136acbaf7177d84f86e351614f52b Mon Sep 17 00:00:00 2001 From: Christian Burk Date: Thu, 2 Nov 2023 09:30:25 -0500 Subject: [PATCH 09/12] VACMS-11334: Implement VBA permissions and Restricted archive workflow (#15872) * VACMS-11334:Adds Content Creator - VBA role * VACMS-11334: Adds content_editor and content_publisher permissions * VACMS-11334: Adds workflow (started) * VACMS-11334: Adds Restricted archive workflow * VACMS-11334: Adds Restricted archive workflow to roles * VACMS-11334: Adds service_region to Restricted archive workflow * VACMS-11334: Updates phpunit test * VACMS-11334: Updates permissions * VACMS-11334: Updates Cypress test for new role --- ...er_add_role_action.content_creator_vba.yml | 14 +++ ...remove_role_action.content_creator_vba.yml | 14 +++ config/sync/user.role.administrator.yml | 2 +- config/sync/user.role.admnistrator_users.yml | 3 +- config/sync/user.role.content_admin.yml | 10 +- config/sync/user.role.content_creator_vba.yml | 19 ++++ .../user.role.content_creator_vet_center.yml | 2 +- config/sync/user.role.content_editor.yml | 13 ++- config/sync/user.role.content_publisher.yml | 15 ++- config/sync/user.role.content_reviewer.yml | 16 +++- config/sync/user.role.homepage_manager.yml | 10 +- config/sync/user.role.next_js.yml | 2 +- .../sync/user.role.redirect_administrator.yml | 2 +- config/sync/user.role.translation_manager.yml | 10 +- config/sync/workflows.workflow.editorial.yml | 2 - .../workflows.workflow.restricted_archive.yml | 94 +++++++++++++++++++ .../facilities/facilities_api.feature | 6 +- .../phpunit/Security/RolesPermissionsTest.php | 52 ++++++++++ 18 files changed, 270 insertions(+), 16 deletions(-) create mode 100644 config/sync/system.action.user_add_role_action.content_creator_vba.yml create mode 100644 config/sync/system.action.user_remove_role_action.content_creator_vba.yml create mode 100644 config/sync/user.role.content_creator_vba.yml create mode 100644 config/sync/workflows.workflow.restricted_archive.yml diff --git a/config/sync/system.action.user_add_role_action.content_creator_vba.yml b/config/sync/system.action.user_add_role_action.content_creator_vba.yml new file mode 100644 index 0000000000..19b095c0c1 --- /dev/null +++ b/config/sync/system.action.user_add_role_action.content_creator_vba.yml @@ -0,0 +1,14 @@ +uuid: 598ff07d-2137-4b9e-b42b-bcb12ee8ce73 +langcode: en +status: true +dependencies: + config: + - user.role.content_creator_vba + module: + - user +id: user_add_role_action.content_creator_vba +label: 'Add the Content creator - VBA role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: content_creator_vba diff --git a/config/sync/system.action.user_remove_role_action.content_creator_vba.yml b/config/sync/system.action.user_remove_role_action.content_creator_vba.yml new file mode 100644 index 0000000000..767237bd9a --- /dev/null +++ b/config/sync/system.action.user_remove_role_action.content_creator_vba.yml @@ -0,0 +1,14 @@ +uuid: 848547ae-a62b-46e4-a6c8-36389c9cc754 +langcode: en +status: true +dependencies: + config: + - user.role.content_creator_vba + module: + - user +id: user_remove_role_action.content_creator_vba +label: 'Remove the Content creator - VBA role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: content_creator_vba diff --git a/config/sync/user.role.administrator.yml b/config/sync/user.role.administrator.yml index 991f2ff98e..0c348e0ac6 100644 --- a/config/sync/user.role.administrator.yml +++ b/config/sync/user.role.administrator.yml @@ -11,6 +11,6 @@ _core: default_config_hash: 2EL4nOaSWrCYL11npXSGwLjX_DJoj2riIUqGaNyZFWU id: administrator label: Administrator -weight: 4 +weight: 5 is_admin: true permissions: { } diff --git a/config/sync/user.role.admnistrator_users.yml b/config/sync/user.role.admnistrator_users.yml index c2e806135c..70b69930fa 100644 --- a/config/sync/user.role.admnistrator_users.yml +++ b/config/sync/user.role.admnistrator_users.yml @@ -22,7 +22,7 @@ third_party_settings: vgb_description: 'Can create and manage users, roles, and access to sections of content.' id: admnistrator_users label: 'CMS account admin' -weight: 3 +weight: 4 is_admin: null permissions: - 'administer users' @@ -30,6 +30,7 @@ permissions: - 'assign content_api_consumer role' - 'assign content_creator_benefits_hubs role' - 'assign content_creator_resources_and_support role' + - 'assign content_creator_vba role' - 'assign content_creator_vet_center role' - 'assign content_editor role' - 'assign content_publisher role' diff --git a/config/sync/user.role.content_admin.yml b/config/sync/user.role.content_admin.yml index 8708656a4b..43503eaf54 100644 --- a/config/sync/user.role.content_admin.yml +++ b/config/sync/user.role.content_admin.yml @@ -13,6 +13,7 @@ dependencies: - node.type.vamc_system_medical_records_offi - node.type.vamc_system_register_for_care - workflows.workflow.editorial + - workflows.workflow.restricted_archive module: - actions_permissions - block_content_permissions @@ -48,7 +49,7 @@ third_party_settings: vgb_description: 'For members of the Global UX team, and other content users who have permissions beyond those of Content Publisher. ' id: content_admin label: 'Content admin' -weight: 1 +weight: 2 is_admin: null permissions: - 'accept translation jobs' @@ -144,6 +145,13 @@ permissions: - 'use editorial transition create_new_draft' - 'use editorial transition publish' - 'use editorial transition review' + - 'use restricted_archive transition approve' + - 'use restricted_archive transition archive' + - 'use restricted_archive transition archived_draft' + - 'use restricted_archive transition archived_published' + - 'use restricted_archive transition create_new_draft' + - 'use restricted_archive transition publish' + - 'use restricted_archive transition review' - 'use text format rich_text' - 'use text format rich_text_limited' - 'use workbench access' diff --git a/config/sync/user.role.content_creator_vba.yml b/config/sync/user.role.content_creator_vba.yml new file mode 100644 index 0000000000..b87dc202b5 --- /dev/null +++ b/config/sync/user.role.content_creator_vba.yml @@ -0,0 +1,19 @@ +uuid: 26f626ef-6627-482e-b730-ff8545f36081 +langcode: en +status: true +dependencies: + config: + - node.type.vba_facility_service + module: + - node + - va_gov_backend +third_party_settings: + va_gov_backend: + vgb_description: 'Can create VBA facility services' +id: content_creator_vba +label: 'Content creator - VBA' +weight: -3 +is_admin: null +permissions: + - 'create vba_facility_service content' + - 'view node link report' diff --git a/config/sync/user.role.content_creator_vet_center.yml b/config/sync/user.role.content_creator_vet_center.yml index 2a61ca50b5..479165a911 100644 --- a/config/sync/user.role.content_creator_vet_center.yml +++ b/config/sync/user.role.content_creator_vet_center.yml @@ -14,7 +14,7 @@ third_party_settings: vgb_description: 'Can create Vet Center Health Services and CAPs.' id: content_creator_vet_center label: 'Content creator - Vet Center' -weight: -3 +weight: -2 is_admin: null permissions: - 'create vet_center_cap content' diff --git a/config/sync/user.role.content_editor.yml b/config/sync/user.role.content_editor.yml index e81896e884..964a9289c7 100644 --- a/config/sync/user.role.content_editor.yml +++ b/config/sync/user.role.content_editor.yml @@ -41,6 +41,7 @@ dependencies: - node.type.publication_listing - node.type.q_a - node.type.regional_health_care_service_des + - node.type.service_region - node.type.step_by_step - node.type.story_listing - node.type.support_resources_detail_page @@ -52,13 +53,16 @@ dependencies: - node.type.vamc_system_policies_page - node.type.vamc_system_register_for_care - node.type.vba_facility + - node.type.vba_facility_service - node.type.vet_center - node.type.vet_center_cap - node.type.vet_center_facility_health_servi - node.type.vet_center_locations_list - node.type.vet_center_mobile_vet_center - node.type.vet_center_outstation + - node.type.vha_facility_nonclinical_service - workflows.workflow.editorial + - workflows.workflow.restricted_archive module: - actions_permissions - block_content_permissions @@ -73,6 +77,7 @@ dependencies: - node_link_report - paragraphs - pathauto + - smart_date_recur - system - tablefield - toolbar_menu @@ -83,7 +88,7 @@ third_party_settings: vgb_description: 'Can create and edit content, but can''t review or publish it. ' id: content_editor label: 'Content editor' -weight: -2 +weight: -1 is_admin: null permissions: - 'access administration pages' @@ -136,6 +141,7 @@ permissions: - 'edit any publication_listing content' - 'edit any q_a content' - 'edit any regional_health_care_service_des content' + - 'edit any service_region content' - 'edit any step_by_step content' - 'edit any story_listing content' - 'edit any support_resources_detail_page content' @@ -147,6 +153,7 @@ permissions: - 'edit any vamc_system_policies_page content' - 'edit any vamc_system_register_for_care content' - 'edit any vba_facility content' + - 'edit any vba_facility_service content' - 'edit any vet_center content' - 'edit any vet_center_cap content' - 'edit any vet_center_facility_health_servi content' @@ -172,6 +179,8 @@ permissions: - 'update media' - 'use editorial transition create_new_draft' - 'use editorial transition review' + - 'use restricted_archive transition create_new_draft' + - 'use restricted_archive transition review' - 'use text format rich_text' - 'use text format rich_text_limited' - 'use workbench access' @@ -218,6 +227,7 @@ permissions: - 'view q_a revisions' - 'view regional_health_care_service_des revisions' - 'view sections in toolbar' + - 'view service_region revisions' - 'view step_by_step revisions' - 'view story_listing revisions' - 'view support_resources_detail_page revisions' @@ -231,6 +241,7 @@ permissions: - 'view vamc_system_policies_page revisions' - 'view vamc_system_register_for_care revisions' - 'view vba_facility revisions' + - 'view vba_facility_service revisions' - 'view vet_center revisions' - 'view vet_center_cap revisions' - 'view vet_center_facility_health_servi revisions' diff --git a/config/sync/user.role.content_publisher.yml b/config/sync/user.role.content_publisher.yml index 03bba44598..9e0bde5d9a 100644 --- a/config/sync/user.role.content_publisher.yml +++ b/config/sync/user.role.content_publisher.yml @@ -41,6 +41,7 @@ dependencies: - node.type.publication_listing - node.type.q_a - node.type.regional_health_care_service_des + - node.type.service_region - node.type.step_by_step - node.type.story_listing - node.type.support_resources_detail_page @@ -52,6 +53,7 @@ dependencies: - node.type.vamc_system_policies_page - node.type.vamc_system_register_for_care - node.type.vba_facility + - node.type.vba_facility_service - node.type.vet_center - node.type.vet_center_cap - node.type.vet_center_facility_health_servi @@ -60,6 +62,7 @@ dependencies: - node.type.vet_center_outstation - node.type.vha_facility_nonclinical_service - workflows.workflow.editorial + - workflows.workflow.restricted_archive module: - actions_permissions - block_content_permissions @@ -86,7 +89,7 @@ third_party_settings: vgb_description: 'Can publish content.' id: content_publisher label: 'Content publisher' -weight: 0 +weight: 1 is_admin: null permissions: - 'access administration pages' @@ -139,6 +142,7 @@ permissions: - 'edit any publication_listing content' - 'edit any q_a content' - 'edit any regional_health_care_service_des content' + - 'edit any service_region content' - 'edit any step_by_step content' - 'edit any story_listing content' - 'edit any support_resources_detail_page content' @@ -150,6 +154,7 @@ permissions: - 'edit any vamc_system_policies_page content' - 'edit any vamc_system_register_for_care content' - 'edit any vba_facility content' + - 'edit any vba_facility_service content' - 'edit any vet_center content' - 'edit any vet_center_cap content' - 'edit any vet_center_facility_health_servi content' @@ -204,6 +209,7 @@ permissions: - 'revert publication_listing revisions' - 'revert q_a revisions' - 'revert regional_health_care_service_des revisions' + - 'revert service_region revisions' - 'revert step_by_step revisions' - 'revert story_listing revisions' - 'revert support_resources_detail_page revisions' @@ -215,6 +221,7 @@ permissions: - 'revert vamc_system_policies_page revisions' - 'revert vamc_system_register_for_care revisions' - 'revert vba_facility revisions' + - 'revert vba_facility_service revisions' - 'revert vet_center revisions' - 'revert vet_center_cap revisions' - 'revert vet_center_facility_health_servi revisions' @@ -240,6 +247,10 @@ permissions: - 'use editorial transition create_new_draft' - 'use editorial transition publish' - 'use editorial transition review' + - 'use restricted_archive transition approve' + - 'use restricted_archive transition create_new_draft' + - 'use restricted_archive transition publish' + - 'use restricted_archive transition review' - 'use text format rich_text' - 'use text format rich_text_limited' - 'use workbench access' @@ -286,6 +297,7 @@ permissions: - 'view q_a revisions' - 'view regional_health_care_service_des revisions' - 'view sections in toolbar' + - 'view service_region revisions' - 'view step_by_step revisions' - 'view story_listing revisions' - 'view support_resources_detail_page revisions' @@ -299,6 +311,7 @@ permissions: - 'view vamc_system_policies_page revisions' - 'view vamc_system_register_for_care revisions' - 'view vba_facility revisions' + - 'view vba_facility_service revisions' - 'view vet_center revisions' - 'view vet_center_cap revisions' - 'view vet_center_facility_health_servi revisions' diff --git a/config/sync/user.role.content_reviewer.yml b/config/sync/user.role.content_reviewer.yml index 511a1222cd..c91f334ca3 100644 --- a/config/sync/user.role.content_reviewer.yml +++ b/config/sync/user.role.content_reviewer.yml @@ -41,21 +41,28 @@ dependencies: - node.type.publication_listing - node.type.q_a - node.type.regional_health_care_service_des + - node.type.service_region - node.type.step_by_step - node.type.story_listing - node.type.support_resources_detail_page - node.type.support_service - node.type.va_form - node.type.vamc_operating_status_and_alerts + - node.type.vamc_system_billing_insurance + - node.type.vamc_system_medical_records_offi - node.type.vamc_system_policies_page + - node.type.vamc_system_register_for_care - node.type.vba_facility + - node.type.vba_facility_service - node.type.vet_center - node.type.vet_center_cap - node.type.vet_center_facility_health_servi - node.type.vet_center_locations_list - node.type.vet_center_mobile_vet_center - node.type.vet_center_outstation + - node.type.vha_facility_nonclinical_service - workflows.workflow.editorial + - workflows.workflow.restricted_archive module: - actions_permissions - block_content_permissions @@ -80,7 +87,7 @@ third_party_settings: vgb_description: 'Can approve content changes for publishing, but can''t publish it.' id: content_reviewer label: 'Content reviewer' -weight: -1 +weight: 0 is_admin: null permissions: - 'access administration pages' @@ -131,6 +138,7 @@ permissions: - 'edit any publication_listing content' - 'edit any q_a content' - 'edit any regional_health_care_service_des content' + - 'edit any service_region content' - 'edit any step_by_step content' - 'edit any story_listing content' - 'edit any support_resources_detail_page content' @@ -142,6 +150,7 @@ permissions: - 'edit any vamc_system_policies_page content' - 'edit any vamc_system_register_for_care content' - 'edit any vba_facility content' + - 'edit any vba_facility_service content' - 'edit any vet_center content' - 'edit any vet_center_cap content' - 'edit any vet_center_facility_health_servi content' @@ -160,6 +169,9 @@ permissions: - 'use editorial transition approve' - 'use editorial transition create_new_draft' - 'use editorial transition review' + - 'use restricted_archive transition approve' + - 'use restricted_archive transition create_new_draft' + - 'use restricted_archive transition review' - 'use text format rich_text' - 'use text format rich_text_limited' - 'use workbench access' @@ -206,6 +218,7 @@ permissions: - 'view q_a revisions' - 'view regional_health_care_service_des revisions' - 'view sections in toolbar' + - 'view service_region revisions' - 'view step_by_step revisions' - 'view story_listing revisions' - 'view support_resources_detail_page revisions' @@ -219,6 +232,7 @@ permissions: - 'view vamc_system_policies_page revisions' - 'view vamc_system_register_for_care revisions' - 'view vba_facility revisions' + - 'view vba_facility_service revisions' - 'view vet_center revisions' - 'view vet_center_cap revisions' - 'view vet_center_facility_health_servi revisions' diff --git a/config/sync/user.role.homepage_manager.yml b/config/sync/user.role.homepage_manager.yml index 7b7130ab67..dc95e6a27c 100644 --- a/config/sync/user.role.homepage_manager.yml +++ b/config/sync/user.role.homepage_manager.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - workflows.workflow.editorial + - workflows.workflow.restricted_archive module: - block_content_permissions - block_diff_ui @@ -16,7 +17,7 @@ third_party_settings: vgb_description: 'Can create home page related components (news and benefit promo blocks; news spotlight and hero entityqueues).' id: homepage_manager label: 'Homepage Manager' -weight: 5 +weight: 6 is_admin: null permissions: - 'create benefit_promo block content' @@ -41,6 +42,13 @@ permissions: - 'use editorial transition create_new_draft' - 'use editorial transition publish' - 'use editorial transition review' + - 'use restricted_archive transition approve' + - 'use restricted_archive transition archive' + - 'use restricted_archive transition archived_draft' + - 'use restricted_archive transition archived_published' + - 'use restricted_archive transition create_new_draft' + - 'use restricted_archive transition publish' + - 'use restricted_archive transition review' - 'view any unpublished content' - 'view benefit_promo revisions' - 'view cta_with_link revisions' diff --git a/config/sync/user.role.next_js.yml b/config/sync/user.role.next_js.yml index 4e1997542d..20eeaa6867 100644 --- a/config/sync/user.role.next_js.yml +++ b/config/sync/user.role.next_js.yml @@ -11,7 +11,7 @@ third_party_settings: vgb_description: 'Role for Next.js JSON API data access.' id: next_js label: Next.js -weight: 7 +weight: 8 is_admin: null permissions: - 'access user profiles' diff --git a/config/sync/user.role.redirect_administrator.yml b/config/sync/user.role.redirect_administrator.yml index f81c2e0e35..eab23fe163 100644 --- a/config/sync/user.role.redirect_administrator.yml +++ b/config/sync/user.role.redirect_administrator.yml @@ -18,7 +18,7 @@ third_party_settings: vgb_description: 'Can create and edit redirects.' id: redirect_administrator label: 'Redirect admin' -weight: 2 +weight: 3 is_admin: null permissions: - 'access administration pages' diff --git a/config/sync/user.role.translation_manager.yml b/config/sync/user.role.translation_manager.yml index 72d93ee4c9..f74543f8f8 100644 --- a/config/sync/user.role.translation_manager.yml +++ b/config/sync/user.role.translation_manager.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - workflows.workflow.editorial + - workflows.workflow.restricted_archive module: - config_translation - content_moderation @@ -13,7 +14,7 @@ dependencies: - tmgmt id: translation_manager label: 'Translation manager' -weight: 6 +weight: 7 is_admin: null permissions: - 'accept translation jobs' @@ -34,5 +35,12 @@ permissions: - 'use editorial transition create_new_draft' - 'use editorial transition publish' - 'use editorial transition review' + - 'use restricted_archive transition approve' + - 'use restricted_archive transition archive' + - 'use restricted_archive transition archived_draft' + - 'use restricted_archive transition archived_published' + - 'use restricted_archive transition create_new_draft' + - 'use restricted_archive transition publish' + - 'use restricted_archive transition review' - 'view any unpublished content' - 'view latest version' diff --git a/config/sync/workflows.workflow.editorial.yml b/config/sync/workflows.workflow.editorial.yml index a67050a17d..2f1e5f937a 100644 --- a/config/sync/workflows.workflow.editorial.yml +++ b/config/sync/workflows.workflow.editorial.yml @@ -39,7 +39,6 @@ dependencies: - node.type.publication_listing - node.type.q_a - node.type.regional_health_care_service_des - - node.type.service_region - node.type.step_by_step - node.type.story_listing - node.type.support_resources_detail_page @@ -181,7 +180,6 @@ type_settings: - publication_listing - q_a - regional_health_care_service_des - - service_region - step_by_step - story_listing - support_resources_detail_page diff --git a/config/sync/workflows.workflow.restricted_archive.yml b/config/sync/workflows.workflow.restricted_archive.yml new file mode 100644 index 0000000000..7e8c50b221 --- /dev/null +++ b/config/sync/workflows.workflow.restricted_archive.yml @@ -0,0 +1,94 @@ +uuid: 8755942a-7c8b-442b-9bef-3e5260b8db39 +langcode: en +status: true +dependencies: + config: + - node.type.service_region + module: + - content_moderation +id: restricted_archive +label: 'Restricted archive workflow' +type: content_moderation +type_settings: + states: + approved: + label: Approved + weight: 3 + published: false + default_revision: false + archived: + label: Archived + weight: 4 + published: false + default_revision: true + draft: + label: Draft + weight: 0 + published: false + default_revision: false + published: + label: Published + weight: 1 + published: true + default_revision: true + review: + label: 'In review' + weight: 2 + published: false + default_revision: false + transitions: + approve: + label: Approve + from: + - review + to: approved + weight: 3 + archive: + label: Archive + from: + - approved + - draft + - published + - review + to: archived + weight: 4 + archived_draft: + label: 'Restore from archive to draft' + from: + - archived + to: draft + weight: 6 + archived_published: + label: 'Restore from archive to published' + from: + - archived + to: published + weight: 5 + create_new_draft: + label: Edit + from: + - draft + - published + - review + to: draft + weight: 0 + publish: + label: Publish + from: + - approved + - draft + - published + - review + to: published + weight: 1 + review: + label: Review + from: + - draft + - review + to: review + weight: 2 + entity_types: + node: + - service_region + default_moderation_state: draft diff --git a/tests/cypress/integration/features/facilities/facilities_api.feature b/tests/cypress/integration/features/facilities/facilities_api.feature index cf9584c3ed..f95ce15629 100644 --- a/tests/cypress/integration/features/facilities/facilities_api.feature +++ b/tests/cypress/integration/features/facilities/facilities_api.feature @@ -19,10 +19,10 @@ Feature: CMS Users may not unintentionally change information in fields populate | content_admin | Content Admin | 190 | Vet Center Outstation | 17533 | Clarksville Vet Center Outstation | | content_admin | Content Admin | 190 | Vet Center | 3769 | Cheyenne Vet Center | | content_admin | Content Admin | 190 | Mobile Vet Center | 17503 | Evanston Mobile Vet Center | - | content_admin | Content Admin | 190 | Mobile Vet Center | 4338 | Cheyenne VA Regional Benefit Office | + | content_admin | Content Admin | 190 | VBA Facility | 4338 | Cheyenne VA Regional Benefit Office | | vamc_content_creator, content_publisher | Content Editor (VAMC) | 12 | VAMC facility | 175 | H. John Heinz III Department of Veterans Affairs Medical Center | | content_creator_vet_center, content_publisher | Content Editor (Vet Centers) | 190 | Vet Center Outstation | 17533 | Clarksville Vet Center Outstation | | content_creator_vet_center, content_publisher | Content Editor (Vet Centers) | 190 | Vet Center | 3769 | Cheyenne Vet Center | | content_creator_vet_center, content_publisher | Content Editor (Vet Centers) | 190 | Mobile Vet Center | 17503 | Evanston Mobile Vet Center | - | content_publisher, content_editor | Content Editor (VBA & NCA) | 2 | NCA | 4610 | Louisiana National Cemetery | - | content_publisher, content_editor | Content Editor (VBA & NCA) | 1104 | Mobile Vet Center | 4338 | Cheyenne VA Regional Benefit Office | + | content_publisher, content_editor | Content Editor (NCA) | 2 | NCA | 4610 | Louisiana National Cemetery | + | content_creator_vba, content_publisher | Content Editor (VBA) | 1104 | VBA Facility | 4338 | Cheyenne VA Regional Benefit Office | diff --git a/tests/phpunit/Security/RolesPermissionsTest.php b/tests/phpunit/Security/RolesPermissionsTest.php index 2b0fe31ece..8d75114063 100644 --- a/tests/phpunit/Security/RolesPermissionsTest.php +++ b/tests/phpunit/Security/RolesPermissionsTest.php @@ -191,6 +191,13 @@ public function expectedPerms() { 'use editorial transition create_new_draft', 'use editorial transition publish', 'use editorial transition review', + 'use restricted_archive transition approve', + 'use restricted_archive transition archive', + 'use restricted_archive transition archived_draft', + 'use restricted_archive transition archived_published', + 'use restricted_archive transition create_new_draft', + 'use restricted_archive transition publish', + 'use restricted_archive transition review', 'use text format rich_text', 'use text format rich_text_limited', 'use workbench access', @@ -252,6 +259,13 @@ public function expectedPerms() { 'view node link report', ], ], + [ + 'content_creator_vba', + [ + 'create vba_facility_service content', + 'view node link report', + ], + ], [ 'content_creator_vet_center', [ @@ -313,6 +327,7 @@ public function expectedPerms() { 'edit any publication_listing content', 'edit any q_a content', 'edit any regional_health_care_service_des content', + 'edit any service_region content', 'edit any step_by_step content', 'edit any story_listing content', 'edit any support_resources_detail_page content', @@ -324,6 +339,7 @@ public function expectedPerms() { 'edit any vamc_system_policies_page content', 'edit any vamc_system_register_for_care content', 'edit any vba_facility content', + 'edit any vba_facility_service content', 'edit any vet_center content', 'edit any vet_center_cap content', 'edit any vet_center_facility_health_servi content', @@ -349,6 +365,8 @@ public function expectedPerms() { 'update media', 'use editorial transition create_new_draft', 'use editorial transition review', + 'use restricted_archive transition create_new_draft', + 'use restricted_archive transition review', 'use text format rich_text', 'use text format rich_text_limited', 'use workbench access', @@ -395,6 +413,7 @@ public function expectedPerms() { 'view q_a revisions', 'view regional_health_care_service_des revisions', 'view sections in toolbar', + 'view service_region revisions', 'view step_by_step revisions', 'view story_listing revisions', 'view support_resources_detail_page revisions', @@ -408,6 +427,7 @@ public function expectedPerms() { 'view vamc_system_policies_page revisions', 'view vamc_system_register_for_care revisions', 'view vba_facility revisions', + 'view vba_facility_service revisions', 'view vet_center revisions', 'view vet_center_cap revisions', 'view vet_center_facility_health_servi revisions', @@ -471,6 +491,7 @@ public function expectedPerms() { 'edit any publication_listing content', 'edit any q_a content', 'edit any regional_health_care_service_des content', + 'edit any service_region content', 'edit any step_by_step content', 'edit any story_listing content', 'edit any support_resources_detail_page content', @@ -482,6 +503,7 @@ public function expectedPerms() { 'edit any vamc_system_policies_page content', 'edit any vamc_system_register_for_care content', 'edit any vba_facility content', + 'edit any vba_facility_service content', 'edit any vet_center content', 'edit any vet_center_cap content', 'edit any vet_center_facility_health_servi content', @@ -500,6 +522,9 @@ public function expectedPerms() { 'use editorial transition approve', 'use editorial transition create_new_draft', 'use editorial transition review', + 'use restricted_archive transition approve', + 'use restricted_archive transition create_new_draft', + 'use restricted_archive transition review', 'use text format rich_text', 'use text format rich_text_limited', 'use workbench access', @@ -546,6 +571,7 @@ public function expectedPerms() { 'view q_a revisions', 'view regional_health_care_service_des revisions', 'view sections in toolbar', + 'view service_region revisions', 'view step_by_step revisions', 'view story_listing revisions', 'view support_resources_detail_page revisions', @@ -559,6 +585,7 @@ public function expectedPerms() { 'view vamc_system_policies_page revisions', 'view vamc_system_register_for_care revisions', 'view vba_facility revisions', + 'view vba_facility_service revisions', 'view vet_center revisions', 'view vet_center_cap revisions', 'view vet_center_facility_health_servi revisions', @@ -624,6 +651,7 @@ public function expectedPerms() { 'edit any publication_listing content', 'edit any q_a content', 'edit any regional_health_care_service_des content', + 'edit any service_region content', 'edit any step_by_step content', 'edit any story_listing content', 'edit any support_resources_detail_page content', @@ -635,6 +663,7 @@ public function expectedPerms() { 'edit any vamc_system_policies_page content', 'edit any vamc_system_register_for_care content', 'edit any vba_facility content', + 'edit any vba_facility_service content', 'edit any vet_center content', 'edit any vet_center_cap content', 'edit any vet_center_facility_health_servi content', @@ -689,6 +718,7 @@ public function expectedPerms() { 'revert publication_listing revisions', 'revert q_a revisions', 'revert regional_health_care_service_des revisions', + 'revert service_region revisions', 'revert step_by_step revisions', 'revert story_listing revisions', 'revert support_resources_detail_page revisions', @@ -700,6 +730,7 @@ public function expectedPerms() { 'revert vamc_system_policies_page revisions', 'revert vamc_system_register_for_care revisions', 'revert vba_facility revisions', + 'revert vba_facility_service revisions', 'revert vet_center revisions', 'revert vet_center_cap revisions', 'revert vet_center_facility_health_servi revisions', @@ -725,6 +756,10 @@ public function expectedPerms() { 'use editorial transition create_new_draft', 'use editorial transition publish', 'use editorial transition review', + 'use restricted_archive transition approve', + 'use restricted_archive transition create_new_draft', + 'use restricted_archive transition publish', + 'use restricted_archive transition review', 'use text format rich_text', 'use text format rich_text_limited', 'use workbench access', @@ -771,6 +806,7 @@ public function expectedPerms() { 'view q_a revisions', 'view regional_health_care_service_des revisions', 'view sections in toolbar', + 'view service_region revisions', 'view step_by_step revisions', 'view story_listing revisions', 'view support_resources_detail_page revisions', @@ -784,6 +820,7 @@ public function expectedPerms() { 'view vamc_system_policies_page revisions', 'view vamc_system_register_for_care revisions', 'view vba_facility revisions', + 'view vba_facility_service revisions', 'view vet_center revisions', 'view vet_center_cap revisions', 'view vet_center_facility_health_servi revisions', @@ -804,6 +841,7 @@ public function expectedPerms() { 'assign content_api_consumer role', 'assign content_creator_benefits_hubs role', 'assign content_creator_resources_and_support role', + 'assign content_creator_vba role', 'assign content_creator_vet_center role', 'assign content_editor role', 'assign content_publisher role', @@ -878,6 +916,13 @@ public function expectedPerms() { 'use editorial transition create_new_draft', 'use editorial transition publish', 'use editorial transition review', + 'use restricted_archive transition approve', + 'use restricted_archive transition archive', + 'use restricted_archive transition archived_draft', + 'use restricted_archive transition archived_published', + 'use restricted_archive transition create_new_draft', + 'use restricted_archive transition publish', + 'use restricted_archive transition review', 'view any unpublished content', 'view benefit_promo revisions', 'view cta_with_link revisions', @@ -904,6 +949,13 @@ public function expectedPerms() { 'use editorial transition publish', 'use editorial transition archived_published', 'use editorial transition review', + 'use restricted_archive transition approve', + 'use restricted_archive transition archive', + 'use restricted_archive transition archived_draft', + 'use restricted_archive transition archived_published', + 'use restricted_archive transition create_new_draft', + 'use restricted_archive transition publish', + 'use restricted_archive transition review', 'view any unpublished content', 'view latest version', 'access content overview', From 28bb09d6c9dcfd2777bf404f002851c8300db226 Mon Sep 17 00:00:00 2001 From: Tony Taylor Date: Thu, 2 Nov 2023 10:46:45 -0500 Subject: [PATCH 10/12] adds heading (h3) as default for pagers w/o views and views w/o a pager (#15948) --- composer.json | 2 +- composer.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index 1aaa8acfb4..c9aa01fac4 100644 --- a/composer.json +++ b/composer.json @@ -383,7 +383,7 @@ "3047110 - Add workflow to taxonomy" : "https://www.drupal.org/files/issues/2023-04-14/3047110-45.patch", "3106205 - Length of menu_tree.url and menu_tree.route_param_key are too short (255 characters)": "https://www.drupal.org/files/issues/2023-05-24/3106205-length-menu-tree-too-short.patch", "3274419 - Make BaseFieldOverride inherit internal property from the base field": "https://www.drupal.org/files/issues/2023-03-13/3274419-45.patch", - "3333401 - Pager h4 cause accessibility flag on many pages": "https://www.drupal.org/files/issues/2023-07-27/3333401-56-configurable-heading-pager.patch", + "3333401 - Pager h4 cause accessibility flag on many pages": "https://www.drupal.org/files/issues/2023-11-01/3333401-64.patch", "3382759 - Add multiple workflow content moderation filter to Views.": "https://www.drupal.org/files/issues/2023-08-24/3382759-8.patch" }, "drupal/danse": { diff --git a/composer.lock b/composer.lock index 9c42d0f91e..5053b4500c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9e5e2f2bfc18ba6d13b3947245066b49", + "content-hash": "6e4c15c31d64e3479e8c7bef49129d53", "packages": [ { "name": "alchemy/zippy", @@ -190,7 +190,7 @@ "version": "v4.1.0", "source": { "type": "git", - "url": "https://github.com/fengyuanchen/cropper.git", + "url": "git@github.com:fengyuanchen/cropper.git", "reference": "617d9bdb8688cc4edb3b03bc49a04b83c7facbe7" }, "dist": { From d6b797403a45f958608fedfff9a960f570cf446e Mon Sep 17 00:00:00 2001 From: Edmund Dunn <109987005+edmund-dunn@users.noreply.github.com> Date: Fri, 3 Nov 2023 06:01:24 -0700 Subject: [PATCH 11/12] VACMS-15979: fix for reusable documents (#15980) --- ....entity_form_display.media.document.default.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/config/sync/core.entity_form_display.media.document.default.yml b/config/sync/core.entity_form_display.media.document.default.yml index 26ecf0335c..0fa036c6a3 100644 --- a/config/sync/core.entity_form_display.media.document.default.yml +++ b/config/sync/core.entity_form_display.media.document.default.yml @@ -17,6 +17,7 @@ third_party_settings: group_governance: children: - field_owner + - field_media_in_library label: 'Section settings' region: content parent_name: '' @@ -41,6 +42,13 @@ content: settings: progress_indicator: throbber third_party_settings: { } + field_media_in_library: + type: boolean_checkbox + weight: 4 + region: content + settings: + display_label: true + third_party_settings: { } field_media_submission_guideline: type: markup weight: 0 @@ -61,9 +69,13 @@ content: size: 60 placeholder: '' third_party_settings: { } + translation: + weight: 10 + region: content + settings: { } + third_party_settings: { } hidden: created: true - field_media_in_library: true langcode: true moderation_state: true path: true From a4119bf0ebb3c0706a13238a94de83b3121e6b6e Mon Sep 17 00:00:00 2001 From: Daniel Sasser Date: Fri, 3 Nov 2023 08:37:57 -0700 Subject: [PATCH 12/12] VACMS-15747 Feature toggle to launch nat outreach checkbox for all (#15930) * VACMS-15747: Adds new feature toggle to expose outreach checkbox to all users. * VACMS-15747: Adds logic to control display of outreach checkbox for all users based on new feature toggle. * VACMS-15747: Updates event test for outreach checkbox recent display changes. --------- Co-authored-by: Daniel Sasser --- config/sync/feature_toggle.features.yml | 1 + .../EventSubscriber/EntityEventSubscriber.php | 19 +++++++++++++++++++ .../features/content_type/event.feature | 3 ++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/config/sync/feature_toggle.features.yml b/config/sync/feature_toggle.features.yml index 40c99c928c..fbbeee8c2d 100644 --- a/config/sync/feature_toggle.features.yml +++ b/config/sync/feature_toggle.features.yml @@ -5,3 +5,4 @@ features: feature_single_value_field_link: FEATURE_SINGLE_VALUE_FIELD_LINK feature_health_connect_number: FEATURE_HEALTH_CONNECT_NUMBER feature_event_outreach_checkbox: FEATURE_EVENT_OUTREACH_CHECKBOX + feature_event_outreach_checkbox_all: FEATURE_EVENT_OUTREACH_CHECKBOX_ALL diff --git a/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php b/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php index fa415d8956..94d57444ae 100644 --- a/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php @@ -50,6 +50,11 @@ class EntityEventSubscriber implements EventSubscriberInterface { */ const OUTREACH_CHECKBOX_FEATURE_NAME = 'feature_event_outreach_checkbox'; + /** + * The Feature toggle name that controls displaying the checkbox to all users. + */ + const OUTREACH_CHECKBOX_ALL_NAME = 'feature_event_outreach_checkbox_all'; + /** * The list of users allowed to view the outreach checkbox. */ @@ -101,6 +106,13 @@ class EntityEventSubscriber implements EventSubscriberInterface { */ private bool $outreachCheckboxFeatureEnabled; + /** + * TRUE if the outreach checkbox feature toggle is enabled for all users. + * + * @var bool + */ + private bool $outreachCheckboxAllFeatureEnabled; + /** * Constructs the EventSubscriber object. * @@ -115,6 +127,7 @@ public function __construct(UserPermsService $user_perms_service, AccountProxy $ $this->userPermsService = $user_perms_service; $this->currentUser = $account_proxy->getAccount(); $this->outreachCheckboxFeatureEnabled = $feature_status->getStatus(self::OUTREACH_CHECKBOX_FEATURE_NAME); + $this->outreachCheckboxAllFeatureEnabled = $feature_status->getStatus(self::OUTREACH_CHECKBOX_ALL_NAME); } /** @@ -135,7 +148,13 @@ public static function getSubscribedEvents(): array { * TRUE if the outreach checkbox should be enabled. */ protected function outreachCheckboxEnabled(): bool { + // If both feature toggles are on, display the checkbox to all users. + if ($this->outreachCheckboxFeatureEnabled && $this->outreachCheckboxAllFeatureEnabled) { + return TRUE; + } $admin = $this->userPermsService->hasAdminRole(TRUE); + // If only the primary outreach feature toggle is on, and the user is either + // an admin, or in the test user list, display the checkbox. return ( $this->outreachCheckboxFeatureEnabled && (in_array($this->currentUser->id(), self::OUTREACH_CHECKBOX_TEST_USERS) || $admin) diff --git a/tests/cypress/integration/features/content_type/event.feature b/tests/cypress/integration/features/content_type/event.feature index 58beddb9ef..fc1e84fcd8 100644 --- a/tests/cypress/integration/features/content_type/event.feature +++ b/tests/cypress/integration/features/content_type/event.feature @@ -2,8 +2,9 @@ Feature: Content Type: Event Scenario: Log in and create an event. - Given I am logged in as a user with the "administrator" role + Given I am logged in as a user with the "content_admin" role When I set the "feature_event_outreach_checkbox" feature toggle to "on" + And I set the "feature_event_outreach_checkbox_all" feature toggle to "on" Then I create a "event" node Scenario: Confirm that event form conditional fields are cleared out if parent options change