From 8d201f8b783230f845e3e391f26c64f4ae59f222 Mon Sep 17 00:00:00 2001 From: Ryan Koch <6863534+ryguyk@users.noreply.github.com> Date: Tue, 7 Jan 2025 14:00:02 -0600 Subject: [PATCH 1/4] VAGOV-TEAM-94247: Updates content-creation script. (#20221) - Renames script from digital-forms.php to form-builder.php to reflect primary purpose of testing Form Builder. - Adds user creation to script. Creates two users, one with Form Builder access and one without. --- .../{digital-forms.php => form-builder.php} | 55 ++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) rename scripts/content/{digital-forms.php => form-builder.php} (76%) diff --git a/scripts/content/digital-forms.php b/scripts/content/form-builder.php similarity index 76% rename from scripts/content/digital-forms.php rename to scripts/content/form-builder.php index 8fd1569111..d5970958db 100644 --- a/scripts/content/digital-forms.php +++ b/scripts/content/form-builder.php @@ -2,13 +2,21 @@ /** * @file - * Creates Digital Form test data for local and Tugboat environments. + * Creates Form Builder test data for local and Tugboat environments. + * + * 1. Creates Digital Form test nodes: + * - Form 21-4140. + * - Generic form. + * 2. Creates users with and without Form Builder access: + * - User with 'access form builder' perm via 'Form Builder user' role. + * - User without 'access form builder' perm via 'Authenticated user' role. * * !!!! DO NOT RUN ON PROD !!!! */ use Drupal\node\Entity\Node; use Drupal\paragraphs\Entity\Paragraph; +use Drupal\user\Entity\User; require_once __DIR__ . '/script-library.php'; @@ -22,6 +30,7 @@ function run() { exit_if_not_local_or_tugboat($env); create_digital_forms(); + create_users(); } /** @@ -188,3 +197,47 @@ function your_personal_info( return $your_personal_info; } + +/** + * Creates a test user. + * + * @param string $username + * The username of the user. If empty, a unique value is generated. + * @param string $role + * The machine name of the role. Defaults to basic role 'authenticated'. + */ +function create_user($username = NULL, $role = 'authenticated') { + + if (!$username) { + $username = 'user_' . uniqid(); + } + + $existing_user = user_load_by_name($username); + if ($existing_user) { + debug_log_message('User ' . $username . ' already exists. User not created.'); + return; + } + + $user = User::create([ + 'name' => $username, + 'pass' => 'drupal8', + 'mail' => $username . '@example.com', + 'status' => TRUE, + 'roles' => [$role], + ]); + + $user->save(); + + debug_log_message('User ' . $username . ' created with role ' . $role); +} + +/** + * Creates test users with and without Form Builder access. + */ +function create_users() { + // Create a user who does not have Form Builder access. + create_user('test_user_no_form_builder'); + + // Create a user who has Form Builder access. + create_user('test_user_form_builder', 'form_builder_user'); +} From 9891291e44d8d16ca2a3ad3d1196c9c461e87572 Mon Sep 17 00:00:00 2001 From: Christian Burk <766573+omahane@users.noreply.github.com> Date: Tue, 7 Jan 2025 15:14:19 -0600 Subject: [PATCH 2/4] VACMS-19967: Remove phone toggle post migration (#20101) * VACMS-19967: Removes toggle configuration and dependent code * VACMS-19967: Removal of the rest of the code, one hopes * VACMS-19967: Removes constructor, as no longer overridden * VACMS-19967: Removes telephone field from config * Revert "VACMS-19967: Removes telephone field from config" This reverts commit 7e8cad56a940d9a0a587c86260e4b0730f528623. * VACMS-19967: Removes old mental health phone number * Revert "VACMS-19967: Removes old mental health phone number" This reverts commit 80bdbe6dc6b8272c1dcde41f7f2e824e647d1eb2. * VACMS-19967: Updates view to remove old number * VACMS-19667: Removes old phone from staff profile * VACMS-19967: Removes old phone from billing * VACMS-19967: Updates the view and removes the old mental health * VACMS-19967: Removed FeatureStatus form VAMC event subscriber --- ...ode.health_care_local_facility.default.yml | 9 - ...care_local_facility.inline_entity_form.yml | 2 - ...rm_display.node.person_profile.default.yml | 9 - ...node.person_profile.inline_entity_form.yml | 9 - ....vamc_system_billing_insurance.default.yml | 9 - ...ode.health_care_local_facility.default.yml | 9 - ...h_care_local_facility.external_content.yml | 2 - ...e.health_care_local_facility.ief_table.yml | 2 - ...node.health_care_local_facility.teaser.yml | 2 - ...ew_display.node.person_profile.default.yml | 10 - ...iew_display.node.person_profile.teaser.yml | 2 - ....vamc_system_billing_insurance.default.yml | 10 - ..._system_billing_insurance.search_index.yml | 2 - ...e.vamc_system_billing_insurance.teaser.yml | 2 - config/sync/feature_toggle.features.yml | 1 - ...cal_facility.field_mental_health_phone.yml | 25 -- ...node.person_profile.field_phone_number.yml | 21 -- ...m_billing_insurance.field_phone_number.yml | 21 -- ...storage.node.field_mental_health_phone.yml | 19 -- .../sync/views.view.rich_text_field_audit.yml | 227 ++---------------- .../src/Service/PostFacilityStatus.php | 58 +---- .../va_gov_post_api.services.yml | 2 +- .../EventSubscriber/EntityEventSubscriber.php | 66 ----- .../va_gov_profile.services.yml | 2 +- .../VAMCEntityEventSubscriber.php | 67 ------ 25 files changed, 39 insertions(+), 549 deletions(-) delete mode 100644 config/sync/field.field.node.health_care_local_facility.field_mental_health_phone.yml delete mode 100644 config/sync/field.field.node.person_profile.field_phone_number.yml delete mode 100644 config/sync/field.field.node.vamc_system_billing_insurance.field_phone_number.yml delete mode 100644 config/sync/field.storage.node.field_mental_health_phone.yml diff --git a/config/sync/core.entity_form_display.node.health_care_local_facility.default.yml b/config/sync/core.entity_form_display.node.health_care_local_facility.default.yml index b09a71535b..b306b415f8 100644 --- a/config/sync/core.entity_form_display.node.health_care_local_facility.default.yml +++ b/config/sync/core.entity_form_display.node.health_care_local_facility.default.yml @@ -15,7 +15,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile - field.field.node.health_care_local_facility.field_office_hours @@ -37,7 +36,6 @@ dependencies: - media_library - office_hours - paragraphs - - paragraphs_features - path - telephone - textfield_counter @@ -335,13 +333,6 @@ content: settings: media_types: { } third_party_settings: { } - field_mental_health_phone: - type: telephone_default - weight: 21 - region: content - settings: - placeholder: '' - third_party_settings: { } field_mobile: type: boolean_checkbox weight: 26 diff --git a/config/sync/core.entity_form_display.node.health_care_local_facility.inline_entity_form.yml b/config/sync/core.entity_form_display.node.health_care_local_facility.inline_entity_form.yml index e8ea110334..c3a08b8249 100644 --- a/config/sync/core.entity_form_display.node.health_care_local_facility.inline_entity_form.yml +++ b/config/sync/core.entity_form_display.node.health_care_local_facility.inline_entity_form.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile - field.field.node.health_care_local_facility.field_office_hours @@ -152,7 +151,6 @@ hidden: field_location_services: true field_main_location: true field_media: true - field_mental_health_phone: true field_meta_tags: true field_mobile: true field_office_hours: true diff --git a/config/sync/core.entity_form_display.node.person_profile.default.yml b/config/sync/core.entity_form_display.node.person_profile.default.yml index 1bc01b2277..f95eff6778 100644 --- a/config/sync/core.entity_form_display.node.person_profile.default.yml +++ b/config/sync/core.entity_form_display.node.person_profile.default.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.person_profile.field_meta_tags - field.field.node.person_profile.field_name_first - field.field.node.person_profile.field_office - - field.field.node.person_profile.field_phone_number - field.field.node.person_profile.field_photo_allow_hires_download - field.field.node.person_profile.field_suffix - field.field.node.person_profile.field_telephone @@ -29,7 +28,6 @@ dependencies: - media_library - paragraphs - path - - telephone - text - textfield_counter third_party_settings: @@ -251,13 +249,6 @@ content: region: content settings: { } third_party_settings: { } - field_phone_number: - type: telephone_default - weight: 7 - region: content - settings: - placeholder: '' - third_party_settings: { } field_photo_allow_hires_download: type: boolean_checkbox weight: 7 diff --git a/config/sync/core.entity_form_display.node.person_profile.inline_entity_form.yml b/config/sync/core.entity_form_display.node.person_profile.inline_entity_form.yml index 4920f18e2b..2145a68d7a 100644 --- a/config/sync/core.entity_form_display.node.person_profile.inline_entity_form.yml +++ b/config/sync/core.entity_form_display.node.person_profile.inline_entity_form.yml @@ -17,7 +17,6 @@ dependencies: - field.field.node.person_profile.field_meta_tags - field.field.node.person_profile.field_name_first - field.field.node.person_profile.field_office - - field.field.node.person_profile.field_phone_number - field.field.node.person_profile.field_photo_allow_hires_download - field.field.node.person_profile.field_suffix - field.field.node.person_profile.field_telephone @@ -26,7 +25,6 @@ dependencies: - field_group - media_library - paragraphs - - telephone - text third_party_settings: field_group: @@ -201,13 +199,6 @@ content: size: 60 placeholder: '' third_party_settings: { } - field_phone_number: - type: telephone_default - weight: 7 - region: content - settings: - placeholder: '' - third_party_settings: { } field_photo_allow_hires_download: type: boolean_checkbox weight: 5 diff --git a/config/sync/core.entity_form_display.node.vamc_system_billing_insurance.default.yml b/config/sync/core.entity_form_display.node.vamc_system_billing_insurance.default.yml index 0d2243732e..8087bec335 100644 --- a/config/sync/core.entity_form_display.node.vamc_system_billing_insurance.default.yml +++ b/config/sync/core.entity_form_display.node.vamc_system_billing_insurance.default.yml @@ -14,7 +14,6 @@ dependencies: - field.field.node.vamc_system_billing_insurance.field_non_clinical_services - field.field.node.vamc_system_billing_insurance.field_office - field.field.node.vamc_system_billing_insurance.field_office_hours - - field.field.node.vamc_system_billing_insurance.field_phone_number - field.field.node.vamc_system_billing_insurance.field_service_name_and_descripti - field.field.node.vamc_system_billing_insurance.field_telephone - node.type.vamc_system_billing_insurance @@ -26,7 +25,6 @@ dependencies: - field_group - office_hours - paragraphs - - telephone - viewfield third_party_settings: field_group: @@ -242,13 +240,6 @@ content: settings: collapsed: false third_party_settings: { } - field_phone_number: - type: telephone_default - weight: 10 - region: content - settings: - placeholder: '' - third_party_settings: { } field_telephone: type: entity_reference_paragraphs weight: 11 diff --git a/config/sync/core.entity_view_display.node.health_care_local_facility.default.yml b/config/sync/core.entity_view_display.node.health_care_local_facility.default.yml index 7882b68f4f..a153f374d0 100644 --- a/config/sync/core.entity_view_display.node.health_care_local_facility.default.yml +++ b/config/sync/core.entity_view_display.node.health_care_local_facility.default.yml @@ -15,7 +15,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile - field.field.node.health_care_local_facility.field_office_hours @@ -202,14 +201,6 @@ content: third_party_settings: { } weight: 0 region: content - field_mental_health_phone: - type: telephone_link - label: inline - settings: - title: '' - third_party_settings: { } - weight: 19 - region: content field_mobile: type: boolean label: inline diff --git a/config/sync/core.entity_view_display.node.health_care_local_facility.external_content.yml b/config/sync/core.entity_view_display.node.health_care_local_facility.external_content.yml index 063f055861..034d4426df 100644 --- a/config/sync/core.entity_view_display.node.health_care_local_facility.external_content.yml +++ b/config/sync/core.entity_view_display.node.health_care_local_facility.external_content.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile - field.field.node.health_care_local_facility.field_office_hours @@ -267,7 +266,6 @@ hidden: field_location_services: true field_main_location: true field_media: true - field_mental_health_phone: true field_meta_tags: true field_meta_title: true field_operating_status_facility: true diff --git a/config/sync/core.entity_view_display.node.health_care_local_facility.ief_table.yml b/config/sync/core.entity_view_display.node.health_care_local_facility.ief_table.yml index 81891d2b24..32ac805697 100644 --- a/config/sync/core.entity_view_display.node.health_care_local_facility.ief_table.yml +++ b/config/sync/core.entity_view_display.node.health_care_local_facility.ief_table.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile - field.field.node.health_care_local_facility.field_office_hours @@ -120,7 +119,6 @@ hidden: field_local_health_care_service_: true field_location_services: true field_main_location: true - field_mental_health_phone: true field_meta_tags: true field_mobile: true field_office_hours: true diff --git a/config/sync/core.entity_view_display.node.health_care_local_facility.teaser.yml b/config/sync/core.entity_view_display.node.health_care_local_facility.teaser.yml index 222770f668..b5e4c489c4 100644 --- a/config/sync/core.entity_view_display.node.health_care_local_facility.teaser.yml +++ b/config/sync/core.entity_view_display.node.health_care_local_facility.teaser.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.health_care_local_facility.field_location_services - field.field.node.health_care_local_facility.field_main_location - field.field.node.health_care_local_facility.field_media - - field.field.node.health_care_local_facility.field_mental_health_phone - field.field.node.health_care_local_facility.field_meta_tags - field.field.node.health_care_local_facility.field_mobile - field.field.node.health_care_local_facility.field_office_hours @@ -96,7 +95,6 @@ hidden: field_location_services: true field_main_location: true field_media: true - field_mental_health_phone: true field_meta_tags: true field_mobile: true field_office_hours: true diff --git a/config/sync/core.entity_view_display.node.person_profile.default.yml b/config/sync/core.entity_view_display.node.person_profile.default.yml index c583bf5042..017b8038c7 100644 --- a/config/sync/core.entity_view_display.node.person_profile.default.yml +++ b/config/sync/core.entity_view_display.node.person_profile.default.yml @@ -16,7 +16,6 @@ dependencies: - field.field.node.person_profile.field_meta_tags - field.field.node.person_profile.field_name_first - field.field.node.person_profile.field_office - - field.field.node.person_profile.field_phone_number - field.field.node.person_profile.field_photo_allow_hires_download - field.field.node.person_profile.field_suffix - field.field.node.person_profile.field_telephone @@ -27,7 +26,6 @@ dependencies: - field_group - file - media - - telephone - text - user third_party_settings: @@ -122,14 +120,6 @@ content: third_party_settings: { } weight: 1 region: content - field_phone_number: - type: telephone_link - label: above - settings: - title: '' - third_party_settings: { } - weight: 7 - region: content field_suffix: type: string label: above diff --git a/config/sync/core.entity_view_display.node.person_profile.teaser.yml b/config/sync/core.entity_view_display.node.person_profile.teaser.yml index 02c6fe8f16..e381472192 100644 --- a/config/sync/core.entity_view_display.node.person_profile.teaser.yml +++ b/config/sync/core.entity_view_display.node.person_profile.teaser.yml @@ -17,7 +17,6 @@ dependencies: - field.field.node.person_profile.field_meta_tags - field.field.node.person_profile.field_name_first - field.field.node.person_profile.field_office - - field.field.node.person_profile.field_phone_number - field.field.node.person_profile.field_photo_allow_hires_download - field.field.node.person_profile.field_suffix - field.field.node.person_profile.field_telephone @@ -50,7 +49,6 @@ hidden: field_meta_tags: true field_name_first: true field_office: true - field_phone_number: true field_photo_allow_hires_download: true field_region_page: true field_suffix: true 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 823bf69b33..5d11d786ef 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 @@ -14,7 +14,6 @@ dependencies: - field.field.node.vamc_system_billing_insurance.field_non_clinical_services - field.field.node.vamc_system_billing_insurance.field_office - field.field.node.vamc_system_billing_insurance.field_office_hours - - field.field.node.vamc_system_billing_insurance.field_phone_number - field.field.node.vamc_system_billing_insurance.field_service_name_and_descripti - field.field.node.vamc_system_billing_insurance.field_telephone - node.type.vamc_system_billing_insurance @@ -24,7 +23,6 @@ dependencies: - entity_reference_revisions - field_group - office_hours - - telephone - user - viewfield third_party_settings: @@ -188,14 +186,6 @@ content: third_party_settings: { } weight: 2 region: content - field_phone_number: - type: telephone_link - label: above - settings: - title: '' - third_party_settings: { } - weight: 0 - region: content field_telephone: type: entity_reference_revisions_entity_view label: above diff --git a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml index 5b3d5e3dc6..8f3502144c 100644 --- a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml +++ b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.search_index.yml @@ -15,7 +15,6 @@ dependencies: - field.field.node.vamc_system_billing_insurance.field_non_clinical_services - field.field.node.vamc_system_billing_insurance.field_office - field.field.node.vamc_system_billing_insurance.field_office_hours - - field.field.node.vamc_system_billing_insurance.field_phone_number - field.field.node.vamc_system_billing_insurance.field_service_name_and_descripti - field.field.node.vamc_system_billing_insurance.field_telephone - node.type.vamc_system_billing_insurance @@ -194,7 +193,6 @@ hidden: field_enforce_unique_combo_offic: true field_last_saved_by_an_editor: true field_office: true - field_phone_number: true field_service_name_and_descripti: true langcode: true search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.teaser.yml b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.teaser.yml index 4f1759fc5a..5a02b02514 100644 --- a/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.teaser.yml +++ b/config/sync/core.entity_view_display.node.vamc_system_billing_insurance.teaser.yml @@ -15,7 +15,6 @@ dependencies: - field.field.node.vamc_system_billing_insurance.field_non_clinical_services - field.field.node.vamc_system_billing_insurance.field_office - field.field.node.vamc_system_billing_insurance.field_office_hours - - field.field.node.vamc_system_billing_insurance.field_phone_number - field.field.node.vamc_system_billing_insurance.field_service_name_and_descripti - field.field.node.vamc_system_billing_insurance.field_telephone - node.type.vamc_system_billing_insurance @@ -59,7 +58,6 @@ hidden: field_non_clinical_services: true field_office: true field_office_hours: true - field_phone_number: true field_service_name_and_descripti: true field_telephone: true langcode: true diff --git a/config/sync/feature_toggle.features.yml b/config/sync/feature_toggle.features.yml index 4e57ae8345..55526632ee 100644 --- a/config/sync/feature_toggle.features.yml +++ b/config/sync/feature_toggle.features.yml @@ -59,5 +59,4 @@ features: feature_next_build_content_vha_facility_nonclinical_service: FEATURE_NEXT_BUILD_CONTENT_VHA_FACILITY_NONCLINICAL_SERVICE feature_next_build_content_vet_center_mobile_vet_center: FEATURE_NEXT_BUILD_CONTENT_VET_CENTER_MOBILE_VET_CENTER feature_next_build_content_vet_center_outstation: FEATURE_NEXT_BUILD_CONTENT_VET_CENTER_OUTSTATION - feature_telephone_migration_v1: FEATURE_TELEPHONE_MIGRATION_V1 feature_banner_use_alternative_banners: FEATURE_BANNER_USE_ALTERNATIVE_BANNERS diff --git a/config/sync/field.field.node.health_care_local_facility.field_mental_health_phone.yml b/config/sync/field.field.node.health_care_local_facility.field_mental_health_phone.yml deleted file mode 100644 index ff107baf8e..0000000000 --- a/config/sync/field.field.node.health_care_local_facility.field_mental_health_phone.yml +++ /dev/null @@ -1,25 +0,0 @@ -uuid: 656f6da0-b259-4b9c-869c-c80b82ef0d8a -langcode: en -status: true -dependencies: - config: - - field.storage.node.field_mental_health_phone - - node.type.health_care_local_facility - module: - - telephone - - tmgmt_content -third_party_settings: - tmgmt_content: - excluded: false -id: node.health_care_local_facility.field_mental_health_phone -field_name: field_mental_health_phone -entity_type: node -bundle: health_care_local_facility -label: 'Mental health phone number' -description: '' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: telephone diff --git a/config/sync/field.field.node.person_profile.field_phone_number.yml b/config/sync/field.field.node.person_profile.field_phone_number.yml deleted file mode 100644 index 7328f1b688..0000000000 --- a/config/sync/field.field.node.person_profile.field_phone_number.yml +++ /dev/null @@ -1,21 +0,0 @@ -uuid: cf0a6431-a140-4b1e-9163-63aa66793fb7 -langcode: en -status: true -dependencies: - config: - - field.storage.node.field_phone_number - - node.type.person_profile - module: - - telephone -id: node.person_profile.field_phone_number -field_name: field_phone_number -entity_type: node -bundle: person_profile -label: 'Phone Number' -description: '' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: telephone diff --git a/config/sync/field.field.node.vamc_system_billing_insurance.field_phone_number.yml b/config/sync/field.field.node.vamc_system_billing_insurance.field_phone_number.yml deleted file mode 100644 index 18b1be8450..0000000000 --- a/config/sync/field.field.node.vamc_system_billing_insurance.field_phone_number.yml +++ /dev/null @@ -1,21 +0,0 @@ -uuid: 2db88d6d-a01f-40a9-9e5b-406ee788db4c -langcode: en -status: true -dependencies: - config: - - field.storage.node.field_phone_number - - node.type.vamc_system_billing_insurance - module: - - telephone -id: node.vamc_system_billing_insurance.field_phone_number -field_name: field_phone_number -entity_type: node -bundle: vamc_system_billing_insurance -label: 'Phone number' -description: 'Format: 800-983-0932' -required: false -translatable: false -default_value: { } -default_value_callback: '' -settings: { } -field_type: telephone diff --git a/config/sync/field.storage.node.field_mental_health_phone.yml b/config/sync/field.storage.node.field_mental_health_phone.yml deleted file mode 100644 index ad6c5f0969..0000000000 --- a/config/sync/field.storage.node.field_mental_health_phone.yml +++ /dev/null @@ -1,19 +0,0 @@ -uuid: ee0ed02d-ae8d-4e48-b1b8-d94ac4f97522 -langcode: en -status: true -dependencies: - module: - - node - - telephone -id: node.field_mental_health_phone -field_name: field_mental_health_phone -entity_type: node -type: telephone -settings: { } -module: telephone -locked: false -cardinality: 1 -translatable: true -indexes: { } -persist_with_no_fields: false -custom_storage: false diff --git a/config/sync/views.view.rich_text_field_audit.yml b/config/sync/views.view.rich_text_field_audit.yml index a82599e520..254976bfed 100644 --- a/config/sync/views.view.rich_text_field_audit.yml +++ b/config/sync/views.view.rich_text_field_audit.yml @@ -9,7 +9,6 @@ dependencies: - field.storage.node.field_banner_alert_situationinfo - field.storage.node.field_content_block - field.storage.node.field_full_story - - field.storage.node.field_mental_health_phone - field.storage.node.field_phone_number - field.storage.node.field_press_release_blurb - field.storage.node.field_press_release_fulltext @@ -4036,69 +4035,6 @@ display: multi_type: separator separator: ', ' field_api_classes: false - field_mental_health_phone: - id: field_mental_health_phone - table: node__field_mental_health_phone - field: field_mental_health_phone - relationship: none - group_type: group - admin_label: '' - plugin_id: field - label: 'Mental Health Phone (old)' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: telephone_link - settings: - title: '' - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false field_va_health_connect_phone: id: field_va_health_connect_phone table: node__field_va_health_connect_phone @@ -4577,6 +4513,7 @@ display: content_creator_resources_and_support: '0' office_content_creator: '0' vamc_content_creator: '0' + content_creator_vba: '0' content_creator_vet_center: '0' content_editor: '0' content_reviewer: '0' @@ -4585,6 +4522,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' + homepage_manager: '0' + next_js: '0' + translation_manager: '0' + rates_editor: '0' placeholder: '' is_grouped: false group_info: @@ -4600,8 +4541,9 @@ display: group_items: { } fields: field_phone_number: field_phone_number - field_mental_health_phone: field_mental_health_phone field_va_health_connect_phone: field_va_health_connect_phone + field_phone_extension: field_phone_extension + field_phone_number_1: field_phone_number_1 filter_groups: operator: AND groups: @@ -4621,8 +4563,9 @@ display: moderation_state: moderation_state field_administration: field_administration field_phone_number: field_phone_number - field_mental_health_phone: field_mental_health_phone field_va_health_connect_phone: field_va_health_connect_phone + field_phone_extension: field_phone_extension + field_phone_number_1: field_phone_number_1 default: '-1' info: title: @@ -4675,21 +4618,28 @@ display: empty_column: false responsive: '' field_phone_number: - sortable: false + sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_mental_health_phone: - sortable: false + field_va_health_connect_phone: + sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_va_health_connect_phone: - sortable: false + field_phone_extension: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_phone_number_1: + sortable: true default_sort_order: asc align: '' separator: '' @@ -4753,7 +4703,6 @@ display: - user.roles tags: - 'config:field.storage.node.field_administration' - - 'config:field.storage.node.field_mental_health_phone' - 'config:field.storage.node.field_phone_number' - 'config:field.storage.node.field_va_health_connect_phone' - 'config:field.storage.paragraph.field_phone_extension' @@ -5263,69 +5212,6 @@ display: multi_type: separator separator: ', ' field_api_classes: false - field_mental_health_phone: - id: field_mental_health_phone - table: node__field_mental_health_phone - field: field_mental_health_phone - relationship: none - group_type: group - admin_label: '' - plugin_id: field - label: 'Mental Health Phone (old)' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: telephone_link - settings: - title: '' - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false field_va_health_connect_phone: id: field_va_health_connect_phone table: node__field_va_health_connect_phone @@ -6156,7 +6042,6 @@ display: - user.roles tags: - 'config:field.storage.node.field_administration' - - 'config:field.storage.node.field_mental_health_phone' - 'config:field.storage.node.field_phone_number' - 'config:field.storage.node.field_va_health_connect_phone' - 'config:field.storage.paragraph.field_phone_extension' @@ -6666,69 +6551,6 @@ display: multi_type: separator separator: ', ' field_api_classes: false - field_mental_health_phone: - id: field_mental_health_phone - table: node__field_mental_health_phone - field: field_mental_health_phone - relationship: none - group_type: group - admin_label: '' - plugin_id: field - label: 'Mental Health Phone (old)' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: telephone_link - settings: - title: '' - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false field_va_health_connect_phone: id: field_va_health_connect_phone table: node__field_va_health_connect_phone @@ -7207,6 +7029,7 @@ display: content_creator_resources_and_support: '0' office_content_creator: '0' vamc_content_creator: '0' + content_creator_vba: '0' content_creator_vet_center: '0' content_editor: '0' content_reviewer: '0' @@ -7215,6 +7038,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' + homepage_manager: '0' + next_js: '0' + translation_manager: '0' + rates_editor: '0' placeholder: '' is_grouped: false group_info: @@ -7230,7 +7057,6 @@ display: group_items: { } fields: field_phone_number: field_phone_number - field_mental_health_phone: field_mental_health_phone field_va_health_connect_phone: field_va_health_connect_phone filter_groups: operator: AND @@ -7335,7 +7161,6 @@ display: - user.roles tags: - 'config:field.storage.node.field_administration' - - 'config:field.storage.node.field_mental_health_phone' - 'config:field.storage.node.field_phone_number' - 'config:field.storage.node.field_va_health_connect_phone' - 'config:field.storage.paragraph.field_phone_extension' diff --git a/docroot/modules/custom/va_gov_post_api/src/Service/PostFacilityStatus.php b/docroot/modules/custom/va_gov_post_api/src/Service/PostFacilityStatus.php index 79b29636df..d7bea2f0ec 100644 --- a/docroot/modules/custom/va_gov_post_api/src/Service/PostFacilityStatus.php +++ b/docroot/modules/custom/va_gov_post_api/src/Service/PostFacilityStatus.php @@ -7,7 +7,6 @@ use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Logger\LoggerChannelFactoryInterface; use Drupal\Core\Messenger\MessengerInterface; -use Drupal\feature_toggle\FeatureStatus; use Drupal\node\NodeInterface; use Drupal\post_api\Service\AddToQueue; use Drupal\va_gov_facilities\FacilityOps; @@ -46,34 +45,6 @@ class PostFacilityStatus extends PostFacilityBase implements PostServiceInterfac */ protected $additionalInfoToPush; - /** - * Feature Toggle status service. - * - * @var \Drupal\feature_toggle\FeatureStatus - */ - private FeatureStatus $featureStatus; - - /** - * Constructs a new PostFacilityStatus service object. - * - * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory - * The config factory service. - * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager - * The entity type manager service. - * @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger_channel_factory - * The logger factory service. - * @param \Drupal\Core\Messenger\MessengerInterface $messenger - * The messenger interface. - * @param \Drupal\post_api\Service\AddToQueue $post_queue - * The PostAPI service. - * @param \Drupal\feature_toggle\FeatureStatus $feature_status - * The Feature Status service. - */ - public function __construct(ConfigFactoryInterface $config_factory, EntityTypeManagerInterface $entity_type_manager, LoggerChannelFactoryInterface $logger_channel_factory, MessengerInterface $messenger, AddToQueue $post_queue, FeatureStatus $feature_status) { - parent::__construct($config_factory, $entity_type_manager, $logger_channel_factory, $messenger, $post_queue); - $this->featureStatus = $feature_status; - } - /** * Adds facility service data to Post API queue. * @@ -448,25 +419,18 @@ protected function shouldPushSystem(NodeInterface $entity) { * The mental health phone number. */ protected function getFacilityMentalHealthPhone(): string { - $status = $this->featureStatus->getStatus('feature_telephone_migration_v1'); - // Return the original phone until the feature toggle is turned on. - if (!$status) { - return $this->getFieldSafe('field_mental_health_phone'); + if (!$this->facilityNode->hasField('field_telephone')) { + return ''; } - else { - if (!$this->facilityNode->hasField('field_telephone')) { - return ''; - } - $telephone_paragraph_id = $this->facilityNode->get('field_telephone')->target_id; - if (empty($telephone_paragraph_id)) { - return ''; - } - $telephone_paragraph = $this->entityTypeManager->getStorage('paragraph')->load($telephone_paragraph_id); - $mental_health_phone = $telephone_paragraph->get('field_phone_number')->value ?? ''; - $mental_health_extension = $telephone_paragraph->get('field_phone_extension')->value ?? ''; - if (!empty($mental_health_extension)) { - $mental_health_phone .= ', ext. ' . $mental_health_extension; - } + $telephone_paragraph_id = $this->facilityNode->get('field_telephone')->target_id; + if (empty($telephone_paragraph_id)) { + return ''; + } + $telephone_paragraph = $this->entityTypeManager->getStorage('paragraph')->load($telephone_paragraph_id); + $mental_health_phone = $telephone_paragraph->get('field_phone_number')->value ?? ''; + $mental_health_extension = $telephone_paragraph->get('field_phone_extension')->value ?? ''; + if (!empty($mental_health_extension)) { + $mental_health_phone .= ', ext. ' . $mental_health_extension; } return $mental_health_phone; diff --git a/docroot/modules/custom/va_gov_post_api/va_gov_post_api.services.yml b/docroot/modules/custom/va_gov_post_api/va_gov_post_api.services.yml index 68508a63ca..d02a179010 100644 --- a/docroot/modules/custom/va_gov_post_api/va_gov_post_api.services.yml +++ b/docroot/modules/custom/va_gov_post_api/va_gov_post_api.services.yml @@ -18,7 +18,7 @@ services: arguments: ['@config.factory', '@entity_type.manager', '@logger.factory', '@messenger', '@post_api.add_to_queue', '@renderer', '@file_system', '@file.repository'] va_gov_post_api.queue_facility_status_updates: class: '\Drupal\va_gov_post_api\Service\PostFacilityStatus' - arguments: ['@config.factory', '@entity_type.manager', '@logger.factory', '@messenger', '@post_api.add_to_queue', '@feature_toggle.feature_status'] + arguments: ['@config.factory', '@entity_type.manager', '@logger.factory', '@messenger', '@post_api.add_to_queue'] va_gov_post_api.queue_facility_without_status_updates: class: '\Drupal\va_gov_post_api\Service\PostFacilityWithoutStatus' arguments: ['@config.factory', '@entity_type.manager', '@logger.factory', '@messenger', '@post_api.add_to_queue'] diff --git a/docroot/modules/custom/va_gov_profile/src/EventSubscriber/EntityEventSubscriber.php b/docroot/modules/custom/va_gov_profile/src/EventSubscriber/EntityEventSubscriber.php index 5ef80b7419..1154f86511 100644 --- a/docroot/modules/custom/va_gov_profile/src/EventSubscriber/EntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_profile/src/EventSubscriber/EntityEventSubscriber.php @@ -6,9 +6,7 @@ use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\core_event_dispatcher\EntityHookEvents; use Drupal\core_event_dispatcher\Event\Entity\EntityTypeAlterEvent; -use Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent; use Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent; -use Drupal\feature_toggle\FeatureStatus; use Drupal\va_gov_user\Service\UserPermsService; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -33,13 +31,6 @@ class EntityEventSubscriber implements EventSubscriberInterface { */ private $entityTypeManager; - /** - * Feature Toggle status service. - * - * @var \Drupal\feature_toggle\FeatureStatus - */ - private FeatureStatus $featureStatus; - /** * Constructs the EventSubscriber object. * @@ -47,17 +38,13 @@ class EntityEventSubscriber implements EventSubscriberInterface { * The current user perms service. * @param \Drupal\Core\Entity\EntityTypeManager $entity_type_manager * The entity type manager service. - * @param \Drupal\feature_toggle\FeatureStatus $feature_status - * The Feature Status service. */ public function __construct( UserPermsService $user_perms_service, EntityTypeManager $entity_type_manager, - FeatureStatus $feature_status, ) { $this->userPermsService = $user_perms_service; $this->entityTypeManager = $entity_type_manager; - $this->featureStatus = $feature_status; } /** @@ -68,7 +55,6 @@ public static function getSubscribedEvents(): array { 'hook_event_dispatcher.form_node_person_profile_edit_form.alter' => 'alterStaffProfileNodeForm', 'hook_event_dispatcher.form_node_person_profile_form.alter' => 'alterStaffProfileNodeForm', EntityHookEvents::ENTITY_TYPE_ALTER => 'entityTypeAlter', - EntityHookEvents::ENTITY_VIEW_ALTER => 'entityViewAlter', ]; } @@ -86,38 +72,6 @@ public function entityTypeAlter(EntityTypeAlterEvent $event): void { } } - /** - * Alteration to entity view pages. - * - * @param \Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent $event - * The entity view alter service. - */ - public function entityViewAlter(EntityViewAlterEvent $event):void { - $this->showRenderedTelephone($event); - } - - /** - * Show the correct telephone field based on feature toggle for VACMS-17854. - * - * @param \Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent $event - * The entity view alter event. - */ - private function showRenderedTelephone(EntityViewAlterEvent $event) { - if ($event->getDisplay()->getTargetBundle() !== 'person_profile') { - return; - } - $build = &$event->getBuild(); - $status = $this->featureStatus->getStatus('feature_telephone_migration_v1'); - if ($status) { - // Hide the old telephone field, and, thereby, show the new one. - unset($build['field_phone_number']); - } - else { - // Hide the new telephone field, and, thereby, show the old one. - unset($build['field_telephone']); - } - } - /** * Form alterations for staff profile content type. * @@ -127,7 +81,6 @@ private function showRenderedTelephone(EntityViewAlterEvent $event) { public function alterstaffProfileNodeForm(FormIdAlterEvent $event): void { $this->addStateManagementToBioFields($event); $this->removePhoneLabel($event); - $this->showTelephone($event); } /** @@ -178,25 +131,6 @@ public function addStateManagementToBioFields(FormIdAlterEvent $event) { ]; } - /** - * Show the correct telephone field based on feature toggle for VACMS-17854. - * - * @param \Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent $event - * The form event. - */ - private function showTelephone($event) { - $form = &$event->getForm(); - $status = $this->featureStatus->getStatus('feature_telephone_migration_v1'); - if ($status) { - // Hide the old telephone field, and, thereby, show the new one. - unset($form['field_phone_number']); - } - else { - // Hide the new telephone field, and, thereby, show the old one. - unset($form['field_telephone']); - } - } - /** * Removes the phone label on staff profile content type forms. * diff --git a/docroot/modules/custom/va_gov_profile/va_gov_profile.services.yml b/docroot/modules/custom/va_gov_profile/va_gov_profile.services.yml index 2eec79c038..7669c4f026 100644 --- a/docroot/modules/custom/va_gov_profile/va_gov_profile.services.yml +++ b/docroot/modules/custom/va_gov_profile/va_gov_profile.services.yml @@ -1,6 +1,6 @@ services: va_gov_profile.entity_event_subscriber: class: Drupal\va_gov_profile\EventSubscriber\EntityEventSubscriber - arguments: ['@va_gov_user.user_perms', '@entity_type.manager', '@feature_toggle.feature_status'] + arguments: ['@va_gov_user.user_perms', '@entity_type.manager'] tags: - { name: event_subscriber } diff --git a/docroot/modules/custom/va_gov_vamc/src/EventSubscriber/VAMCEntityEventSubscriber.php b/docroot/modules/custom/va_gov_vamc/src/EventSubscriber/VAMCEntityEventSubscriber.php index c7ca5fe537..a0692f184f 100644 --- a/docroot/modules/custom/va_gov_vamc/src/EventSubscriber/VAMCEntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_vamc/src/EventSubscriber/VAMCEntityEventSubscriber.php @@ -13,7 +13,6 @@ use Drupal\core_event_dispatcher\Event\Entity\EntityUpdateEvent; use Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent; use Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent; -use Drupal\feature_toggle\FeatureStatus; use Drupal\node\NodeInterface; use Drupal\va_gov_notifications\Service\NotificationsManager; use Drupal\va_gov_user\Service\UserPermsService; @@ -106,13 +105,6 @@ public static function getSubscribedEvents(): array { */ protected $userPermsService; - /** - * Feature Toggle status service. - * - * @var \Drupal\feature_toggle\FeatureStatus - */ - private FeatureStatus $featureStatus; - /** * Constructs the EventSubscriber object. * @@ -128,8 +120,6 @@ public static function getSubscribedEvents(): array { * The deduper service. * @param \Drupal\va_gov_notifications\Service\NotificationsManager $notifications_manager * VA gov NotificationsManager service. - * @param \Drupal\feature_toggle\FeatureStatus $feature_status - * The Feature Status service. */ public function __construct( EntityTypeManager $entity_type_manager, @@ -138,7 +128,6 @@ public function __construct( UserPermsService $user_perms_service, ContentHardeningDeduper $content_hardening_deduper, NotificationsManager $notifications_manager, - FeatureStatus $feature_status, ) { $this->entityTypeManager = $entity_type_manager; $this->currentUser = $currentUser; @@ -146,7 +135,6 @@ public function __construct( $this->userPermsService = $user_perms_service; $this->contentHardeningDeduper = $content_hardening_deduper; $this->notificationsManager = $notifications_manager; - $this->featureStatus = $feature_status; } /** @@ -158,35 +146,6 @@ public function __construct( public function entityViewAlter(EntityViewAlterEvent $event):void { $this->showUnspecifiedWhenSystemEhrNumberEmpty($event); $this->alterAppendedSystemHealthServices($event); - $this->showRenderedTelephone($event); - } - - /** - * Show the correct telephone field based on feature toggle for VACMS-17854. - * - * @param \Drupal\core_event_dispatcher\Event\Entity\EntityViewAlterEvent $event - * The entity view alter event. - */ - private function showRenderedTelephone(EntityViewAlterEvent $event) { - $node_type = $event->getEntity()->bundle(); - if ($node_type !== 'vamc_system_billing_insurance' && - $node_type !== 'health_care_local_facility') { - return; - } - // We want to hide the old mental health phone field on the facility node. - $old_field_to_hide = $node_type === 'health_care_local_facility' - ? 'field_mental_health_phone' : 'field_phone_number'; - - $build = &$event->getBuild(); - $status = $this->featureStatus->getStatus('feature_telephone_migration_v1'); - if ($status) { - // Hide the old telephone field, and, thereby, show the new one. - unset($build[$old_field_to_hide]); - } - else { - // Hide the new telephone field, and, thereby, show the old one. - unset($build['field_telephone']); - } } /** @@ -367,7 +326,6 @@ public function alterFacilityNodeForm(FormIdAlterEvent $event): void { $form_state = $event->getFormState(); $this->addCovidStatusData($form, $form_state); $this->removePhoneLabel($event); - $this->showTelephone($event); } /** @@ -402,31 +360,6 @@ public function alterTopTaskNodeForm(FormIdAlterEvent $event): void { public function alterVamcSystemBillingAndInsuranceForm(FormIdAlterEvent $event) { $this->alterTopTaskNodeForm($event); $this->removePhoneLabel($event); - $this->showTelephone($event); - } - - /** - * Show the correct telephone field based on feature toggle for VACMS-17854. - * - * @param \Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent $event - * The form event. - */ - private function showTelephone($event) { - $form = &$event->getForm(); - $form_id = $form['#form_id']; - // We want to hide the old mental health phone field on the facility node, - // where there are two phone fields. - $old_field_to_hide = $form_id === 'node_health_care_local_facility_form' || $form_id === 'node_health_care_local_facility_edit_form' - ? 'field_mental_health_phone' : 'field_phone_number'; - $status = $this->featureStatus->getStatus('feature_telephone_migration_v1'); - if ($status) { - // Hide the old telephone field, and, thereby, show the new one. - unset($form[$old_field_to_hide]); - } - else { - // Hide the new telephone field, and, thereby, show the old one. - unset($form['field_telephone']); - } } /** From d4afdf9044127e867a50f9321453a6e0fff10e5f Mon Sep 17 00:00:00 2001 From: Daniel Sasser <221539+dsasser@users.noreply.github.com> Date: Tue, 7 Jan 2025 15:44:27 -0800 Subject: [PATCH 3/4] VACMS-19616: Contact info block has remove button not working (#20222) * VACMS-19616: Require the contact information paragraph for several content types. * VACMS-19616: Adds tests for removing the remove button. --- ...de.checklist.field_contact_information.yml | 51 +++++++++++++++++-- ...multiple_q_a.field_contact_information.yml | 51 +++++++++++++++++-- ..._list_images.field_contact_information.yml | 51 +++++++++++++++++-- ..._list_videos.field_contact_information.yml | 51 +++++++++++++++++-- ...eld.node.q_a.field_contact_information.yml | 51 +++++++++++++++++-- ...step_by_step.field_contact_information.yml | 51 +++++++++++++++++-- ..._detail_page.field_contact_information.yml | 51 +++++++++++++++++-- .../features/content_type/checklist.feature | 1 + .../support_resources_detail_page.feature | 1 + .../common/i_create_a_node.js | 6 +++ 10 files changed, 337 insertions(+), 28 deletions(-) diff --git a/config/sync/field.field.node.checklist.field_contact_information.yml b/config/sync/field.field.node.checklist.field_contact_information.yml index 93db305829..a15e3b9219 100644 --- a/config/sync/field.field.node.checklist.field_contact_information.yml +++ b/config/sync/field.field.node.checklist.field_contact_information.yml @@ -8,13 +8,17 @@ dependencies: - paragraphs.paragraphs_type.contact_information module: - entity_reference_revisions + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false id: node.checklist.field_contact_information field_name: field_contact_information entity_type: node bundle: checklist label: 'Need more help?' description: '' -required: false +required: true translatable: false default_value: { } default_value_callback: '' @@ -34,9 +38,18 @@ settings: alert_single: weight: 41 enabled: false + audience_topics: + weight: 55 + enabled: false + basic_accordion: + weight: 56 + enabled: false button: weight: 42 enabled: false + centralized_content_descriptor: + weight: 58 + enabled: false checklist: weight: 43 enabled: false @@ -52,21 +65,48 @@ settings: contact_information: weight: 47 enabled: true + digital_form_address: + weight: 64 + enabled: false + digital_form_identification_info: + weight: 65 + enabled: false + digital_form_list_loop: + weight: 66 + enabled: false + digital_form_name_and_date_of_bi: + weight: 67 + enabled: false + digital_form_phone_and_email: + weight: 68 + enabled: false + digital_form_your_personal_info: + weight: 69 + enabled: false downloadable_file: weight: 48 enabled: false email_contact: weight: 49 enabled: false + embedded_video: + weight: 72 + enabled: false expandable_text: weight: 50 enabled: false + featured_content: + weight: 74 + enabled: false health_care_local_facility_servi: weight: 51 enabled: false link_teaser: weight: 52 enabled: false + link_teaser_with_image: + weight: 77 + enabled: false list_of_link_teasers: weight: 53 enabled: false @@ -76,6 +116,9 @@ settings: lists_of_links: weight: 55 enabled: false + magichead_group: + weight: 81 + enabled: false media: weight: 56 enabled: false @@ -109,6 +152,9 @@ settings: react_widget: weight: 66 enabled: false + rich_text_char_limit_1000: + weight: 93 + enabled: false service_location: weight: 67 enabled: false @@ -124,9 +170,6 @@ settings: staff_profile: weight: 71 enabled: false - starred_horizontal_rule: - weight: 72 - enabled: false step: weight: 73 enabled: false diff --git a/config/sync/field.field.node.faq_multiple_q_a.field_contact_information.yml b/config/sync/field.field.node.faq_multiple_q_a.field_contact_information.yml index ebe9aeca9a..2cafa2c914 100644 --- a/config/sync/field.field.node.faq_multiple_q_a.field_contact_information.yml +++ b/config/sync/field.field.node.faq_multiple_q_a.field_contact_information.yml @@ -8,13 +8,17 @@ dependencies: - paragraphs.paragraphs_type.contact_information module: - entity_reference_revisions + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false id: node.faq_multiple_q_a.field_contact_information field_name: field_contact_information entity_type: node bundle: faq_multiple_q_a label: 'Need more help?' description: '' -required: false +required: true translatable: false default_value: { } default_value_callback: '' @@ -34,9 +38,18 @@ settings: alert_single: weight: 41 enabled: false + audience_topics: + weight: 55 + enabled: false + basic_accordion: + weight: 56 + enabled: false button: weight: 42 enabled: false + centralized_content_descriptor: + weight: 58 + enabled: false checklist: weight: 43 enabled: false @@ -52,21 +65,48 @@ settings: contact_information: weight: 47 enabled: true + digital_form_address: + weight: 64 + enabled: false + digital_form_identification_info: + weight: 65 + enabled: false + digital_form_list_loop: + weight: 66 + enabled: false + digital_form_name_and_date_of_bi: + weight: 67 + enabled: false + digital_form_phone_and_email: + weight: 68 + enabled: false + digital_form_your_personal_info: + weight: 69 + enabled: false downloadable_file: weight: 48 enabled: false email_contact: weight: 49 enabled: false + embedded_video: + weight: 72 + enabled: false expandable_text: weight: 50 enabled: false + featured_content: + weight: 74 + enabled: false health_care_local_facility_servi: weight: 51 enabled: false link_teaser: weight: 52 enabled: false + link_teaser_with_image: + weight: 77 + enabled: false list_of_link_teasers: weight: 55 enabled: false @@ -76,6 +116,9 @@ settings: lists_of_links: weight: 53 enabled: false + magichead_group: + weight: 81 + enabled: false media: weight: 56 enabled: false @@ -109,6 +152,9 @@ settings: react_widget: weight: 66 enabled: false + rich_text_char_limit_1000: + weight: 93 + enabled: false service_location: weight: 67 enabled: false @@ -124,9 +170,6 @@ settings: staff_profile: weight: 71 enabled: false - starred_horizontal_rule: - weight: 72 - enabled: false step: weight: 73 enabled: false diff --git a/config/sync/field.field.node.media_list_images.field_contact_information.yml b/config/sync/field.field.node.media_list_images.field_contact_information.yml index 5895c710f2..5af274a362 100644 --- a/config/sync/field.field.node.media_list_images.field_contact_information.yml +++ b/config/sync/field.field.node.media_list_images.field_contact_information.yml @@ -8,13 +8,17 @@ dependencies: - paragraphs.paragraphs_type.contact_information module: - entity_reference_revisions + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false id: node.media_list_images.field_contact_information field_name: field_contact_information entity_type: node bundle: media_list_images label: 'Need more help?' description: '' -required: false +required: true translatable: false default_value: { } default_value_callback: '' @@ -34,9 +38,18 @@ settings: alert_single: weight: 41 enabled: false + audience_topics: + weight: 55 + enabled: false + basic_accordion: + weight: 56 + enabled: false button: weight: 42 enabled: false + centralized_content_descriptor: + weight: 58 + enabled: false checklist: weight: 43 enabled: false @@ -52,21 +65,48 @@ settings: contact_information: weight: 47 enabled: true + digital_form_address: + weight: 64 + enabled: false + digital_form_identification_info: + weight: 65 + enabled: false + digital_form_list_loop: + weight: 66 + enabled: false + digital_form_name_and_date_of_bi: + weight: 67 + enabled: false + digital_form_phone_and_email: + weight: 68 + enabled: false + digital_form_your_personal_info: + weight: 69 + enabled: false downloadable_file: weight: 48 enabled: false email_contact: weight: 49 enabled: false + embedded_video: + weight: 72 + enabled: false expandable_text: weight: 50 enabled: false + featured_content: + weight: 74 + enabled: false health_care_local_facility_servi: weight: 51 enabled: false link_teaser: weight: 52 enabled: false + link_teaser_with_image: + weight: 77 + enabled: false list_of_link_teasers: weight: 53 enabled: false @@ -76,6 +116,9 @@ settings: lists_of_links: weight: 55 enabled: false + magichead_group: + weight: 81 + enabled: false media: weight: 56 enabled: false @@ -109,6 +152,9 @@ settings: react_widget: weight: 66 enabled: false + rich_text_char_limit_1000: + weight: 93 + enabled: false service_location: weight: 67 enabled: false @@ -124,9 +170,6 @@ settings: staff_profile: weight: 71 enabled: false - starred_horizontal_rule: - weight: 72 - enabled: false step: weight: 73 enabled: false diff --git a/config/sync/field.field.node.media_list_videos.field_contact_information.yml b/config/sync/field.field.node.media_list_videos.field_contact_information.yml index 7e1858c22c..c16da5da54 100644 --- a/config/sync/field.field.node.media_list_videos.field_contact_information.yml +++ b/config/sync/field.field.node.media_list_videos.field_contact_information.yml @@ -8,13 +8,17 @@ dependencies: - paragraphs.paragraphs_type.contact_information module: - entity_reference_revisions + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false id: node.media_list_videos.field_contact_information field_name: field_contact_information entity_type: node bundle: media_list_videos label: 'Need more help?' description: '' -required: false +required: true translatable: false default_value: { } default_value_callback: '' @@ -34,9 +38,18 @@ settings: alert_single: weight: 41 enabled: false + audience_topics: + weight: 55 + enabled: false + basic_accordion: + weight: 56 + enabled: false button: weight: 42 enabled: false + centralized_content_descriptor: + weight: 58 + enabled: false checklist: weight: 43 enabled: false @@ -52,21 +65,48 @@ settings: contact_information: weight: 47 enabled: true + digital_form_address: + weight: 64 + enabled: false + digital_form_identification_info: + weight: 65 + enabled: false + digital_form_list_loop: + weight: 66 + enabled: false + digital_form_name_and_date_of_bi: + weight: 67 + enabled: false + digital_form_phone_and_email: + weight: 68 + enabled: false + digital_form_your_personal_info: + weight: 69 + enabled: false downloadable_file: weight: 48 enabled: false email_contact: weight: 49 enabled: false + embedded_video: + weight: 72 + enabled: false expandable_text: weight: 50 enabled: false + featured_content: + weight: 74 + enabled: false health_care_local_facility_servi: weight: 51 enabled: false link_teaser: weight: 52 enabled: false + link_teaser_with_image: + weight: 77 + enabled: false list_of_link_teasers: weight: 53 enabled: false @@ -76,6 +116,9 @@ settings: lists_of_links: weight: 55 enabled: false + magichead_group: + weight: 81 + enabled: false media: weight: 56 enabled: false @@ -109,6 +152,9 @@ settings: react_widget: weight: 66 enabled: false + rich_text_char_limit_1000: + weight: 93 + enabled: false service_location: weight: 67 enabled: false @@ -124,9 +170,6 @@ settings: staff_profile: weight: 71 enabled: false - starred_horizontal_rule: - weight: 72 - enabled: false step: weight: 73 enabled: false diff --git a/config/sync/field.field.node.q_a.field_contact_information.yml b/config/sync/field.field.node.q_a.field_contact_information.yml index 6778314eeb..02fd461156 100644 --- a/config/sync/field.field.node.q_a.field_contact_information.yml +++ b/config/sync/field.field.node.q_a.field_contact_information.yml @@ -8,13 +8,17 @@ dependencies: - paragraphs.paragraphs_type.contact_information module: - entity_reference_revisions + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false id: node.q_a.field_contact_information field_name: field_contact_information entity_type: node bundle: q_a label: 'Need more help?' description: '' -required: false +required: true translatable: false default_value: { } default_value_callback: '' @@ -34,9 +38,18 @@ settings: alert_single: weight: 41 enabled: false + audience_topics: + weight: 55 + enabled: false + basic_accordion: + weight: 56 + enabled: false button: weight: 42 enabled: false + centralized_content_descriptor: + weight: 58 + enabled: false checklist: weight: 43 enabled: false @@ -52,21 +65,48 @@ settings: contact_information: weight: 47 enabled: true + digital_form_address: + weight: 64 + enabled: false + digital_form_identification_info: + weight: 65 + enabled: false + digital_form_list_loop: + weight: 66 + enabled: false + digital_form_name_and_date_of_bi: + weight: 67 + enabled: false + digital_form_phone_and_email: + weight: 68 + enabled: false + digital_form_your_personal_info: + weight: 69 + enabled: false downloadable_file: weight: 48 enabled: false email_contact: weight: 49 enabled: false + embedded_video: + weight: 72 + enabled: false expandable_text: weight: 50 enabled: false + featured_content: + weight: 74 + enabled: false health_care_local_facility_servi: weight: 51 enabled: false link_teaser: weight: 52 enabled: false + link_teaser_with_image: + weight: 77 + enabled: false list_of_link_teasers: weight: 53 enabled: false @@ -76,6 +116,9 @@ settings: lists_of_links: weight: 55 enabled: false + magichead_group: + weight: 81 + enabled: false media: weight: 56 enabled: false @@ -109,6 +152,9 @@ settings: react_widget: weight: 66 enabled: false + rich_text_char_limit_1000: + weight: 93 + enabled: false service_location: weight: 67 enabled: false @@ -124,9 +170,6 @@ settings: staff_profile: weight: 71 enabled: false - starred_horizontal_rule: - weight: 72 - enabled: false step: weight: 73 enabled: false diff --git a/config/sync/field.field.node.step_by_step.field_contact_information.yml b/config/sync/field.field.node.step_by_step.field_contact_information.yml index 0e8ef02fa6..17b2290a9f 100644 --- a/config/sync/field.field.node.step_by_step.field_contact_information.yml +++ b/config/sync/field.field.node.step_by_step.field_contact_information.yml @@ -8,13 +8,17 @@ dependencies: - paragraphs.paragraphs_type.contact_information module: - entity_reference_revisions + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false id: node.step_by_step.field_contact_information field_name: field_contact_information entity_type: node bundle: step_by_step label: 'Need more help?' description: '' -required: false +required: true translatable: false default_value: { } default_value_callback: '' @@ -34,9 +38,18 @@ settings: alert_single: weight: 41 enabled: false + audience_topics: + weight: 55 + enabled: false + basic_accordion: + weight: 56 + enabled: false button: weight: 42 enabled: false + centralized_content_descriptor: + weight: 58 + enabled: false checklist: weight: 43 enabled: false @@ -52,21 +65,48 @@ settings: contact_information: weight: 47 enabled: true + digital_form_address: + weight: 64 + enabled: false + digital_form_identification_info: + weight: 65 + enabled: false + digital_form_list_loop: + weight: 66 + enabled: false + digital_form_name_and_date_of_bi: + weight: 67 + enabled: false + digital_form_phone_and_email: + weight: 68 + enabled: false + digital_form_your_personal_info: + weight: 69 + enabled: false downloadable_file: weight: 48 enabled: false email_contact: weight: 49 enabled: false + embedded_video: + weight: 72 + enabled: false expandable_text: weight: 50 enabled: false + featured_content: + weight: 74 + enabled: false health_care_local_facility_servi: weight: 51 enabled: false link_teaser: weight: 52 enabled: false + link_teaser_with_image: + weight: 77 + enabled: false list_of_link_teasers: weight: 53 enabled: false @@ -76,6 +116,9 @@ settings: lists_of_links: weight: 55 enabled: false + magichead_group: + weight: 81 + enabled: false media: weight: 56 enabled: false @@ -109,6 +152,9 @@ settings: react_widget: weight: 66 enabled: false + rich_text_char_limit_1000: + weight: 93 + enabled: false service_location: weight: 67 enabled: false @@ -124,9 +170,6 @@ settings: staff_profile: weight: 71 enabled: false - starred_horizontal_rule: - weight: 72 - enabled: false step: weight: 73 enabled: false diff --git a/config/sync/field.field.node.support_resources_detail_page.field_contact_information.yml b/config/sync/field.field.node.support_resources_detail_page.field_contact_information.yml index cbe839e523..1e817962f4 100644 --- a/config/sync/field.field.node.support_resources_detail_page.field_contact_information.yml +++ b/config/sync/field.field.node.support_resources_detail_page.field_contact_information.yml @@ -8,13 +8,17 @@ dependencies: - paragraphs.paragraphs_type.contact_information module: - entity_reference_revisions + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false id: node.support_resources_detail_page.field_contact_information field_name: field_contact_information entity_type: node bundle: support_resources_detail_page label: 'Need more help?' description: '' -required: false +required: true translatable: false default_value: { } default_value_callback: '' @@ -34,9 +38,18 @@ settings: alert_single: weight: 41 enabled: false + audience_topics: + weight: 55 + enabled: false + basic_accordion: + weight: 56 + enabled: false button: weight: 42 enabled: false + centralized_content_descriptor: + weight: 58 + enabled: false checklist: weight: 43 enabled: false @@ -52,21 +65,48 @@ settings: contact_information: weight: 47 enabled: true + digital_form_address: + weight: 64 + enabled: false + digital_form_identification_info: + weight: 65 + enabled: false + digital_form_list_loop: + weight: 66 + enabled: false + digital_form_name_and_date_of_bi: + weight: 67 + enabled: false + digital_form_phone_and_email: + weight: 68 + enabled: false + digital_form_your_personal_info: + weight: 69 + enabled: false downloadable_file: weight: 48 enabled: false email_contact: weight: 49 enabled: false + embedded_video: + weight: 72 + enabled: false expandable_text: weight: 50 enabled: false + featured_content: + weight: 74 + enabled: false health_care_local_facility_servi: weight: 51 enabled: false link_teaser: weight: 52 enabled: false + link_teaser_with_image: + weight: 77 + enabled: false list_of_link_teasers: weight: 55 enabled: false @@ -76,6 +116,9 @@ settings: lists_of_links: weight: 53 enabled: false + magichead_group: + weight: 81 + enabled: false media: weight: 56 enabled: false @@ -109,6 +152,9 @@ settings: react_widget: weight: 66 enabled: false + rich_text_char_limit_1000: + weight: 93 + enabled: false service_location: weight: 67 enabled: false @@ -124,9 +170,6 @@ settings: staff_profile: weight: 71 enabled: false - starred_horizontal_rule: - weight: 72 - enabled: false step: weight: 73 enabled: false diff --git a/tests/cypress/integration/features/content_type/checklist.feature b/tests/cypress/integration/features/content_type/checklist.feature index 3b74035add..85e399ce5b 100644 --- a/tests/cypress/integration/features/content_type/checklist.feature +++ b/tests/cypress/integration/features/content_type/checklist.feature @@ -16,6 +16,7 @@ Feature: Content Type: Checklist And the element with selector "#edit-field-checklist-0-subform-field-checklist-sections-0-subform-field-section-header-0-value" should have attribute "value" containing value "[Test Header Value]" And the element with selector "#edit-field-checklist-0-subform-field-checklist-sections-0-subform-field-checklist-items-0-value" should have attribute "value" containing value "[Test Items Value]" And the option "VACO" from dropdown with selector "#edit-field-administration" should be selected + And an element with the selector "#edit-field-contact-information-0-top-links-remove-button" should not exist # Make sure additional edits are saved And I fill in "Page title" with "[Test Data] Save and Continue Test" diff --git a/tests/cypress/integration/features/content_type/support_resources_detail_page.feature b/tests/cypress/integration/features/content_type/support_resources_detail_page.feature index ae91de3fb1..10c18a0412 100644 --- a/tests/cypress/integration/features/content_type/support_resources_detail_page.feature +++ b/tests/cypress/integration/features/content_type/support_resources_detail_page.feature @@ -6,6 +6,7 @@ Feature: Content Type: Resources and Support Detail Page Given I am logged in as a user with the "content_admin" role When I am at "node/add/support_resources_detail_page" Then I should see "Tags" + And an element with the selector "#edit-field-contact-information-0-top-links-remove-button" should not exist Given I select option "- None -" from dropdown "Audience" Then I should not see an element with the selector "#edit-field-tags-0-subform-field-audience-beneficiares-wrapper" 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 b3efaabb7b..6222b4c614 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 @@ -447,6 +447,9 @@ const creators = { "edit-field-steps-0-subform-field-step-0-subform-field-wysiwyg-0-value", faker.lorem.sentence() ); + cy.get("#edit-field-contact-information-0-top-links-remove-button").should( + "not.exist" + ); return cy.wait(1000); }, q_a: () => { @@ -462,6 +465,9 @@ const creators = { faker.lorem.sentence() ); cy.findAllByLabelText("Section").select("VACO", { force: true }); + cy.get("#edit-field-contact-information-0-top-links-remove-button").should( + "not.exist" + ); return cy; }, press_release: () => { From 97240bea78af5ad816aa52e6ab0d49b246947edd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Jan 2025 18:14:54 -0800 Subject: [PATCH 4/4] Bump va-gov/content-build from 0.0.3657 to 0.0.3659 (#20242) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3657 to 0.0.3659. - [Release notes](https://github.com/department-of-veterans-affairs/content-build/releases) - [Commits](https://github.com/department-of-veterans-affairs/content-build/compare/v0.0.3657...v0.0.3659) --- updated-dependencies: - dependency-name: va-gov/content-build dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.json | 2 +- composer.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 2f41f0282b..af7d3e5619 100644 --- a/composer.json +++ b/composer.json @@ -228,7 +228,7 @@ "symfony/phpunit-bridge": "^7.1", "symfony/process": "^6.3", "symfony/routing": "^6.3", - "va-gov/content-build": "^0.0.3657", + "va-gov/content-build": "^0.0.3659", "vlucas/phpdotenv": "^5.6", "webflo/drupal-finder": "1.3.1", "webmozart/path-util": "^2.3", diff --git a/composer.lock b/composer.lock index c193a2f595..ef1aeaa470 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": "2e9a7625d24f80f308e27764fed4b72b", + "content-hash": "f9cd350a249e3227e672591dc48416f7", "packages": [ { "name": "asm89/stack-cors", @@ -26902,16 +26902,16 @@ }, { "name": "va-gov/content-build", - "version": "v0.0.3657", + "version": "v0.0.3659", "source": { "type": "git", "url": "https://github.com/department-of-veterans-affairs/content-build.git", - "reference": "9ee617439ad36ed873ce42d2076a39523b2bc6ae" + "reference": "5f3b240e0e86745a2866c1969578040630591ccb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/department-of-veterans-affairs/content-build/zipball/9ee617439ad36ed873ce42d2076a39523b2bc6ae", - "reference": "9ee617439ad36ed873ce42d2076a39523b2bc6ae", + "url": "https://api.github.com/repos/department-of-veterans-affairs/content-build/zipball/5f3b240e0e86745a2866c1969578040630591ccb", + "reference": "5f3b240e0e86745a2866c1969578040630591ccb", "shasum": "" }, "type": "node-project", @@ -26938,9 +26938,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.3657" + "source": "https://github.com/department-of-veterans-affairs/content-build/tree/v0.0.3659" }, - "time": "2025-01-06T13:35:03+00:00" + "time": "2025-01-07T17:22:23+00:00" }, { "name": "vlucas/phpdotenv",