diff --git a/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-feedback.md b/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-feedback.md new file mode 100644 index 00000000000..6b24ec47ce9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-feedback.md @@ -0,0 +1,30 @@ +--- +name: CMS Collaboration Cycle Feedback +about: Use this template for CMS Team practice areas to provide feedback to teams going through the CMS Collaboration Cycle. +title: 'Name of Collab Touchpoint - Practice Area Feedback - Name of Project' +labels: CMS Team, CMS-Collab-Cycle, collab-cycle-feedback + +--- + +## VFS actions +- [ ] Assign this ticket to the team member(s) responsible for addressing feedback provided by the CMS Team. +- [ ] Comment on this ticket: + - [ ] If the CMS Team reviewer has any **Thoughts/Questions** that require responses. + - [ ] When **Must** feedback has been incorporated. As appropriate, link to any other GitHub issues or PRs related to this feedback. + - [ ] When **Should/Consider** feedback has been incorporated, or if any feedback will not be addressed. As appropriate, link to any other GitHub issues or PRs related to this feedback. +- [ ] Close the ticket when all feedback has been addressed. + +## Thoughts/questions from CMS Team +- (CMS Team insert thoughts/questions here.) + +## Feedback from CMS Team +The CMS Team practice areas will document their feedback on artifacts provided by VFS teams following the [Must, Should, and Consider Framework](https://depo-platform-documentation.scrollhelp.site/collaboration-cycle/must-should-and-consider-framework-for-feedback). CMS Team reviewers may also provide additional notes that don’t comment on the artifacts themselves but are important for implementation (eg. engineering/coding notes or design system feedback). + +### Must +- (CMS Team insert feedback here.) + +### Should +- (CMS Team insert feedback here.) + +### Consider +- (CMS Team insert feedback here.) diff --git a/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-request.yml b/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-request.yml index 1dc73286440..900a0c4abe2 100644 --- a/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-request.yml +++ b/.github/ISSUE_TEMPLATE/cms-collaboration-cycle-request.yml @@ -1,6 +1,6 @@ name: CMS Collaboration Cycle Request -description: Begin engaging with the CMS Collaboration Cycle. +description: Use this template to begin engaging with the CMS Collaboration Cycle. title: "CMS Collaboration Cycle for [Team Name, Product Name, Feature Name]" labels: CMS Team, Needs Analysis, CMS-Collab-Cycle, Epic assignees: @@ -11,7 +11,7 @@ body: - type: markdown attributes: value: | - Before engaging with the CMS Collaboration Cycle, please fill out the form below to help the CMS Team determine what level of support and which touchpoints are needed for your work. + Before engaging with the CMS Collaboration Cycle, please fill out the form below to help the CMS Team determine what level of support and which touchpoints are needed for your work. Have questions about this form? Reach out to the CMS Team in the cms-support Slack channel. - type: input id: product-outline attributes: @@ -19,16 +19,6 @@ body: description: If you have not already made one, you can use this [product outline template](https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/platform/product-management/product-outline-template.md). validations: required: true - - type: checkboxes - id: type - attributes: - label: What type of request are you making? - options: - - label: Update to an existing CMS feature (including product iterations, updating DS components or page layouts and nav changes) - - label: New CMS feature (New content types, DS components, workflows or products) - - label: Other (Leave notes in the Additional Information section of this form) - validations: - required: true - type: input id: start-date attributes: @@ -41,6 +31,36 @@ body: label: When will your product/feature need to launch? validations: required: true + - type: dropdown + id: cms-areas + attributes: + label: Select if your work will involve changes to any of the following. + multiple: true + options: + - CMS design system + - CMS content model + - CMS features that span multiple products or work streams + - None of the above + validations: + required: true + - type: dropdown + id: request-type + attributes: + label: What type of request are you making? + multiple: true + options: + - Update to an existing CMS feature (including product iterations, updating DS components or page layouts and nav changes) + - New CMS feature (New content types, DS components, workflows or products) + - Other (Leave notes in the Additional Information section of this form) + validations: + required: true + - type: input + id: current-implementation + attributes: + label: Please add a link to the current implementation of this product/feature, if applicable. + description: Only leave this blank if there is nothing that currently exists in the CMS. + validations: + required: false - type: dropdown id: research attributes: @@ -49,6 +69,7 @@ body: options: - "Yes" - "No" + - "Maybe (Leave notes in the Additional Information section of this form)" validations: required: true - type: dropdown @@ -59,49 +80,53 @@ body: options: - "Yes" - "No" + - "Maybe (Leave notes in the Additional Information section of this form)" validations: required: true - type: dropdown - id: analytics + id: modules attributes: - label: Do you need to capture any analytics or metrics? + label: Will your work require introducing a new Drupal module or changes to an existing module? multiple: false options: - "Yes" - "No" + - "Maybe (Leave notes in the Additional Information section of this form)" validations: required: true - type: dropdown - id: cms-areas + id: analytics attributes: - label: Will your work involve changes to...? - multiple: true + label: Do you need to capture any analytics or metrics? + multiple: false options: - - CMS design system - - CMS content model - - CMS features that span multiple products or work streams + - "Yes" + - "No" + - "Maybe (Leave notes in the Additional Information section of this form)" validations: required: true - - type: input - id: current-implementation + - type: dropdown + id: KB attributes: - label: Please add a link to the current implementation of this product/feature, if applicable. - description: Only leave this blank if there is nothing that currently exists in the CMS. + label: Will this work require creating/editing any CMS Knowledge Base articles? + multiple: false + options: + - "Yes" + - "No" + - "Maybe (Leave notes in the Additional Information section of this form)" validations: - required: false + required: true - type: textarea id: additional-information attributes: label: Additional Information description: Please include any additional information or context that may be relevant to your request. - type: checkboxes - id: terms + id: terms-agreement attributes: - label: Please agree to the terms of this form. - description: I acknowledge that I must submit this form as an Epic and notify the cms-team user group in the cms-support Slack channel with a link to the epic that is created. + label: I acknowledge that I must submit this form as an Epic and notify the cms-team user group in the cms-support Slack channel with a link to the Epic that is created. options: - label: I agree. - validations: - required: true + required: true diff --git a/.github/workflows/actions-metrics.yml b/.github/workflows/actions-metrics.yml index 7a042e7beb4..e9c683c41d1 100644 --- a/.github/workflows/actions-metrics.yml +++ b/.github/workflows/actions-metrics.yml @@ -11,7 +11,7 @@ jobs: timeout-minutes: 10 steps: - name: Send GitHub Actions metrics to DataDog - uses: int128/datadog-actions-metrics@c2c3a02962c104c601d6d024405297ffbd80eccf # v1.58.0 + uses: int128/datadog-actions-metrics@ddee9ed266fc818c601cadbf6a76624c97b61747 # v1.59.0 with: datadog-api-key: ${{ secrets.DATADOG_API_KEY }} collect-job-metrics: true diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index f24dba56895..4999189b15e 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -31,7 +31,7 @@ jobs: # Get the initial AWS IAM User credentials. Only has basic permissions for sts:assumeRole - name: Configure AWS credentials (1) - uses: aws-actions/configure-aws-credentials@8c3f20df09ac63af7b3ae3d7c91f105f857d8497 # v4.0.0 + uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -39,7 +39,7 @@ jobs: # Get credentials from our SSM role. Least privilege method for AWS IAM. - name: Configure AWS Credentials (2) - uses: aws-actions/configure-aws-credentials@8c3f20df09ac63af7b3ae3d7c91f105f857d8497 # v4.0.0 + uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/s3-backup-retention.yml b/.github/workflows/s3-backup-retention.yml index 53a041b1d22..584b75424c2 100644 --- a/.github/workflows/s3-backup-retention.yml +++ b/.github/workflows/s3-backup-retention.yml @@ -21,7 +21,7 @@ jobs: # Get the initial AWS IAM User credentials. Only has basic permissions for sts:assumeRole - name: Configure AWS credentials (1) - uses: aws-actions/configure-aws-credentials@8c3f20df09ac63af7b3ae3d7c91f105f857d8497 # v4.0.0 + uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -36,7 +36,7 @@ jobs: # Get credentials from our s3 role. Least privilege method for AWS IAM. - name: Configure AWS credentials (1) - uses: aws-actions/configure-aws-credentials@8c3f20df09ac63af7b3ae3d7c91f105f857d8497 # v4.0.0 + uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/composer.json b/composer.json index 210a416cebc..a118f952b06 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,6 @@ }, "require": { "alchemy/zippy": "^1.0.0", - "bower-asset/blazy": "^1.8", "bower-asset/cropper": "^4.1", "caxy/php-htmldiff": "^0.1.14", "composer/installers": "^2.2.0", @@ -31,7 +30,6 @@ "drupal/animated_gif": "^2.0", "drupal/auto_entitylabel": "^3.0", "drupal/better_exposed_filters": "^6.0", - "drupal/blazy": "^2.0@RC", "drupal/block_content_permissions": "^1.6", "drupal/cer": "^5.0@beta", "drupal/change_labels": "dev-3326097-remove-dependency-on-drupal-autoservices#7f92f90b456ac2f394dd434257e39e1d9b3086eb", @@ -44,7 +42,7 @@ "drupal/consumer_image_styles": "^4.0", "drupal/consumers": "^1.17.0", "drupal/content_lock": "^2.3", - "drupal/content_model_documentation": "^1.0@alpha", + "drupal/content_model_documentation": "^1.0.19", "drupal/core-composer-scaffold": "~9.5.0", "drupal/core-recommended": "~9.5.11", "drupal/crop": "^2.0", @@ -102,7 +100,7 @@ "drupal/jsonapi_resources": "^1.0@beta", "drupal/jsonapi_views": "^1.0", "drupal/libraries": "^4.0@alpha", - "drupal/limited_field_widgets": "^2.0", + "drupal/limited_field_widgets": "^2.1@alpha", "drupal/linkit": "^6.0@RC", "drupal/linky": "^1.0@beta", "drupal/linkychecker": "^2.0@beta", @@ -209,7 +207,7 @@ "symfony/phpunit-bridge": "^5.1", "symfony/process": "^4.0", "symfony/routing": "^4.0", - "va-gov/content-build": "^0.0.3358", + "va-gov/content-build": "^0.0.3361", "vlucas/phpdotenv": "^5.3", "webflo/drupal-finder": "^1.0.0", "webmozart/path-util": "^2.3", diff --git a/composer.lock b/composer.lock index 6b64d0c229f..6ebb9c27a19 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": "fea084d6244e097c4200603a20047d2a", + "content-hash": "cb4b2c0e5d39d5e5690a08a1953734db", "packages": [ { "name": "alchemy/zippy", @@ -185,24 +185,6 @@ }, "time": "2021-12-21T18:37:02+00:00" }, - { - "name": "bower-asset/blazy", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/dinbror/blazy.git", - "reference": "5becad405976695e6016ba301be4f22ba61d5b95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dinbror/blazy/zipball/5becad405976695e6016ba301be4f22ba61d5b95", - "reference": "5becad405976695e6016ba301be4f22ba61d5b95" - }, - "type": "bower-asset", - "license": [ - "MIT" - ] - }, { "name": "bower-asset/cropper", "version": "v4.1.0", @@ -2956,73 +2938,6 @@ "issues": "https://www.drupal.org/project/issues/better_exposed_filters" } }, - { - "name": "drupal/blazy", - "version": "2.16.0", - "source": { - "type": "git", - "url": "https://git.drupalcode.org/project/blazy.git", - "reference": "8.x-2.16" - }, - "dist": { - "type": "zip", - "url": "https://ftp.drupal.org/files/projects/blazy-8.x-2.16.zip", - "reference": "8.x-2.16", - "shasum": "ae84ac6083f734968eb9c7cc008b32aaa04c5b9c" - }, - "require": { - "drupal/core": "^8.8 || ^9 || ^10" - }, - "conflict": { - "drupal/csp": "<1.12" - }, - "type": "drupal-module", - "extra": { - "drupal": { - "version": "8.x-2.16", - "datestamp": "1685788557", - "security-coverage": { - "status": "covered", - "message": "Covered by Drupal's security advisory policy" - } - } - }, - "notification-url": "https://packages.drupal.org/8/downloads", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Gaus Surahman", - "homepage": "https://www.drupal.org/u/gausarts", - "role": "Maintainer" - }, - { - "name": "Contributors", - "homepage": "https://www.drupal.org/node/2663268/committers", - "role": "Contributor" - }, - { - "name": "geek-merlin", - "homepage": "https://www.drupal.org/user/229048" - }, - { - "name": "sun", - "homepage": "https://www.drupal.org/user/54136" - } - ], - "description": "Provides basic bLazy integration for lazy loading and multi-serving images.", - "homepage": "https://drupal.org/project/blazy", - "keywords": [ - "Drupal", - "bLazy", - "lazyload" - ], - "support": { - "source": "https://git.drupalcode.org/project/blazy", - "issues": "https://drupal.org/project/issues/blazy" - } - }, { "name": "drupal/block_content_permissions", "version": "1.11.0", @@ -3786,27 +3701,28 @@ }, { "name": "drupal/content_model_documentation", - "version": "1.0.18", + "version": "1.0.19", "source": { "type": "git", "url": "https://git.drupalcode.org/project/content_model_documentation.git", - "reference": "1.0.18" + "reference": "1.0.19" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/content_model_documentation-1.0.18.zip", - "reference": "1.0.18", - "shasum": "be9d9e285a4c78a1e712cfb510684a530e4c2c40" + "url": "https://ftp.drupal.org/files/projects/content_model_documentation-1.0.19.zip", + "reference": "1.0.19", + "shasum": "bac03355471ad98736c8894ca63f296a873ce5f9" }, "require": { "drupal/config_views": "~2.1", - "drupal/core": "^9.3 || ^10" + "drupal/core": "^9.3 || ^10", + "drupal/mermaid_diagram_field": "~1.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "1.0.18", - "datestamp": "1696484242", + "version": "1.0.19", + "datestamp": "1696860039", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -8251,29 +8167,29 @@ }, { "name": "drupal/limited_field_widgets", - "version": "2.0.5", + "version": "2.1.0-alpha1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/limited_field_widgets.git", - "reference": "2.0.5" + "reference": "2.1.0-alpha1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/limited_field_widgets-2.0.5.zip", - "reference": "2.0.5", - "shasum": "410632dba3b6fb1783c3c61f00b4d5ddc35215d1" + "url": "https://ftp.drupal.org/files/projects/limited_field_widgets-2.1.0-alpha1.zip", + "reference": "2.1.0-alpha1", + "shasum": "e1f7844901412ae96369af5c315e605b445866f3" }, "require": { - "drupal/core": "^8 || ^9 || ^10" + "drupal/core": ">=9.2" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.5", - "datestamp": "1674048090", + "version": "2.1.0-alpha1", + "datestamp": "1675686521", "security-coverage": { - "status": "covered", - "message": "Covered by Drupal's security advisory policy" + "status": "not-covered", + "message": "Alpha releases are not covered by Drupal security advisories." } } }, @@ -9175,6 +9091,50 @@ "issues": "https://drupal.org/project/issues/menu_normalizer" } }, + { + "name": "drupal/mermaid_diagram_field", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/mermaid_diagram_field.git", + "reference": "1.0.1" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/mermaid_diagram_field-1.0.1.zip", + "reference": "1.0.1", + "shasum": "252258541e1b14af01b54ea00ae0020e10b11f98" + }, + "require": { + "drupal/core": "^9 || ^10" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "1.0.1", + "datestamp": "1696824307", + "security-coverage": { + "status": "not-covered", + "message": "Project has not opted into security advisory coverage!" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "swirt", + "homepage": "https://www.drupal.org/user/138230" + } + ], + "description": "Adds a Mermaid diagram field capable of rendering Mermaid", + "homepage": "https://www.drupal.org/project/mermaid_diagram_field", + "support": { + "source": "https://git.drupalcode.org/project/mermaid_diagram_field" + } + }, { "name": "drupal/message", "version": "1.4.0", @@ -26927,16 +26887,16 @@ }, { "name": "va-gov/content-build", - "version": "v0.0.3358", + "version": "v0.0.3361", "source": { "type": "git", "url": "https://github.com/department-of-veterans-affairs/content-build.git", - "reference": "2dc45eb0f95a672471ed8d1ac49e445e6e5d7e37" + "reference": "0ed083795827bf0d7b2c4d0fd116d3352c50521a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/department-of-veterans-affairs/content-build/zipball/2dc45eb0f95a672471ed8d1ac49e445e6e5d7e37", - "reference": "2dc45eb0f95a672471ed8d1ac49e445e6e5d7e37", + "url": "https://api.github.com/repos/department-of-veterans-affairs/content-build/zipball/0ed083795827bf0d7b2c4d0fd116d3352c50521a", + "reference": "0ed083795827bf0d7b2c4d0fd116d3352c50521a", "shasum": "" }, "type": "node-project", @@ -26963,9 +26923,9 @@ "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.3358" + "source": "https://github.com/department-of-veterans-affairs/content-build/tree/v0.0.3361" }, - "time": "2023-10-04T16:05:29+00:00" + "time": "2023-10-06T17:03:27+00:00" }, { "name": "vlucas/phpdotenv", @@ -27775,7 +27735,6 @@ "minimum-stability": "dev", "stability-flags": { "drupal/advancedqueue": 5, - "drupal/blazy": 5, "drupal/cer": 10, "drupal/change_labels": 20, "drupal/components": 10, @@ -27794,6 +27753,7 @@ "drupal/image_style_warmer": 5, "drupal/jsonapi_resources": 10, "drupal/libraries": 15, + "drupal/limited_field_widgets": 15, "drupal/linkit": 5, "drupal/linky": 10, "drupal/linkychecker": 10, diff --git a/config/sync/core.entity_form_display.cm_document.cm_document.default.yml b/config/sync/core.entity_form_display.cm_document.cm_document.default.yml index 13e71d149c8..00c208b0c68 100644 --- a/config/sync/core.entity_form_display.cm_document.cm_document.default.yml +++ b/config/sync/core.entity_form_display.cm_document.cm_document.default.yml @@ -5,6 +5,7 @@ dependencies: config: - field.field.cm_document.cm_document.field_data_pulled_from - field.field.cm_document.cm_document.field_data_pushed_to + - field.field.cm_document.cm_document.field_diagram - field.field.cm_document.cm_document.field_link_to_cms_design_system - field.field.cm_document.cm_document.field_link_to_va_design_system - field.field.cm_document.cm_document.field_links_to_design @@ -21,6 +22,7 @@ dependencies: - image - limited_field_widgets - link + - mermaid_diagram_field - text third_party_settings: field_group: @@ -33,7 +35,7 @@ third_party_settings: label: Design region: content parent_name: '' - weight: 1 + weight: 2 format_type: fieldset format_settings: classes: '' @@ -49,7 +51,7 @@ third_party_settings: label: Data region: content parent_name: '' - weight: 6 + weight: 7 format_type: fieldset format_settings: classes: '' @@ -83,6 +85,16 @@ content: limit_values: '0' change_labels: add_another: 'Add another destination' + field_diagram: + type: mermaid_diagram_widget + weight: 1 + region: content + settings: { } + third_party_settings: + limited_field_widgets: + limit_values: '0' + change_labels: + add_another: 'Add another diagram' field_link_to_cms_design_system: type: link_default weight: 5 @@ -133,7 +145,7 @@ content: add_another: 'Add another link to research' field_other_links: type: link_default - weight: 4 + weight: 5 region: content settings: placeholder_url: '' @@ -145,7 +157,7 @@ content: add_another: 'Add another link' field_related_knowledgebase: type: entity_reference_autocomplete - weight: 2 + weight: 3 region: content settings: match_operator: CONTAINS @@ -159,7 +171,7 @@ content: add_another: 'Add another Knowledge Base article link' field_screenshots: type: image_image - weight: 5 + weight: 6 region: content settings: progress_indicator: throbber @@ -172,7 +184,7 @@ content: remove_label: '' field_stakeholders: type: options_buttons - weight: 3 + weight: 4 region: content settings: { } third_party_settings: { } diff --git a/config/sync/core.entity_form_display.node.event.default.yml b/config/sync/core.entity_form_display.node.event.default.yml index 8c99f87f35d..7fbdfbd4b77 100644 --- a/config/sync/core.entity_form_display.node.event.default.yml +++ b/config/sync/core.entity_form_display.node.event.default.yml @@ -23,6 +23,7 @@ dependencies: - field.field.node.event.field_media - field.field.node.event.field_meta_tags - field.field.node.event.field_order + - field.field.node.event.field_publish_to_outreach_cal - field.field.node.event.field_url_of_an_online_event - node.type.event - workflows.workflow.editorial @@ -46,7 +47,7 @@ third_party_settings: label: 'Section settings' region: content parent_name: '' - weight: 8 + weight: 9 format_type: details_sidebar format_settings: classes: '' @@ -64,7 +65,7 @@ third_party_settings: label: Location region: content parent_name: '' - weight: 7 + weight: 8 format_type: details format_settings: classes: '' @@ -81,7 +82,7 @@ third_party_settings: label: Registration region: content parent_name: '' - weight: 6 + weight: 7 format_type: fieldset format_settings: classes: '' @@ -142,7 +143,7 @@ third_party_settings: label: 'Meta Tags' region: content parent_name: '' - weight: 5 + weight: 6 format_type: fieldset format_settings: classes: '' @@ -173,7 +174,7 @@ third_party_settings: label: Free region: content parent_name: group_all_events_are_free - weight: 15 + weight: 32 format_type: html_element format_settings: classes: '' @@ -200,7 +201,7 @@ content: third_party_settings: { } field_additional_information_abo: type: text_textarea - weight: 31 + weight: 32 region: content settings: rows: 5 @@ -220,7 +221,7 @@ content: third_party_settings: { } field_body: type: text_textarea - weight: 4 + weight: 5 region: content settings: rows: 5 @@ -258,7 +259,10 @@ content: custom show_extra: true hide_date: false + separator: to add_abbreviations: '' + allday: true + remove_seconds: false third_party_settings: smart_date_recur: modal: true @@ -318,7 +322,7 @@ content: third_party_settings: { } field_last_saved_by_an_editor: type: datetime_timestamp - weight: 44 + weight: 16 region: content settings: { } third_party_settings: { } @@ -337,7 +341,11 @@ content: weight: 2 region: content settings: { } - third_party_settings: { } + third_party_settings: + limited_field_widgets: + limit_values: '1' + change_labels: + add_another: '' field_location_humanreadable: type: string_textfield weight: 16 @@ -354,7 +362,7 @@ content: third_party_settings: { } field_media: type: media_library_widget - weight: 3 + weight: 4 region: content settings: media_types: { } @@ -365,6 +373,13 @@ content: region: content settings: { } third_party_settings: { } + field_publish_to_outreach_cal: + type: boolean_checkbox + weight: 3 + region: content + settings: + display_label: true + third_party_settings: { } field_url_of_an_online_event: type: linkit weight: 15 diff --git a/config/sync/core.entity_form_display.node.vba_facility.default.yml b/config/sync/core.entity_form_display.node.vba_facility.default.yml index e2a4223ba70..c82062ac1a9 100644 --- a/config/sync/core.entity_form_display.node.vba_facility.default.yml +++ b/config/sync/core.entity_form_display.node.vba_facility.default.yml @@ -5,6 +5,14 @@ dependencies: config: - field.field.node.vba_facility.field_address - field.field.node.vba_facility.field_administration + - field.field.node.vba_facility.field_cc_benefit_office_hours_va + - field.field.node.vba_facility.field_cc_benefits_hotline + - field.field.node.vba_facility.field_cc_cant_find_benefits + - field.field.node.vba_facility.field_cc_get_updates_from_vba + - field.field.node.vba_facility.field_cc_national_spotlight_1 + - field.field.node.vba_facility.field_cc_national_spotlight_2 + - field.field.node.vba_facility.field_cc_national_spotlight_3 + - field.field.node.vba_facility.field_cc_vba_facility_overview - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation @@ -28,6 +36,7 @@ dependencies: - address - change_labels - content_moderation + - entity_field_fetch - field_group - geofield - limited_field_widgets @@ -63,7 +72,7 @@ third_party_settings: label: 'Section settings' region: content parent_name: '' - weight: 5 + weight: 10 format_type: details_sidebar format_settings: classes: '' @@ -80,7 +89,7 @@ third_party_settings: label: 'Editorial Workflow' region: content parent_name: '' - weight: 6 + weight: 12 format_type: fieldset format_settings: classes: '' @@ -93,7 +102,7 @@ third_party_settings: label: 'Locations and contact information' region: content parent_name: '' - weight: 3 + weight: 4 format_type: fieldset format_settings: classes: '' @@ -139,7 +148,7 @@ third_party_settings: label: 'Top of page information' region: content parent_name: '' - weight: 2 + weight: 3 format_type: fieldset format_settings: classes: '' @@ -154,7 +163,7 @@ third_party_settings: label: 'Prepare for your visit' region: content parent_name: '' - weight: 4 + weight: 7 format_type: details format_settings: classes: '' @@ -163,6 +172,127 @@ third_party_settings: open: true description: 'Add location services available at this facility such as transportation, parking, visiting hours, lodging options, food options, etc. Do not use this for benefit services.' required_fields: true + group_benefit_office_overview: + children: + - field_cc_vba_facility_overview + label: 'Benefit office overview' + region: content + parent_name: '' + weight: 2 + format_type: tooltip + format_settings: + show_empty_fields: '1' + show_label: '0' + tooltip_description: "Why can’t I edit this?\r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + description: '' + required_fields: '1' + id: '' + classes: centralized + element: div + label_element: h3 + attributes: '' + group_benefits_hotline: + children: + - field_cc_benefits_hotline + label: 'Benefits hotline' + region: content + parent_name: '' + weight: 6 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + required_fields: 1 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this?\r\nInternational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + group_benefit_office_hours_vary: + children: + - field_cc_benefit_office_hours_va + label: 'Benefit office hours may vary' + region: content + parent_name: '' + weight: 5 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + required_fields: 1 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this? \r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + group_national_spotlight: + children: + - field_cc_national_spotlight_1 + - field_cc_national_spotlight_2 + - field_cc_national_spotlight_3 + label: 'National spotlight' + region: content + parent_name: '' + weight: 8 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + required_fields: 1 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this? \r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + group_can_t_find_benefits: + children: + - field_cc_cant_find_benefits + label: 'Can''t find benefits' + region: content + parent_name: '' + weight: 9 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + required_fields: 1 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this? \r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + group_get_updates_from_vba: + children: + - field_cc_get_updates_from_vba + label: 'Get updates from VBA' + region: content + parent_name: '' + weight: 11 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + required_fields: 1 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this? \r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false id: node.vba_facility.default targetEntityType: node bundle: vba_facility @@ -180,6 +310,78 @@ content: region: content settings: { } third_party_settings: { } + field_cc_benefit_office_hours_va: + type: entity_field_fetch_widget + weight: 13 + region: content + settings: + show_field_label: '1' + show_link_to_source: '1' + show_source_updated_date: '1' + third_party_settings: { } + field_cc_benefits_hotline: + type: entity_field_fetch_widget + weight: 26 + region: content + settings: + show_field_label: '1' + show_link_to_source: '1' + show_source_updated_date: '1' + third_party_settings: { } + field_cc_cant_find_benefits: + type: entity_field_fetch_widget + weight: 11 + region: content + settings: + show_field_label: '1' + show_link_to_source: '1' + show_source_updated_date: '1' + third_party_settings: { } + field_cc_get_updates_from_vba: + type: entity_field_fetch_widget + weight: 11 + region: content + settings: + show_field_label: '1' + show_link_to_source: '1' + show_source_updated_date: '1' + third_party_settings: { } + field_cc_national_spotlight_1: + type: entity_field_fetch_widget + weight: 10 + region: content + settings: + show_field_label: '1' + show_link_to_source: '1' + show_source_updated_date: '1' + third_party_settings: { } + field_cc_national_spotlight_2: + type: entity_field_fetch_widget + weight: 11 + region: content + settings: + show_field_label: '1' + show_link_to_source: '1' + show_source_updated_date: '1' + third_party_settings: { } + field_cc_national_spotlight_3: + type: entity_field_fetch_widget + weight: 12 + region: content + settings: + show_field_label: '1' + show_link_to_source: '1' + show_source_updated_date: '1' + third_party_settings: { } + field_cc_vba_facility_overview: + type: entity_field_fetch_widget + weight: 2 + region: content + settings: + show_field_label: '1' + show_link_to_source: '1' + show_source_updated_date: '1' + third_party_settings: { } field_facility_locator_api_id: type: string_textfield weight: 5 @@ -203,7 +405,7 @@ content: third_party_settings: { } field_intro_text: type: string_textarea - weight: 8 + weight: 3 region: content settings: rows: 5 @@ -211,7 +413,7 @@ content: third_party_settings: { } field_last_saved_by_an_editor: type: datetime_timestamp - weight: 7 + weight: 13 region: content settings: { } third_party_settings: { } @@ -233,14 +435,14 @@ content: add_another: '' field_media: type: media_library_widget - weight: 9 + weight: 4 region: content settings: media_types: { } third_party_settings: { } field_non_va_location_url: type: link_default - weight: 13 + weight: 15 region: content settings: placeholder_url: '' @@ -248,7 +450,7 @@ content: third_party_settings: { } field_non_va_official_name: type: string_textfield - weight: 12 + weight: 14 region: content settings: size: 60 @@ -256,13 +458,13 @@ content: third_party_settings: { } field_office: type: options_select - weight: 14 + weight: 16 region: content settings: { } third_party_settings: { } field_office_hours: type: office_hours_default - weight: 10 + weight: 11 region: content settings: collapsed: false @@ -275,7 +477,7 @@ content: third_party_settings: { } field_operating_status_more_info: type: string_textarea_with_counter - weight: 13 + weight: 12 region: content settings: rows: 5 @@ -296,7 +498,7 @@ content: third_party_settings: { } field_shared_vha_location: type: entity_reference_autocomplete - weight: 15 + weight: 17 region: content settings: match_operator: CONTAINS @@ -312,7 +514,7 @@ content: third_party_settings: { } field_timezone: type: tzfield_default - weight: 11 + weight: 12 region: content settings: { } third_party_settings: { } diff --git a/config/sync/core.entity_view_display.cm_document.cm_document.default.yml b/config/sync/core.entity_view_display.cm_document.cm_document.default.yml index 3b2d42fa567..8bfc9d601ef 100644 --- a/config/sync/core.entity_view_display.cm_document.cm_document.default.yml +++ b/config/sync/core.entity_view_display.cm_document.cm_document.default.yml @@ -5,6 +5,7 @@ dependencies: config: - field.field.cm_document.cm_document.field_data_pulled_from - field.field.cm_document.cm_document.field_data_pushed_to + - field.field.cm_document.cm_document.field_diagram - field.field.cm_document.cm_document.field_link_to_cms_design_system - field.field.cm_document.cm_document.field_link_to_va_design_system - field.field.cm_document.cm_document.field_links_to_design @@ -19,6 +20,7 @@ dependencies: - field_group - image - link + - mermaid_diagram_field - text third_party_settings: field_group: @@ -31,7 +33,7 @@ third_party_settings: label: Design parent_name: '' region: content - weight: 1 + weight: 2 format_type: fieldset format_settings: classes: '' @@ -46,7 +48,7 @@ third_party_settings: label: Data parent_name: '' region: content - weight: 6 + weight: 7 format_type: fieldset format_settings: classes: data @@ -75,6 +77,13 @@ content: third_party_settings: { } weight: 2 region: content + field_diagram: + type: mermaid_diagram_formatter + label: hidden + settings: { } + third_party_settings: { } + weight: 1 + region: content field_link_to_cms_design_system: type: link label: above @@ -133,7 +142,7 @@ content: rel: '0' target: '0' third_party_settings: { } - weight: 4 + weight: 5 region: content field_related_knowledgebase: type: entity_reference_label @@ -141,7 +150,7 @@ content: settings: link: true third_party_settings: { } - weight: 2 + weight: 3 region: content field_screenshots: type: image @@ -152,7 +161,7 @@ content: image_loading: attribute: lazy third_party_settings: { } - weight: 5 + weight: 6 region: content field_stakeholders: type: entity_reference_label @@ -160,7 +169,7 @@ content: settings: link: true third_party_settings: { } - weight: 3 + weight: 4 region: content notes: type: text_default diff --git a/config/sync/core.entity_view_display.node.event.default.yml b/config/sync/core.entity_view_display.node.event.default.yml index c765795f387..936ca6c2914 100644 --- a/config/sync/core.entity_view_display.node.event.default.yml +++ b/config/sync/core.entity_view_display.node.event.default.yml @@ -23,6 +23,7 @@ dependencies: - field.field.node.event.field_media - field.field.node.event.field_meta_tags - field.field.node.event.field_order + - field.field.node.event.field_publish_to_outreach_cal - field.field.node.event.field_url_of_an_online_event - node.type.event module: @@ -50,6 +51,7 @@ third_party_settings: group_c: children: - field_datetime_range_timezone + - field_listing - field_media - field_body - field_url_of_an_online_event @@ -74,7 +76,7 @@ third_party_settings: label: Location-related parent_name: group_c region: content - weight: 28 + weight: 7 format_type: fieldset format_settings: classes: '' @@ -89,7 +91,7 @@ third_party_settings: label: 'Registration related' parent_name: group_c region: content - weight: 29 + weight: 8 format_type: fieldset format_settings: classes: '' @@ -134,7 +136,7 @@ content: label: above settings: { } third_party_settings: { } - weight: 25 + weight: 4 region: content field_datetime_range_timezone: type: smartdate_default @@ -146,8 +148,17 @@ content: force_chronological: false add_classes: false time_wrapper: true + localize: false + parts: + - start + - end + duration: + separator: ' | ' + unit: '' + decimals: 2 + suffix: h third_party_settings: { } - weight: 23 + weight: 1 region: content field_description: type: string @@ -170,7 +181,7 @@ content: label: above settings: { } third_party_settings: { } - weight: 27 + weight: 6 region: content field_event_registrationrequired: type: boolean @@ -222,6 +233,14 @@ content: third_party_settings: { } weight: 17 region: content + field_listing: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 2 + region: content field_location_humanreadable: type: string label: above @@ -244,7 +263,7 @@ content: view_mode: default link: false third_party_settings: { } - weight: 24 + weight: 3 region: content field_order: type: list_default @@ -263,15 +282,15 @@ content: rel: '' target: '' third_party_settings: { } - weight: 26 + weight: 5 region: content hidden: breadcrumbs: true content_moderation_control: true field_administration: true field_last_saved_by_an_editor: true - field_listing: true field_meta_tags: true + field_publish_to_outreach_cal: true langcode: true links: true search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.event.teaser.yml b/config/sync/core.entity_view_display.node.event.teaser.yml index b2e2adfdd9a..6cc0f1310e6 100644 --- a/config/sync/core.entity_view_display.node.event.teaser.yml +++ b/config/sync/core.entity_view_display.node.event.teaser.yml @@ -24,9 +24,11 @@ dependencies: - field.field.node.event.field_media - field.field.node.event.field_meta_tags - field.field.node.event.field_order + - field.field.node.event.field_publish_to_outreach_cal - field.field.node.event.field_url_of_an_online_event - node.type.event module: + - link - smart_date - text - user @@ -35,6 +37,18 @@ targetEntityType: node bundle: event 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 field_body: type: text_default label: hidden @@ -73,6 +87,7 @@ hidden: field_media: true field_meta_tags: true field_order: true + field_publish_to_outreach_cal: true field_url_of_an_online_event: true langcode: true links: true diff --git a/config/sync/core.entity_view_display.node.nca_facility.default.yml b/config/sync/core.entity_view_display.node.nca_facility.default.yml index c2f01a33d79..a158e67dedb 100644 --- a/config/sync/core.entity_view_display.node.nca_facility.default.yml +++ b/config/sync/core.entity_view_display.node.nca_facility.default.yml @@ -160,9 +160,9 @@ content: open_text: 'Currently open!' closed_text: 'Currently closed' exceptions: + title: 'Exception hours' restrict_exceptions_to_num_days: 7 date_format: long - title: 'Exception hours' timezone_field: '' office_hours_first_day: '' schema: diff --git a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.default.yml b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.default.yml index 03d57620aba..98ecb20d516 100644 --- a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.default.yml +++ b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.default.yml @@ -171,9 +171,9 @@ content: open_text: 'Currently open!' closed_text: 'Currently closed' exceptions: + title: 'Exception hours' restrict_exceptions_to_num_days: 7 date_format: long - title: 'Exception hours' timezone_field: '' office_hours_first_day: '' schema: diff --git a/config/sync/core.entity_view_display.node.vba_facility.default.yml b/config/sync/core.entity_view_display.node.vba_facility.default.yml index 326df25ca8c..d4b5f95ba83 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.default.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.default.yml @@ -5,6 +5,14 @@ dependencies: config: - field.field.node.vba_facility.field_address - field.field.node.vba_facility.field_administration + - field.field.node.vba_facility.field_cc_benefit_office_hours_va + - field.field.node.vba_facility.field_cc_benefits_hotline + - field.field.node.vba_facility.field_cc_cant_find_benefits + - field.field.node.vba_facility.field_cc_get_updates_from_vba + - field.field.node.vba_facility.field_cc_national_spotlight_1 + - field.field.node.vba_facility.field_cc_national_spotlight_2 + - field.field.node.vba_facility.field_cc_national_spotlight_3 + - field.field.node.vba_facility.field_cc_vba_facility_overview - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation @@ -25,6 +33,7 @@ dependencies: - node.type.vba_facility module: - address + - entity_field_fetch - entity_reference_revisions - field_group - link @@ -55,7 +64,7 @@ third_party_settings: label: 'Locations and contact information' parent_name: '' region: content - weight: 2 + weight: 3 format_type: fieldset format_settings: classes: '' @@ -93,7 +102,7 @@ third_party_settings: label: 'Facility Intro and Photo' parent_name: '' region: content - weight: 1 + weight: 2 format_type: fieldset format_settings: classes: '' @@ -110,7 +119,7 @@ third_party_settings: label: 'DB data' parent_name: group_facility_data region: content - weight: 9 + weight: 11 format_type: fieldset format_settings: classes: not-editable @@ -118,6 +127,126 @@ third_party_settings: id: '' description: '' description_display: after + group_benefit_office_overview: + children: + - field_cc_vba_facility_overview + label: 'Benefit office overview' + parent_name: '' + region: content + weight: 1 + format_type: tooltip + format_settings: + show_empty_fields: '1' + show_label: '0' + tooltip_description: "Why can’t I edit this?\r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + description: '' + id: '' + classes: centralized + element: div + label_element: h3 + attributes: '' + group_benefits_hotline: + children: + - field_cc_benefits_hotline + label: 'Benefits hotline' + parent_name: '' + region: content + weight: 5 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this?\r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + required_fields: false + group_benefit_office_hours_vary: + children: + - field_cc_benefit_office_hours_va + label: 'Benefit office hours may vary' + parent_name: '' + region: content + weight: 4 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this?\r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + required_fields: false + group_national_spotlight: + children: + - field_cc_national_spotlight_1 + - field_cc_national_spotlight_2 + - field_cc_national_spotlight_3 + label: 'National spotlight' + parent_name: '' + region: content + weight: 7 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this? \r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + required_fields: false + group_can_t_find_benefits: + children: + - field_cc_cant_find_benefits + label: 'Can''t find benefits' + parent_name: '' + region: content + weight: 8 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this? \r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + required_fields: false + group_get_updates_from_vba: + children: + - field_cc_get_updates_from_vba + label: 'Get updates from VBA' + parent_name: '' + region: content + weight: 9 + format_type: tooltip + format_settings: + show_empty_fields: 0 + id: '' + classes: centralized + element: div + show_label: '0' + label_element: h3 + attributes: '' + description: '' + tooltip_description: "Why can’t I edit this? \r\nNational editors keep this content standardized to provide consistent messaging for facilities nationwide." + open: false + required_fields: false id: node.vba_facility.default targetEntityType: node bundle: vba_facility @@ -128,7 +257,63 @@ content: label: above settings: { } third_party_settings: { } - weight: 5 + weight: 4 + region: content + field_cc_benefit_office_hours_va: + type: entity_field_fetch + label: above + settings: { } + third_party_settings: { } + weight: 9 + region: content + field_cc_benefits_hotline: + type: entity_field_fetch + label: above + settings: { } + third_party_settings: { } + weight: 16 + region: content + field_cc_cant_find_benefits: + type: entity_field_fetch + label: above + settings: { } + third_party_settings: { } + weight: 7 + region: content + field_cc_get_updates_from_vba: + type: entity_field_fetch + label: above + settings: { } + third_party_settings: { } + weight: 8 + region: content + field_cc_national_spotlight_1: + type: entity_field_fetch + label: above + settings: { } + third_party_settings: { } + weight: 6 + region: content + field_cc_national_spotlight_2: + type: entity_field_fetch + label: above + settings: { } + third_party_settings: { } + weight: 7 + region: content + field_cc_national_spotlight_3: + type: entity_field_fetch + label: above + settings: { } + third_party_settings: { } + weight: 8 + region: content + field_cc_vba_facility_overview: + type: entity_field_fetch + label: above + settings: { } + third_party_settings: { } + weight: 1 region: content field_facility_locator_api_id: type: string @@ -143,7 +328,7 @@ content: label: above settings: { } third_party_settings: { } - weight: 7 + weight: 14 region: content field_location_services: type: entity_reference_revisions_entity_view @@ -152,7 +337,7 @@ content: view_mode: default link: '' third_party_settings: { } - weight: 3 + weight: 6 region: content field_media: type: entity_reference_entity_view @@ -161,7 +346,7 @@ content: view_mode: default link: true third_party_settings: { } - weight: 8 + weight: 15 region: content field_non_va_location_url: type: link @@ -243,7 +428,7 @@ content: settings: title: '' third_party_settings: { } - weight: 6 + weight: 5 region: content field_shared_vha_location: type: entity_reference_label @@ -258,7 +443,7 @@ content: label: above settings: { } third_party_settings: { } - weight: 8 + weight: 9 region: content hidden: breadcrumbs: true diff --git a/config/sync/core.entity_view_display.node.vba_facility.external_content.yml b/config/sync/core.entity_view_display.node.vba_facility.external_content.yml index 7716aec0c95..7888a56e8bc 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.external_content.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.external_content.yml @@ -6,13 +6,21 @@ dependencies: - core.entity_view_mode.node.external_content - field.field.node.vba_facility.field_address - field.field.node.vba_facility.field_administration + - field.field.node.vba_facility.field_cc_benefit_office_hours_va + - field.field.node.vba_facility.field_cc_cant_find_benefits + - field.field.node.vba_facility.field_cc_benefits_hotline + - field.field.node.vba_facility.field_cc_vba_facility_overview - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation + - field.field.node.vba_facility.field_cc_get_updates_from_vba - field.field.node.vba_facility.field_intro_text - field.field.node.vba_facility.field_last_saved_by_an_editor - field.field.node.vba_facility.field_location_services - field.field.node.vba_facility.field_media + - field.field.node.vba_facility.field_cc_national_spotlight_1 + - field.field.node.vba_facility.field_cc_national_spotlight_2 + - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_non_va_location_url - field.field.node.vba_facility.field_non_va_official_name - field.field.node.vba_facility.field_office @@ -233,6 +241,14 @@ content: hidden: content_moderation_control: true field_administration: true + field_cc_benefit_office_hours_va: true + field_cc_benefits_hotline: true + field_cc_cant_find_benefits: true + field_cc_get_updates_from_vba: true + field_cc_national_spotlight_1: true + field_cc_national_spotlight_2: true + field_cc_national_spotlight_3: true + field_cc_vba_facility_overview: true field_intro_text: true field_last_saved_by_an_editor: true field_location_services: true diff --git a/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml b/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml index a6f0200431d..d9f38b868a4 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml @@ -6,13 +6,21 @@ dependencies: - core.entity_view_mode.node.ief_table - field.field.node.vba_facility.field_address - field.field.node.vba_facility.field_administration + - field.field.node.vba_facility.field_cc_benefit_office_hours_va + - field.field.node.vba_facility.field_cc_cant_find_benefits + - field.field.node.vba_facility.field_cc_benefits_hotline + - field.field.node.vba_facility.field_cc_vba_facility_overview - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation + - field.field.node.vba_facility.field_cc_get_updates_from_vba - field.field.node.vba_facility.field_intro_text - field.field.node.vba_facility.field_last_saved_by_an_editor - field.field.node.vba_facility.field_location_services - field.field.node.vba_facility.field_media + - field.field.node.vba_facility.field_cc_national_spotlight_1 + - field.field.node.vba_facility.field_cc_national_spotlight_2 + - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_non_va_location_url - field.field.node.vba_facility.field_non_va_official_name - field.field.node.vba_facility.field_office @@ -165,6 +173,14 @@ content: hidden: content_moderation_control: true field_administration: true + field_cc_benefit_office_hours_va: true + field_cc_benefits_hotline: true + field_cc_cant_find_benefits: true + field_cc_get_updates_from_vba: true + field_cc_national_spotlight_1: true + field_cc_national_spotlight_2: true + field_cc_national_spotlight_3: true + field_cc_vba_facility_overview: true field_facility_vba_classificatio: true field_geolocation: true field_intro_text: true diff --git a/config/sync/core.entity_view_display.node.vba_facility.teaser.yml b/config/sync/core.entity_view_display.node.vba_facility.teaser.yml index 8b2f0c035c2..f947d76988e 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.teaser.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.teaser.yml @@ -6,13 +6,21 @@ dependencies: - core.entity_view_mode.node.teaser - field.field.node.vba_facility.field_address - field.field.node.vba_facility.field_administration + - field.field.node.vba_facility.field_cc_benefit_office_hours_va + - field.field.node.vba_facility.field_cc_cant_find_benefits + - field.field.node.vba_facility.field_cc_benefits_hotline + - field.field.node.vba_facility.field_cc_vba_facility_overview - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation + - field.field.node.vba_facility.field_cc_get_updates_from_vba - field.field.node.vba_facility.field_intro_text - field.field.node.vba_facility.field_last_saved_by_an_editor - field.field.node.vba_facility.field_location_services - field.field.node.vba_facility.field_media + - field.field.node.vba_facility.field_cc_national_spotlight_1 + - field.field.node.vba_facility.field_cc_national_spotlight_2 + - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_non_va_location_url - field.field.node.vba_facility.field_non_va_official_name - field.field.node.vba_facility.field_office @@ -44,6 +52,14 @@ content: hidden: field_address: true field_administration: true + field_cc_benefit_office_hours_va: true + field_cc_benefits_hotline: true + field_cc_cant_find_benefits: true + field_cc_get_updates_from_vba: true + field_cc_national_spotlight_1: true + field_cc_national_spotlight_2: true + field_cc_national_spotlight_3: true + field_cc_vba_facility_overview: true field_facility_locator_api_id: true field_facility_vba_classificatio: true field_geolocation: true diff --git a/config/sync/core.entity_view_display.node.vba_facility_service.default.yml b/config/sync/core.entity_view_display.node.vba_facility_service.default.yml index f774f520a31..26841c30a1c 100644 --- a/config/sync/core.entity_view_display.node.vba_facility_service.default.yml +++ b/config/sync/core.entity_view_display.node.vba_facility_service.default.yml @@ -52,8 +52,8 @@ content: weight: 1 region: content hidden: - content_moderation_control: true breadcrumbs: true + content_moderation_control: true field_administration: true field_last_saved_by_an_editor: true langcode: true diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 2af7eca1f0d..1e012cc534a 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -144,6 +144,7 @@ module: menu_item_extras: 0 menu_normalizer: 0 menu_ui: 0 + mermaid_diagram_field: 0 message: 0 message_notify: 0 message_notify_ui: 0 diff --git a/config/sync/feature_toggle.features.yml b/config/sync/feature_toggle.features.yml index 3c70f0d3ef2..500db737703 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_mobile_app_promo: FEATURE_MOBILE_APP_PROMO + feature_event_outreach_checkbox: FEATURE_EVENT_OUTREACH_CHECKBOX diff --git a/config/sync/field.field.cm_document.cm_document.field_diagram.yml b/config/sync/field.field.cm_document.cm_document.field_diagram.yml new file mode 100644 index 00000000000..49900ee93dd --- /dev/null +++ b/config/sync/field.field.cm_document.cm_document.field_diagram.yml @@ -0,0 +1,25 @@ +uuid: df54ca75-47e6-4ee2-b7d5-7359c6047582 +langcode: en +status: true +dependencies: + config: + - field.storage.cm_document.field_diagram + module: + - content_model_documentation + - mermaid_diagram_field + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: cm_document.cm_document.field_diagram +field_name: field_diagram +entity_type: cm_document +bundle: cm_document +label: Diagrams +description: 'Add any diagrams that can augment the documentation.' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: mermaid_diagram diff --git a/config/sync/field.field.node.event.field_publish_to_outreach_cal.yml b/config/sync/field.field.node.event.field_publish_to_outreach_cal.yml new file mode 100644 index 00000000000..297adec89eb --- /dev/null +++ b/config/sync/field.field.node.event.field_publish_to_outreach_cal.yml @@ -0,0 +1,28 @@ +uuid: ba2d9d43-c4b9-4bfd-831a-9ef7544d43f8 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_publish_to_outreach_cal + - node.type.event + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.event.field_publish_to_outreach_cal +field_name: field_publish_to_outreach_cal +entity_type: node +bundle: event +label: 'Publish to the National Outreach Calendar' +description: '' +required: false +translatable: false +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'Yes' + off_label: 'No' +field_type: boolean diff --git a/config/sync/field.field.node.vba_facility.field_cc_benefit_office_hours_va.yml b/config/sync/field.field.node.vba_facility.field_cc_benefit_office_hours_va.yml new file mode 100644 index 00000000000..b7dae50fe31 --- /dev/null +++ b/config/sync/field.field.node.vba_facility.field_cc_benefit_office_hours_va.yml @@ -0,0 +1,31 @@ +uuid: 1ae9a0b4-0cfb-455d-bb83-a7df049c299d +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_benefit_office_hours_va + - node.type.vba_facility + module: + - entity_field_fetch + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.vba_facility.field_cc_benefit_office_hours_va +field_name: field_cc_benefit_office_hours_va +entity_type: node +bundle: vba_facility +label: 'Benefit office hours may vary' +description: '' +required: false +translatable: false +default_value: + - + value: 0 +default_value_callback: '' +settings: + target_entity_type: node + target_entity_id: '61744' + field_to_fetch: field_content_block + target_paragraph_uuid: 9777245d-83b7-4c9e-aa71-d73065869e39 +field_type: entity_field_fetch diff --git a/config/sync/field.field.node.vba_facility.field_cc_benefits_hotline.yml b/config/sync/field.field.node.vba_facility.field_cc_benefits_hotline.yml new file mode 100644 index 00000000000..743d3f69637 --- /dev/null +++ b/config/sync/field.field.node.vba_facility.field_cc_benefits_hotline.yml @@ -0,0 +1,31 @@ +uuid: 19ea0372-9030-437d-9f0e-2f0cd1592a85 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_benefits_hotline + - node.type.vba_facility + module: + - entity_field_fetch + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.vba_facility.field_cc_benefits_hotline +field_name: field_cc_benefits_hotline +entity_type: node +bundle: vba_facility +label: 'Benefits hotline' +description: '' +required: false +translatable: false +default_value: + - + value: 0 +default_value_callback: '' +settings: + target_entity_type: node + target_entity_id: '61744' + field_to_fetch: field_content_block + target_paragraph_uuid: 9be07ebb-f363-4780-af80-412b38a3b680 +field_type: entity_field_fetch diff --git a/config/sync/field.field.node.vba_facility.field_cc_cant_find_benefits.yml b/config/sync/field.field.node.vba_facility.field_cc_cant_find_benefits.yml new file mode 100644 index 00000000000..c768c6aaf18 --- /dev/null +++ b/config/sync/field.field.node.vba_facility.field_cc_cant_find_benefits.yml @@ -0,0 +1,31 @@ +uuid: 66abc7ce-8bb9-43ee-a472-8762d9f3ea5e +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_cant_find_benefits + - node.type.vba_facility + module: + - entity_field_fetch + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.vba_facility.field_cc_cant_find_benefits +field_name: field_cc_cant_find_benefits +entity_type: node +bundle: vba_facility +label: 'Can''t find benefits' +description: '' +required: false +translatable: false +default_value: + - + value: null +default_value_callback: '' +settings: + target_entity_type: node + target_entity_id: '61744' + field_to_fetch: field_content_block + target_paragraph_uuid: bb9545bd-10e1-41e1-9924-ab07eb3b92fa +field_type: entity_field_fetch diff --git a/config/sync/field.field.node.vba_facility.field_cc_get_updates_from_vba.yml b/config/sync/field.field.node.vba_facility.field_cc_get_updates_from_vba.yml new file mode 100644 index 00000000000..777de4a7dae --- /dev/null +++ b/config/sync/field.field.node.vba_facility.field_cc_get_updates_from_vba.yml @@ -0,0 +1,31 @@ +uuid: 59d1fd68-d695-4e23-ac71-dedc8f890d56 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_get_updates_from_vba + - node.type.vba_facility + module: + - entity_field_fetch + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.vba_facility.field_cc_get_updates_from_vba +field_name: field_cc_get_updates_from_vba +entity_type: node +bundle: vba_facility +label: 'Get updates from VBA' +description: '' +required: false +translatable: false +default_value: + - + value: null +default_value_callback: '' +settings: + target_entity_type: node + target_entity_id: '61744' + field_to_fetch: field_content_block + target_paragraph_uuid: 5bc10434-a9f2-4d39-9fbc-c0b6bbf635d5 +field_type: entity_field_fetch diff --git a/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_1.yml b/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_1.yml new file mode 100644 index 00000000000..6ad92d3722c --- /dev/null +++ b/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_1.yml @@ -0,0 +1,31 @@ +uuid: 0669f9c5-09c8-4f89-85ff-1e02683bf7bf +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_national_spotlight_1 + - node.type.vba_facility + module: + - entity_field_fetch + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.vba_facility.field_cc_national_spotlight_1 +field_name: field_cc_national_spotlight_1 +entity_type: node +bundle: vba_facility +label: 'National spotlight 1' +description: '' +required: false +translatable: false +default_value: + - + value: null +default_value_callback: '' +settings: + target_entity_type: node + target_entity_id: '61744' + field_to_fetch: field_content_block + target_paragraph_uuid: 5d084f72-5c30-46ec-8da9-8b436cf7c5c5 +field_type: entity_field_fetch diff --git a/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_2.yml b/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_2.yml new file mode 100644 index 00000000000..c15a6c70b84 --- /dev/null +++ b/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_2.yml @@ -0,0 +1,31 @@ +uuid: 9d4f24aa-96b0-45ea-8988-82d41cd9209e +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_national_spotlight_2 + - node.type.vba_facility + module: + - entity_field_fetch + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.vba_facility.field_cc_national_spotlight_2 +field_name: field_cc_national_spotlight_2 +entity_type: node +bundle: vba_facility +label: 'National spotlight 2' +description: '' +required: false +translatable: false +default_value: + - + value: null +default_value_callback: '' +settings: + target_entity_type: node + target_entity_id: '61744' + field_to_fetch: field_content_block + target_paragraph_uuid: d517fb97-0f14-4641-bac4-4df87dbb3db7 +field_type: entity_field_fetch diff --git a/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_3.yml b/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_3.yml new file mode 100644 index 00000000000..fd4dae28355 --- /dev/null +++ b/config/sync/field.field.node.vba_facility.field_cc_national_spotlight_3.yml @@ -0,0 +1,31 @@ +uuid: 0ecb8937-f1bf-486f-8480-2739260cba81 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_national_spotlight_3 + - node.type.vba_facility + module: + - entity_field_fetch + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.vba_facility.field_cc_national_spotlight_3 +field_name: field_cc_national_spotlight_3 +entity_type: node +bundle: vba_facility +label: 'National spotlight 3' +description: '' +required: false +translatable: false +default_value: + - + value: null +default_value_callback: '' +settings: + target_entity_type: node + target_entity_id: '61744' + field_to_fetch: field_content_block + target_paragraph_uuid: feba896f-21e5-4714-abca-886333cd396b +field_type: entity_field_fetch diff --git a/config/sync/field.field.node.vba_facility.field_cc_vba_facility_overview.yml b/config/sync/field.field.node.vba_facility.field_cc_vba_facility_overview.yml new file mode 100644 index 00000000000..a3e80da5f58 --- /dev/null +++ b/config/sync/field.field.node.vba_facility.field_cc_vba_facility_overview.yml @@ -0,0 +1,31 @@ +uuid: da3bcfe6-0b50-4ed1-bee7-9256ad6cc8e4 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cc_vba_facility_overview + - node.type.vba_facility + module: + - entity_field_fetch + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.vba_facility.field_cc_vba_facility_overview +field_name: field_cc_vba_facility_overview +entity_type: node +bundle: vba_facility +label: 'Benefit office overview' +description: '' +required: false +translatable: false +default_value: + - + value: 0 +default_value_callback: '' +settings: + target_entity_type: node + target_entity_id: '61744' + field_to_fetch: field_content_block + target_paragraph_uuid: eecd106d-261c-4496-b449-8ce405945f2f +field_type: entity_field_fetch diff --git a/config/sync/field.storage.cm_document.field_diagram.yml b/config/sync/field.storage.cm_document.field_diagram.yml new file mode 100644 index 00000000000..baff4c5e459 --- /dev/null +++ b/config/sync/field.storage.cm_document.field_diagram.yml @@ -0,0 +1,19 @@ +uuid: 10d691fe-9ad9-4d2f-b0a5-01feaad0d29b +langcode: en +status: true +dependencies: + module: + - content_model_documentation + - mermaid_diagram_field +id: cm_document.field_diagram +field_name: field_diagram +entity_type: cm_document +type: mermaid_diagram +settings: { } +module: mermaid_diagram_field +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_cc_benefit_office_hours_va.yml b/config/sync/field.storage.node.field_cc_benefit_office_hours_va.yml new file mode 100644 index 00000000000..8391ae821ae --- /dev/null +++ b/config/sync/field.storage.node.field_cc_benefit_office_hours_va.yml @@ -0,0 +1,19 @@ +uuid: e498836f-4318-435d-9209-f21e71ec8e1c +langcode: en +status: true +dependencies: + module: + - entity_field_fetch + - node +id: node.field_cc_benefit_office_hours_va +field_name: field_cc_benefit_office_hours_va +entity_type: node +type: entity_field_fetch +settings: { } +module: entity_field_fetch +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_cc_benefits_hotline.yml b/config/sync/field.storage.node.field_cc_benefits_hotline.yml new file mode 100644 index 00000000000..ecef1300300 --- /dev/null +++ b/config/sync/field.storage.node.field_cc_benefits_hotline.yml @@ -0,0 +1,19 @@ +uuid: ba766e96-b76f-49e8-b1be-b708e614c2ba +langcode: en +status: true +dependencies: + module: + - entity_field_fetch + - node +id: node.field_cc_benefits_hotline +field_name: field_cc_benefits_hotline +entity_type: node +type: entity_field_fetch +settings: { } +module: entity_field_fetch +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_cc_cant_find_benefits.yml b/config/sync/field.storage.node.field_cc_cant_find_benefits.yml new file mode 100644 index 00000000000..f83f04b45b7 --- /dev/null +++ b/config/sync/field.storage.node.field_cc_cant_find_benefits.yml @@ -0,0 +1,19 @@ +uuid: 8a0e472f-71ac-4a70-b00e-e2be49f74c0b +langcode: en +status: true +dependencies: + module: + - entity_field_fetch + - node +id: node.field_cc_cant_find_benefits +field_name: field_cc_cant_find_benefits +entity_type: node +type: entity_field_fetch +settings: { } +module: entity_field_fetch +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_cc_get_updates_from_vba.yml b/config/sync/field.storage.node.field_cc_get_updates_from_vba.yml new file mode 100644 index 00000000000..71276efcda4 --- /dev/null +++ b/config/sync/field.storage.node.field_cc_get_updates_from_vba.yml @@ -0,0 +1,19 @@ +uuid: aef21d23-3524-4f1e-9129-302868624d15 +langcode: en +status: true +dependencies: + module: + - entity_field_fetch + - node +id: node.field_cc_get_updates_from_vba +field_name: field_cc_get_updates_from_vba +entity_type: node +type: entity_field_fetch +settings: { } +module: entity_field_fetch +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_cc_national_spotlight_1.yml b/config/sync/field.storage.node.field_cc_national_spotlight_1.yml new file mode 100644 index 00000000000..b4fcf25e0ee --- /dev/null +++ b/config/sync/field.storage.node.field_cc_national_spotlight_1.yml @@ -0,0 +1,19 @@ +uuid: c9ab0d0a-77de-4a1c-aac1-e06dd05efc73 +langcode: en +status: true +dependencies: + module: + - entity_field_fetch + - node +id: node.field_cc_national_spotlight_1 +field_name: field_cc_national_spotlight_1 +entity_type: node +type: entity_field_fetch +settings: { } +module: entity_field_fetch +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_cc_national_spotlight_2.yml b/config/sync/field.storage.node.field_cc_national_spotlight_2.yml new file mode 100644 index 00000000000..0ab79c74f0f --- /dev/null +++ b/config/sync/field.storage.node.field_cc_national_spotlight_2.yml @@ -0,0 +1,19 @@ +uuid: 96dd47c1-1bb8-4d2f-8024-6cee5d27da3c +langcode: en +status: true +dependencies: + module: + - entity_field_fetch + - node +id: node.field_cc_national_spotlight_2 +field_name: field_cc_national_spotlight_2 +entity_type: node +type: entity_field_fetch +settings: { } +module: entity_field_fetch +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_cc_national_spotlight_3.yml b/config/sync/field.storage.node.field_cc_national_spotlight_3.yml new file mode 100644 index 00000000000..e8ce890bc3d --- /dev/null +++ b/config/sync/field.storage.node.field_cc_national_spotlight_3.yml @@ -0,0 +1,19 @@ +uuid: 772a9863-0a3d-4d1a-9717-9e7f99eac4f4 +langcode: en +status: true +dependencies: + module: + - entity_field_fetch + - node +id: node.field_cc_national_spotlight_3 +field_name: field_cc_national_spotlight_3 +entity_type: node +type: entity_field_fetch +settings: { } +module: entity_field_fetch +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_cc_vba_facility_overview.yml b/config/sync/field.storage.node.field_cc_vba_facility_overview.yml new file mode 100644 index 00000000000..1bac7b78029 --- /dev/null +++ b/config/sync/field.storage.node.field_cc_vba_facility_overview.yml @@ -0,0 +1,19 @@ +uuid: bf0bab00-060f-4dec-b9a3-eec96b68d873 +langcode: en +status: true +dependencies: + module: + - entity_field_fetch + - node +id: node.field_cc_vba_facility_overview +field_name: field_cc_vba_facility_overview +entity_type: node +type: entity_field_fetch +settings: { } +module: entity_field_fetch +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_listing.yml b/config/sync/field.storage.node.field_listing.yml index bebbf9f95d2..9cdedd46e60 100644 --- a/config/sync/field.storage.node.field_listing.yml +++ b/config/sync/field.storage.node.field_listing.yml @@ -12,7 +12,7 @@ settings: target_type: node module: core locked: false -cardinality: 1 +cardinality: -1 translatable: true indexes: { } persist_with_no_fields: false diff --git a/config/sync/field.storage.node.field_publish_to_outreach_cal.yml b/config/sync/field.storage.node.field_publish_to_outreach_cal.yml new file mode 100644 index 00000000000..760a11b0f32 --- /dev/null +++ b/config/sync/field.storage.node.field_publish_to_outreach_cal.yml @@ -0,0 +1,18 @@ +uuid: ad80a854-7f29-45c1-871a-2d087663f64a +langcode: en +status: true +dependencies: + module: + - node +id: node.field_publish_to_outreach_cal +field_name: field_publish_to_outreach_cal +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false 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 b3a543ceeda..bd3c4f98d78 100644 --- a/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php @@ -2,9 +2,15 @@ namespace Drupal\va_gov_events\EventSubscriber; +use Drupal\Core\Session\AccountInterface; +use Drupal\Core\Session\AccountProxy; use Drupal\Core\StringTranslation\StringTranslationTrait; -use Drupal\Core\StringTranslation\TranslationInterface; +use Drupal\core_event_dispatcher\EntityHookEvents; +use Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent; use Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent; +use Drupal\feature_toggle\FeatureStatus; +use Drupal\node\NodeInterface; +use Drupal\va_gov_user\Service\UserPermsService; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** @@ -14,14 +20,66 @@ class EntityEventSubscriber implements EventSubscriberInterface { use StringTranslationTrait; + /** + * The 'publish to the national outreach calendar' field name. + */ + const PUBLISH_TO_OUTREACH_CAL_FIELD = 'field_publish_to_outreach_cal'; + + /** + * The 'field_listing' field name. + */ + const LISTING_FIELD = 'field_listing'; + + /** + * The National Outreach Calendar node id. + */ + const OUTREACH_CAL_NID = 736; + + /** + * The 'Outreach Hub' Section term id. + */ + const OUTREACH_HUB_TID = 7; + + /** + * The Feature toggle name for outreach checkbox. + */ + const OUTREACH_CHECKBOX_FEATURE_NAME = 'feature_event_outreach_checkbox'; + + /** + * The User Perms Service. + * + * @var \Drupal\va_gov_user\Service\UserPermsService + */ + protected UserPermsService $userPermsService; + + /** + * The current user. + * + * @var \Drupal\Core\Session\AccountInterface + */ + protected AccountInterface $currentUser; + + /** + * TRUE if the outreach checkbox feature toggle is enabled. + * + * @var bool + */ + private bool $outreachCheckboxEnabled; + /** * Constructs the EventSubscriber object. * - * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation - * The string translation service. + * @param \Drupal\va_gov_user\Service\UserPermsService $user_perms_service + * The current user perms service. + * @param \Drupal\Core\Session\AccountProxy $account_proxy + * The account proxy service. + * @param \Drupal\feature_toggle\FeatureStatus $feature_status + * The feature status service. */ - public function __construct(TranslationInterface $string_translation) { - $this->stringTranslation = $string_translation; + public function __construct(UserPermsService $user_perms_service, AccountProxy $account_proxy, FeatureStatus $feature_status) { + $this->userPermsService = $user_perms_service; + $this->currentUser = $account_proxy->getAccount(); + $this->outreachCheckboxEnabled = $feature_status->getStatus(self::OUTREACH_CHECKBOX_FEATURE_NAME); } /** @@ -31,11 +89,41 @@ public static function getSubscribedEvents(): array { return [ 'hook_event_dispatcher.form_node_event_form.alter' => 'alterEventNodeForm', 'hook_event_dispatcher.form_node_event_edit_form.alter' => 'alterEventNodeForm', + EntityHookEvents::ENTITY_PRE_SAVE => 'entityPresave', ]; } /** - * Form alterations for eventcontent type. + * Determines if the current user is an 'Outreach Hub' only user. + * + * @return bool + * TRUE if the current user only has the 'Outreach Hub' section. + */ + protected function outreachHubOnlyUser(): bool { + $sections = $this->userPermsService->getSections($this->currentUser); + if (count($sections) === 1 && array_key_first($sections) === self::OUTREACH_HUB_TID) { + return TRUE; + } + return FALSE; + } + + /** + * Entity presave Event call. + * + * @param \Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent $event + * The event. + * + * @throws \Drupal\Core\TypedData\Exception\MissingDataException + */ + public function entityPresave(EntityPresaveEvent $event): void { + $entity = $event->getEntity(); + if ($entity instanceof NodeInterface) { + $this->addToNationalOutreachCalendar($entity); + } + } + + /** + * Form alterations for event content type. * * @param \Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent $event * The event. @@ -45,6 +133,68 @@ public function alterEventNodeForm(FormIdAlterEvent $event): void { $this->addDisplayManagementToEventFields($form); $this->modifyFormFieldsetElements($form); $this->modifyRecurringEventsWidgetFieldPresentation($form); + $this->modifyAddToOutreachCalendarElements($form); + } + + /** + * Adds the event to the National Outreach Calendar (event_listing). + * + * The purpose of this method is to add the current node event to the National + * Outreach Calendar (an event listing node) if the $listingField + * checkbox/boolean has been set, or if the current user is an Outreach Hub + * user. + * + * @param \Drupal\node\NodeInterface $node + * The node to be modified. + * + * @throws \Drupal\Core\TypedData\Exception\MissingDataException + */ + public function addToNationalOutreachCalendar(NodeInterface $node): void { + if ($node->hasField(self::LISTING_FIELD) && $node->hasField(self::PUBLISH_TO_OUTREACH_CAL_FIELD) && $this->outreachCheckboxEnabled) { + $addToCalValue = $node->get(self::PUBLISH_TO_OUTREACH_CAL_FIELD)->first()->getValue(); + if (isset($addToCalValue['value'])) { + $listings = $node->get(self::LISTING_FIELD)->getValue(); + if ($addToCalValue['value'] === 1 || $this->outreachHubOnlyUser()) { + // Add to Outreach calendar selected, or user is Outreach Hub only + // user. + if (!in_array(self::OUTREACH_CAL_NID, array_column($listings, 'target_id'))) { + $listings[] = [ + 'target_id' => self::OUTREACH_CAL_NID, + ]; + } + } + $node->set(self::LISTING_FIELD, $listings); + } + } + } + + /** + * Form changes for 'Publish to National Outreach Calendar' related elements. + * + * @param array $form + * The form array. + */ + public function modifyAddToOutreachCalendarElements(array &$form) :void { + if ($this->outreachHubOnlyUser() && $this->outreachCheckboxEnabled) { + // Disable the checkbox. + $form[self::PUBLISH_TO_OUTREACH_CAL_FIELD]['#disabled'] = TRUE; + // Set the default value of the checkbox. + $form[self::PUBLISH_TO_OUTREACH_CAL_FIELD]['widget']['value']['#default_value'] = TRUE; + // Override the field label for the checkbox. + $form[self::PUBLISH_TO_OUTREACH_CAL_FIELD]['widget']['value']['#title'] = $this->t('This event will automatically be published to the National Outreach Calendar'); + // Set the default value to the Outreach cal on the dropdown if is not + // already set. + if (empty($form[self::LISTING_FIELD]['widget']['#default_value'])) { + $form[self::LISTING_FIELD]['widget']['#default_value'] = self::OUTREACH_CAL_NID; + } + } + // Add the '- Select a value -' option (_none) since it was removed by + // the Limited Widgets for Unlimited Field module. + if (isset($form[self::LISTING_FIELD]['widget']['#options']) && !array_key_exists('_none', $form[self::LISTING_FIELD]['widget']['#options'])) { + $form[self::LISTING_FIELD]['widget']['#options'] = ['_none' => '- Select a value -'] + $form[self::LISTING_FIELD]['widget']['#options']; + } + // Disable the checkbox element until the feature toggle is on. + $form[self::PUBLISH_TO_OUTREACH_CAL_FIELD]['#access'] = $this->outreachCheckboxEnabled; } /** @@ -53,7 +203,7 @@ public function alterEventNodeForm(FormIdAlterEvent $event): void { * @param array $form * The form. */ - public function modifyRecurringEventsWidgetFieldPresentation(array &$form) { + public function modifyRecurringEventsWidgetFieldPresentation(array &$form): void { // Add our js for toggling items depending on duration choices. $form['#attached']['library'][] = 'va_gov_events/recurring_dates'; @@ -126,7 +276,7 @@ public function modifyRecurringEventsWidgetFieldPresentation(array &$form) { * @param array $form * The form. */ - public function addDisplayManagementToEventFields(array &$form) { + public function addDisplayManagementToEventFields(array &$form): void { $form['#attached']['library'][] = 'va_gov_events/event_form_states_helpers'; } @@ -140,7 +290,7 @@ public function addDisplayManagementToEventFields(array &$form) { * @param array $form * The form. */ - public function modifyFormFieldSetElements(array &$form) { + public function modifyFormFieldSetElements(array &$form): void { // Remove the wrap and title around address widget. $form['field_address']['widget'][0]['#type'] = 'div'; unset($form['field_address']['widget'][0]['#title']); diff --git a/docroot/modules/custom/va_gov_events/va_gov_events.services.yml b/docroot/modules/custom/va_gov_events/va_gov_events.services.yml index df7b43518a3..57e983a8232 100644 --- a/docroot/modules/custom/va_gov_events/va_gov_events.services.yml +++ b/docroot/modules/custom/va_gov_events/va_gov_events.services.yml @@ -1,7 +1,7 @@ services: va_gov_events.entity_event_subscriber: class: Drupal\va_gov_events\EventSubscriber\EntityEventSubscriber - arguments: ['@string_translation'] + arguments: ['@va_gov_user.user_perms', '@current_user', '@feature_toggle.feature_status'] tags: - { name: event_subscriber } va_gov_events.route_subscriber: diff --git a/docroot/themes/custom/vagovclaro/assets/scss/components/_fields.scss b/docroot/themes/custom/vagovclaro/assets/scss/components/_fields.scss index d3ee628d2fb..7bfefb1ef9a 100644 --- a/docroot/themes/custom/vagovclaro/assets/scss/components/_fields.scss +++ b/docroot/themes/custom/vagovclaro/assets/scss/components/_fields.scss @@ -226,3 +226,11 @@ body:not(.role-admin) { .magichead .fieldset__wrapper { margin-left: var(--spacing-xl); } + +#edit-field-publish-to-outreach-cal-wrapper div.form-item--field-publish-to-outreach-cal-value { + margin-left: auto; +} + +#edit-field-publish-to-outreach-cal-wrapper label { + margin-left: var(--spacing-xs); +} diff --git a/scripts/remove-git-dirs.sh b/scripts/remove-git-dirs.sh index d23b9d0adf1..950980a71ce 100755 --- a/scripts/remove-git-dirs.sh +++ b/scripts/remove-git-dirs.sh @@ -13,6 +13,7 @@ find . \ -not \ \( \ -path './docroot/vendor/va-gov/content-build/.git' \ + -or -path './docroot/vendor/va-gov/vets-website/.git' \ \) \ -print \ -exec rm -rf {} + diff --git a/tests/cypress/integration/features/content_type/event.feature b/tests/cypress/integration/features/content_type/event.feature index 6920dce76b6..e229f0d88c1 100644 --- a/tests/cypress/integration/features/content_type/event.feature +++ b/tests/cypress/integration/features/content_type/event.feature @@ -2,8 +2,11 @@ Feature: Content Type: Event Scenario: Log in and create an event. + Given I am logged in as a user with the "administrator" role + When I set the "feature_event_outreach_checkbox" feature toggle to "on" + And I log out Given I am logged in as a user with the "content_admin" role - Then I create a "event" node + And I create a "event" node Scenario: Confirm that event form conditional fields are cleared out if parent options change Given I am logged in as a user with the "content_admin" role @@ -33,63 +36,12 @@ Feature: Content Type: Event And the option "- None -" from dropdown "State" should be selected When I select the "Online" radio button Then an element with the selector "#edit-field-url-of-an-online-event-0-uri" should be empty - # EVENT FORM SPECS - Scenario: Confirm that the default time zone when creating an event is set explicitly to Eastern. - Given I am logged in as a user with the "content_admin" role - When I am at "node/add/event" - Then the element with selector "#edit-field-datetime-range-timezone-0-timezone" should contain "New York" - - Scenario: Confirm that the event form conditional elements are shown or hidden appropriately - Given I am logged in as a user with the "content_admin" role + Scenario: Users who can only publish to National Outreach Calendar do not see the "Publish to the National Outreach Calendar" checkbox + Given I am logged in as a user with the "administrator" role + When I set the "feature_event_outreach_checkbox" feature toggle to "on" + And I log out + Given I am logged in as a user with the roles "office_content_creator, content_publisher" + And my workbench access sections are set to "7" And I am at "node/add/event" - - And I select the "At a VA facility" radio button - Then I should see "Facility location" - And I should see "Building, floor, or room" - And I should not see "Street address" - And I should not see an element with the selector "#edit-field-address-0-address-locality" - And I should not see an element with the selector "#edit-field-address-0-address-administrative-area" - And I should not see "Country" - And I should not see an element with the selector "#edit-field-url-of-an-online-event-0-uri" - - When I select the "At a non-VA location" radio button - Then I should not see "Facility location" - And I should see "Building, floor, or room" - And I should see "Street address" - And I should see an element with the selector "#edit-field-address-0-address-locality" - And I should see an element with the selector "#edit-field-address-0-address-administrative-area" - And I should see "Country" - And I should not see an element with the selector "#edit-field-url-of-an-online-event-0-uri" - - When I select the "Online" radio button - Then I should not see "Facility location" - And I should not see "Building, floor, or room" - And I should not see "Street address" - And I should not see an element with the selector "#edit-field-address-0-address-locality" - And I should not see an element with the selector "#edit-field-address-0-address-administrative-area" - And I should not see "Country" - And I should see an element with the selector "#edit-field-url-of-an-online-event-0-uri" - - # Registration checkbox reveals conditional form elements - When I check the "Include registration information" checkbox - Then "Cost" should be visible - And I should see "Registration is required for this event" - And "Call to action" should be visible - - When I select option "Register" from dropdown "Call to action" - Then I should see an element with the selector "#edit-field-link-0-uri" - And I select option "Apply" from dropdown "Call to action" - Then I should see an element with the selector "#edit-field-link-0-uri" - And I select option "RSVP" from dropdown "Call to action" - Then I should see an element with the selector "#edit-field-link-0-uri" - And I select option "More Details" from dropdown "Call to action" - Then I should see an element with the selector "#edit-field-link-0-uri" - And I select option "- None -" from dropdown "Call to action" - Then I should not see an element with the selector "#edit-field-link-0-uri" - - When I uncheck the "Include registration information" checkbox - Then I should not see "Cost" - And I should not see "Registration is required for this event" - And I should not see "Call to action" - And I should not see an element with the selector "#edit-field-link-0-uri" + Then I should see "This event will automatically be published to the National Outreach Calendar" diff --git a/tests/cypress/integration/features/platform/file_upload.feature b/tests/cypress/integration/features/platform/file_upload.feature deleted file mode 100644 index e3e3cc71a68..00000000000 --- a/tests/cypress/integration/features/platform/file_upload.feature +++ /dev/null @@ -1,11 +0,0 @@ -@file_upload -Feature: Files can be uploaded and attached to nodes successfully - In order to reliably and predictably create content - As anybody involved in the project - I need to be able to upload and attach files to nodes. - - Scenario: We should be able to attach files to event nodes. - Given I am logged in as a user with the "content_admin" role - When I create a "event" node - Then "polygon_image.png" should exist - And an image with the selector 'div.field--name-image a img' should exist diff --git a/tests/cypress/integration/step_definitions/common/i_create_a_node.js b/tests/cypress/integration/step_definitions/common/i_create_a_node.js index d3535e4114a..ff6578e57ac 100644 --- a/tests/cypress/integration/step_definitions/common/i_create_a_node.js +++ b/tests/cypress/integration/step_definitions/common/i_create_a_node.js @@ -244,6 +244,7 @@ const creators = { "VA Alaska health care: Events", { force: true } ); + cy.get("#edit-field-publish-to-outreach-cal-value").check(); cy.findAllByLabelText("Street address").type( faker.address.streetAddress(), { force: true } @@ -279,6 +280,7 @@ const creators = { ).should("exist"); cy.get("form.node-form").find("input#edit-submit").click(); cy.get(".node__content").contains("Sun, Nov 5 2023, 10:00am - 11:00am MST"); + cy.get(".node__content").contains("Outreach events"); cy.scrollTo("top", { ensureScrollable: false }); cy.get(".tabs__tab a").contains("Edit").click({ force: true }); cy.get("#edit-field-datetime-range-timezone-0-manage-instances").click(); diff --git a/tests/cypress/integration/step_definitions/common/i_set_a_feature_toggle.js b/tests/cypress/integration/step_definitions/common/i_set_a_feature_toggle.js new file mode 100644 index 00000000000..3cc671bc62e --- /dev/null +++ b/tests/cypress/integration/step_definitions/common/i_set_a_feature_toggle.js @@ -0,0 +1,14 @@ +import { When } from "@badeball/cypress-cucumber-preprocessor"; + +When("I set the {string} feature toggle to {string}", (featureToggleMachineName, value) => { + let featureToggleAdminUrl = '/admin/config/system/feature_toggle'; + cy.visit(featureToggleAdminUrl); + // check or uncheck the box based on the value of "value". + if (value === "on") { + cy.get(`input[name=${featureToggleMachineName}]`).check({force: true}); + } + if (value === "off") { + cy.get(`input[name=${featureToggleMachineName}]`).uncheck({force: true}); + } + cy.get('#edit-submit').click(); +});