From 6abe54557a19292cc48c7c008210a6b4d0b3c050 Mon Sep 17 00:00:00 2001 From: Ryan Koch <6863534+ryguyk@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:39:45 -0500 Subject: [PATCH] VAGOV-TEAM-87958: Integration branch for Form Engine POC (#18811) * VATEAM-87711: Add Digital Form content type (#18717) * Add Digital Form content type * Update Digital Form description --------- Co-authored-by: Derek Houck * Add chapters field to Digital Form * Add screenshot of name and dob pattern * VATEAM-88658: Script to add Digital Forms test data (#19025) * WIP: Create digital form script * Add steps * Rename exit_if_wrong_env --------- Co-authored-by: Derek Houck Co-authored-by: Derek Houck Co-authored-by: Derek Houck Co-authored-by: Tim Cosgrove --- ...eld_override.node.digital_form.promote.yml | 22 +++ ...field_override.node.digital_form.title.yml | 18 ++ ...form_display.node.digital_form.default.yml | 132 ++++++++++++++ ...gital_form_name_and_date_of_bi.default.yml | 40 +++++ ...view_display.node.digital_form.default.yml | 54 ++++++ ...lay.node.digital_form.external_content.yml | 59 ++++++ ..._view_display.node.digital_form.teaser.yml | 52 ++++++ ...gital_form_name_and_date_of_bi.default.yml | 33 ++++ ...l_form_name_and_date_of_bi.user_guides.yml | 25 +++ ...node.digital_form.field_administration.yml | 43 +++++ ...field.node.digital_form.field_chapters.yml | 170 ++++++++++++++++++ ...tal_form.field_last_saved_by_an_editor.yml | 26 +++ ...ield.node.digital_form.field_meta_tags.yml | 25 +++ ...eld.node.digital_form.field_omb_number.yml | 24 +++ ...node.digital_form.field_va_form_number.yml | 24 +++ ...date_of_bi.field_include_date_of_birth.yml | 28 +++ ...l_form_name_and_date_of_bi.field_title.yml | 26 +++ .../field.storage.node.field_chapters.yml | 21 +++ .../field.storage.node.field_omb_number.yml | 21 +++ ....paragraph.field_include_date_of_birth.yml | 18 ++ ...age.content_settings.node.digital_form.yml | 11 ++ config/sync/node.type.digital_form.yml | 30 ++++ ..._type.digital_form_name_and_date_of_bi.yml | 17 ++ ....paragraphs_browser_type.digital_forms.yml | 13 ++ config/sync/prometheus_exporter.settings.yml | 1 + config/sync/workflows.workflow.editorial.yml | 2 + .../src/Entity/DigitalForm.php | 10 ++ .../va_gov_content_types.module | 2 + .../images/screenshots/name-and-dob.png | Bin 0 -> 104589 bytes scripts/content/digital-forms.php | 68 +++++++ scripts/content/script-library.php | 15 +- .../VACMS-17969-vba-test-data-processor.php | 5 +- .../functional/Entity/DigitalFormTest.php | 40 +++++ 33 files changed, 1070 insertions(+), 5 deletions(-) create mode 100644 config/sync/core.base_field_override.node.digital_form.promote.yml create mode 100644 config/sync/core.base_field_override.node.digital_form.title.yml create mode 100644 config/sync/core.entity_form_display.node.digital_form.default.yml create mode 100644 config/sync/core.entity_form_display.paragraph.digital_form_name_and_date_of_bi.default.yml create mode 100644 config/sync/core.entity_view_display.node.digital_form.default.yml create mode 100644 config/sync/core.entity_view_display.node.digital_form.external_content.yml create mode 100644 config/sync/core.entity_view_display.node.digital_form.teaser.yml create mode 100644 config/sync/core.entity_view_display.paragraph.digital_form_name_and_date_of_bi.default.yml create mode 100644 config/sync/core.entity_view_display.paragraph.digital_form_name_and_date_of_bi.user_guides.yml create mode 100644 config/sync/field.field.node.digital_form.field_administration.yml create mode 100644 config/sync/field.field.node.digital_form.field_chapters.yml create mode 100644 config/sync/field.field.node.digital_form.field_last_saved_by_an_editor.yml create mode 100644 config/sync/field.field.node.digital_form.field_meta_tags.yml create mode 100644 config/sync/field.field.node.digital_form.field_omb_number.yml create mode 100644 config/sync/field.field.node.digital_form.field_va_form_number.yml create mode 100644 config/sync/field.field.paragraph.digital_form_name_and_date_of_bi.field_include_date_of_birth.yml create mode 100644 config/sync/field.field.paragraph.digital_form_name_and_date_of_bi.field_title.yml create mode 100644 config/sync/field.storage.node.field_chapters.yml create mode 100644 config/sync/field.storage.node.field_omb_number.yml create mode 100644 config/sync/field.storage.paragraph.field_include_date_of_birth.yml create mode 100644 config/sync/language.content_settings.node.digital_form.yml create mode 100644 config/sync/node.type.digital_form.yml create mode 100644 config/sync/paragraphs.paragraphs_type.digital_form_name_and_date_of_bi.yml create mode 100644 config/sync/paragraphs_browser.paragraphs_browser_type.digital_forms.yml create mode 100644 docroot/modules/custom/va_gov_content_types/src/Entity/DigitalForm.php create mode 100644 docroot/themes/custom/vagovclaro/images/screenshots/name-and-dob.png create mode 100644 scripts/content/digital-forms.php create mode 100644 tests/phpunit/va_gov_content_types/functional/Entity/DigitalFormTest.php diff --git a/config/sync/core.base_field_override.node.digital_form.promote.yml b/config/sync/core.base_field_override.node.digital_form.promote.yml new file mode 100644 index 0000000000..761d74473c --- /dev/null +++ b/config/sync/core.base_field_override.node.digital_form.promote.yml @@ -0,0 +1,22 @@ +uuid: ac87a752-cc60-4bde-bd33-18098f65e851 +langcode: en +status: true +dependencies: + config: + - node.type.digital_form +id: node.digital_form.promote +field_name: promote +entity_type: node +bundle: digital_form +label: 'Promoted to front page' +description: '' +required: false +translatable: true +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'On' + off_label: 'Off' +field_type: boolean diff --git a/config/sync/core.base_field_override.node.digital_form.title.yml b/config/sync/core.base_field_override.node.digital_form.title.yml new file mode 100644 index 0000000000..49e546e2e1 --- /dev/null +++ b/config/sync/core.base_field_override.node.digital_form.title.yml @@ -0,0 +1,18 @@ +uuid: 2449594d-1ce2-4f60-aab4-1da1b27f5864 +langcode: en +status: true +dependencies: + config: + - node.type.digital_form +id: node.digital_form.title +field_name: title +entity_type: node +bundle: digital_form +label: 'Form Name' +description: '' +required: true +translatable: true +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/core.entity_form_display.node.digital_form.default.yml b/config/sync/core.entity_form_display.node.digital_form.default.yml new file mode 100644 index 0000000000..c4f6558f42 --- /dev/null +++ b/config/sync/core.entity_form_display.node.digital_form.default.yml @@ -0,0 +1,132 @@ +uuid: 18ba1fa4-f0d9-45f4-9547-0c55f1868ba2 +langcode: en +status: true +dependencies: + config: + - field.field.node.digital_form.field_administration + - field.field.node.digital_form.field_chapters + - field.field.node.digital_form.field_last_saved_by_an_editor + - field.field.node.digital_form.field_meta_tags + - field.field.node.digital_form.field_omb_number + - field.field.node.digital_form.field_va_form_number + - node.type.digital_form + - workflows.workflow.editorial + module: + - change_labels + - content_moderation + - field_group + - limited_field_widgets + - no_table_drag + - paragraphs_browser + - paragraphs_features + - path +third_party_settings: + field_group: + group_editorial_workflow: + children: + - moderation_state + - revision_log + label: 'Editorial Workflow' + region: content + parent_name: '' + weight: 6 + format_type: fieldset + format_settings: + classes: '' + show_empty_fields: false + id: '' + description: '' + required_fields: true + description_display: after +id: node.digital_form.default +targetEntityType: node +bundle: digital_form +mode: default +content: + field_chapters: + type: paragraphs_browser + weight: 5 + region: content + settings: + title: Step + title_plural: Steps + edit_mode: open + closed_mode: summary + autocollapse: none + closed_mode_threshold: '0' + add_mode: paragraphs_browser + form_display_mode: default + default_paragraph_type: _none + features: + duplicate: duplicate + collapse_edit_all: collapse_edit_all + add_above: 0 + convert: 0 + paragraphs_browser: digital_forms + modal_width: 80% + modal_height: auto + third_party_settings: + paragraphs_features: + add_in_between: false + add_in_between_link_count: 3 + delete_confirmation: false + show_drag_and_drop: true + show_collapse_all: true + limited_field_widgets: + limit_values: '0' + change_labels: + add_another: '' + no_table_drag: + no_table_drag: false + field_last_saved_by_an_editor: + type: datetime_timestamp + weight: 2 + region: content + settings: { } + third_party_settings: { } + field_omb_number: + type: string_textfield + weight: 4 + region: content + settings: + size: 9 + placeholder: XXXX-XXXX + third_party_settings: { } + field_va_form_number: + type: string_textfield + weight: 1 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + moderation_state: + type: moderation_state_default + weight: 12 + region: content + settings: { } + third_party_settings: { } + path: + type: path + weight: 3 + region: content + settings: { } + third_party_settings: { } + title: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + created: true + field_administration: true + field_meta_tags: true + langcode: true + promote: true + status: true + sticky: true + uid: true + url_redirects: true diff --git a/config/sync/core.entity_form_display.paragraph.digital_form_name_and_date_of_bi.default.yml b/config/sync/core.entity_form_display.paragraph.digital_form_name_and_date_of_bi.default.yml new file mode 100644 index 0000000000..0e6ef595b9 --- /dev/null +++ b/config/sync/core.entity_form_display.paragraph.digital_form_name_and_date_of_bi.default.yml @@ -0,0 +1,40 @@ +uuid: 7a85e837-9879-4f7f-9e0b-ebad0066e521 +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.digital_form_name_and_date_of_bi.field_include_date_of_birth + - field.field.paragraph.digital_form_name_and_date_of_bi.field_title + - paragraphs.paragraphs_type.digital_form_name_and_date_of_bi + module: + - textfield_counter +id: paragraph.digital_form_name_and_date_of_bi.default +targetEntityType: paragraph +bundle: digital_form_name_and_date_of_bi +mode: default +content: + field_include_date_of_birth: + type: boolean_checkbox + weight: 1 + region: content + settings: + display_label: true + third_party_settings: { } + field_title: + type: string_textfield_with_counter + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + use_field_maxlength: false + maxlength: 0 + counter_position: after + js_prevent_submit: true + count_only_mode: false + count_html_characters: true + textcount_status_message: 'Maxlength: @maxlength
Used: @current_length
Remaining: @remaining_count' + third_party_settings: { } +hidden: + created: true + status: true diff --git a/config/sync/core.entity_view_display.node.digital_form.default.yml b/config/sync/core.entity_view_display.node.digital_form.default.yml new file mode 100644 index 0000000000..e94f3f02b4 --- /dev/null +++ b/config/sync/core.entity_view_display.node.digital_form.default.yml @@ -0,0 +1,54 @@ +uuid: 73414b44-8d43-4231-9695-b8092f02e821 +langcode: en +status: true +dependencies: + config: + - field.field.node.digital_form.field_administration + - field.field.node.digital_form.field_chapters + - field.field.node.digital_form.field_last_saved_by_an_editor + - field.field.node.digital_form.field_meta_tags + - field.field.node.digital_form.field_omb_number + - field.field.node.digital_form.field_va_form_number + - node.type.digital_form + module: + - entity_reference_revisions + - user +id: node.digital_form.default +targetEntityType: node +bundle: digital_form +mode: default +content: + field_chapters: + type: entity_reference_revisions_entity_view + label: above + settings: + view_mode: default + link: '' + third_party_settings: { } + weight: 2 + region: content + field_omb_number: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 1 + region: content + field_va_form_number: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content +hidden: + breadcrumbs: true + content_moderation_control: true + field_administration: true + field_last_saved_by_an_editor: true + field_meta_tags: true + langcode: true + links: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.digital_form.external_content.yml b/config/sync/core.entity_view_display.node.digital_form.external_content.yml new file mode 100644 index 0000000000..fd586c5932 --- /dev/null +++ b/config/sync/core.entity_view_display.node.digital_form.external_content.yml @@ -0,0 +1,59 @@ +uuid: bae3d4cd-0dd9-4a17-972b-ff3ef6bf7ba5 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.external_content + - field.field.node.digital_form.field_administration + - field.field.node.digital_form.field_chapters + - field.field.node.digital_form.field_last_saved_by_an_editor + - field.field.node.digital_form.field_meta_tags + - field.field.node.digital_form.field_omb_number + - field.field.node.digital_form.field_va_form_number + - node.type.digital_form + module: + - link + - user +id: node.digital_form.external_content +targetEntityType: node +bundle: digital_form +mode: external_content +content: + breadcrumbs: + type: link + label: hidden + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + weight: -5 + region: content + content_moderation_control: + settings: { } + third_party_settings: { } + weight: -20 + region: content + field_va_form_number: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 1 + region: content + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_administration: true + field_chapters: true + field_last_saved_by_an_editor: true + field_meta_tags: true + field_omb_number: true + langcode: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.digital_form.teaser.yml b/config/sync/core.entity_view_display.node.digital_form.teaser.yml new file mode 100644 index 0000000000..0788c646f4 --- /dev/null +++ b/config/sync/core.entity_view_display.node.digital_form.teaser.yml @@ -0,0 +1,52 @@ +uuid: acbd9ba8-c64b-4b82-a7dd-11f8fe57a9ff +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.digital_form.field_administration + - field.field.node.digital_form.field_chapters + - field.field.node.digital_form.field_last_saved_by_an_editor + - field.field.node.digital_form.field_meta_tags + - field.field.node.digital_form.field_omb_number + - field.field.node.digital_form.field_va_form_number + - node.type.digital_form + module: + - link + - user +id: node.digital_form.teaser +targetEntityType: node +bundle: digital_form +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 + content_moderation_control: + settings: { } + third_party_settings: { } + weight: -20 + region: content + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_administration: true + field_chapters: true + field_last_saved_by_an_editor: true + field_meta_tags: true + field_omb_number: true + field_va_form_number: true + langcode: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.paragraph.digital_form_name_and_date_of_bi.default.yml b/config/sync/core.entity_view_display.paragraph.digital_form_name_and_date_of_bi.default.yml new file mode 100644 index 0000000000..2ab04745a8 --- /dev/null +++ b/config/sync/core.entity_view_display.paragraph.digital_form_name_and_date_of_bi.default.yml @@ -0,0 +1,33 @@ +uuid: 6ace573b-80bd-4b83-af01-3de996a1423c +langcode: en +status: true +dependencies: + config: + - field.field.paragraph.digital_form_name_and_date_of_bi.field_include_date_of_birth + - field.field.paragraph.digital_form_name_and_date_of_bi.field_title + - paragraphs.paragraphs_type.digital_form_name_and_date_of_bi +id: paragraph.digital_form_name_and_date_of_bi.default +targetEntityType: paragraph +bundle: digital_form_name_and_date_of_bi +mode: default +content: + field_include_date_of_birth: + type: boolean + label: above + settings: + format: default + format_custom_false: '' + format_custom_true: '' + third_party_settings: { } + weight: 1 + region: content + field_title: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content +hidden: + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.paragraph.digital_form_name_and_date_of_bi.user_guides.yml b/config/sync/core.entity_view_display.paragraph.digital_form_name_and_date_of_bi.user_guides.yml new file mode 100644 index 0000000000..46b3f8ecae --- /dev/null +++ b/config/sync/core.entity_view_display.paragraph.digital_form_name_and_date_of_bi.user_guides.yml @@ -0,0 +1,25 @@ +uuid: d6ba2e46-9d71-4886-8f0f-f9f644273720 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.paragraph.user_guides + - field.field.paragraph.digital_form_name_and_date_of_bi.field_include_date_of_birth + - field.field.paragraph.digital_form_name_and_date_of_bi.field_title + - paragraphs.paragraphs_type.digital_form_name_and_date_of_bi +id: paragraph.digital_form_name_and_date_of_bi.user_guides +targetEntityType: paragraph +bundle: digital_form_name_and_date_of_bi +mode: user_guides +content: + field_title: + type: string + label: hidden + settings: + link_to_entity: false + third_party_settings: { } + weight: 0 + region: content +hidden: + field_include_date_of_birth: true + search_api_excerpt: true diff --git a/config/sync/field.field.node.digital_form.field_administration.yml b/config/sync/field.field.node.digital_form.field_administration.yml new file mode 100644 index 0000000000..bf6a122430 --- /dev/null +++ b/config/sync/field.field.node.digital_form.field_administration.yml @@ -0,0 +1,43 @@ +uuid: d49d4508-3a4d-4b12-a8d9-51b44eb854ca +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_administration + - node.type.digital_form + - taxonomy.vocabulary.administration + content: + - 'taxonomy_term:administration:867e4dcf-2f99-401a-977a-adb441d53350' + module: + - entity_reference_validators + - tmgmt_content +third_party_settings: + entity_reference_validators: + circular_reference: false + circular_reference_deep: false + duplicate_reference: false + tmgmt_content: + excluded: false +id: node.digital_form.field_administration +field_name: field_administration +entity_type: node +bundle: digital_form +label: Section +description: '' +required: true +translatable: false +default_value: + - + target_uuid: 867e4dcf-2f99-401a-977a-adb441d53350 +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + administration: administration + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.digital_form.field_chapters.yml b/config/sync/field.field.node.digital_form.field_chapters.yml new file mode 100644 index 0000000000..337ee74e17 --- /dev/null +++ b/config/sync/field.field.node.digital_form.field_chapters.yml @@ -0,0 +1,170 @@ +uuid: 333163fe-7e54-44b6-b5af-5cff8c8742ec +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_chapters + - node.type.digital_form + - paragraphs.paragraphs_type.digital_form_name_and_date_of_bi + module: + - entity_reference_revisions + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.digital_form.field_chapters +field_name: field_chapters +entity_type: node +bundle: digital_form +label: Steps +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:paragraph' + handler_settings: + target_bundles: + digital_form_name_and_date_of_bi: digital_form_name_and_date_of_bi + negate: 0 + target_bundles_drag_drop: + address: + weight: -95 + enabled: false + alert: + weight: -94 + enabled: false + alert_single: + weight: -93 + enabled: false + audience_topics: + weight: -92 + enabled: false + basic_accordion: + weight: -91 + enabled: false + button: + weight: -90 + enabled: false + centralized_content_descriptor: + weight: -89 + enabled: false + checklist: + weight: -88 + enabled: false + checklist_item: + weight: -87 + enabled: false + collapsible_panel: + weight: -86 + enabled: false + collapsible_panel_item: + weight: -85 + enabled: false + contact_information: + weight: -84 + enabled: false + digital_form_name_and_date_of_bi: + weight: -82 + enabled: true + downloadable_file: + weight: -81 + enabled: false + email_contact: + weight: -80 + enabled: false + embedded_video: + weight: -79 + enabled: false + expandable_text: + weight: -78 + enabled: false + featured_content: + weight: -77 + enabled: false + health_care_local_facility_servi: + weight: -76 + enabled: false + link_teaser: + weight: -75 + enabled: false + link_teaser_with_image: + weight: -74 + enabled: false + list_of_link_teasers: + weight: -71 + enabled: false + list_of_links: + weight: -72 + enabled: false + lists_of_links: + weight: -73 + enabled: false + magichead_group: + weight: -70 + enabled: false + media: + weight: -69 + enabled: false + media_list_images: + weight: -68 + enabled: false + media_list_videos: + weight: -67 + enabled: false + non_reusable_alert: + weight: -66 + enabled: false + number_callout: + weight: -65 + enabled: false + phone_number: + weight: -64 + enabled: false + process: + weight: -63 + enabled: false + q_a: + weight: -62 + enabled: false + q_a_group: + weight: -61 + enabled: false + q_a_section: + weight: -60 + enabled: false + react_widget: + weight: -59 + enabled: false + rich_text_char_limit_1000: + weight: -58 + enabled: false + service_location: + weight: -57 + enabled: false + service_location_address: + weight: -56 + enabled: false + situation_update: + weight: -55 + enabled: false + spanish_translation_summary: + weight: -54 + enabled: false + staff_profile: + weight: -53 + enabled: false + step: + weight: -52 + enabled: false + step_by_step: + weight: -51 + enabled: false + table: + weight: -50 + enabled: false + wysiwyg: + weight: -49 + enabled: false +field_type: entity_reference_revisions diff --git a/config/sync/field.field.node.digital_form.field_last_saved_by_an_editor.yml b/config/sync/field.field.node.digital_form.field_last_saved_by_an_editor.yml new file mode 100644 index 0000000000..f9c9cdde26 --- /dev/null +++ b/config/sync/field.field.node.digital_form.field_last_saved_by_an_editor.yml @@ -0,0 +1,26 @@ +uuid: e173d8c9-2458-49d9-8406-7654da2c8882 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_last_saved_by_an_editor + - node.type.digital_form + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.digital_form.field_last_saved_by_an_editor +field_name: field_last_saved_by_an_editor +entity_type: node +bundle: digital_form +label: 'Last Saved by an Editor' +description: 'This is the last time an editor interacted with this content. This field is populated automatically when you click Save.' +required: false +translatable: false +default_value: + - + value: 1721337765 +default_value_callback: '' +settings: { } +field_type: timestamp diff --git a/config/sync/field.field.node.digital_form.field_meta_tags.yml b/config/sync/field.field.node.digital_form.field_meta_tags.yml new file mode 100644 index 0000000000..cf4e584858 --- /dev/null +++ b/config/sync/field.field.node.digital_form.field_meta_tags.yml @@ -0,0 +1,25 @@ +uuid: 065acdc6-1465-452e-8a8e-53c6ff7e37ca +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_meta_tags + - node.type.digital_form + module: + - metatag + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.digital_form.field_meta_tags +field_name: field_meta_tags +entity_type: node +bundle: digital_form +label: 'Meta tags' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: metatag diff --git a/config/sync/field.field.node.digital_form.field_omb_number.yml b/config/sync/field.field.node.digital_form.field_omb_number.yml new file mode 100644 index 0000000000..a15aa6e557 --- /dev/null +++ b/config/sync/field.field.node.digital_form.field_omb_number.yml @@ -0,0 +1,24 @@ +uuid: a74fa585-127b-49f9-9533-de900988e8b1 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_omb_number + - node.type.digital_form + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.digital_form.field_omb_number +field_name: field_omb_number +entity_type: node +bundle: digital_form +label: 'OMB Number' +description: 'Format: XXXX-XXXX' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.node.digital_form.field_va_form_number.yml b/config/sync/field.field.node.digital_form.field_va_form_number.yml new file mode 100644 index 0000000000..aef7e36562 --- /dev/null +++ b/config/sync/field.field.node.digital_form.field_va_form_number.yml @@ -0,0 +1,24 @@ +uuid: fe73b81a-1e77-4f4b-83de-adad0de61a6d +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_va_form_number + - node.type.digital_form + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.digital_form.field_va_form_number +field_name: field_va_form_number +entity_type: node +bundle: digital_form +label: 'Form number' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.paragraph.digital_form_name_and_date_of_bi.field_include_date_of_birth.yml b/config/sync/field.field.paragraph.digital_form_name_and_date_of_bi.field_include_date_of_birth.yml new file mode 100644 index 0000000000..9ef7328d3b --- /dev/null +++ b/config/sync/field.field.paragraph.digital_form_name_and_date_of_bi.field_include_date_of_birth.yml @@ -0,0 +1,28 @@ +uuid: 69f76794-509f-4325-bf51-1591dbb95b54 +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_include_date_of_birth + - paragraphs.paragraphs_type.digital_form_name_and_date_of_bi + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: paragraph.digital_form_name_and_date_of_bi.field_include_date_of_birth +field_name: field_include_date_of_birth +entity_type: paragraph +bundle: digital_form_name_and_date_of_bi +label: 'Include date of birth?' +description: '' +required: false +translatable: false +default_value: + - + value: 1 +default_value_callback: '' +settings: + on_label: 'Yes' + off_label: 'No' +field_type: boolean diff --git a/config/sync/field.field.paragraph.digital_form_name_and_date_of_bi.field_title.yml b/config/sync/field.field.paragraph.digital_form_name_and_date_of_bi.field_title.yml new file mode 100644 index 0000000000..112e78f264 --- /dev/null +++ b/config/sync/field.field.paragraph.digital_form_name_and_date_of_bi.field_title.yml @@ -0,0 +1,26 @@ +uuid: d2538ca0-918e-4e49-8d45-96bde9aca1b7 +langcode: en +status: true +dependencies: + config: + - field.storage.paragraph.field_title + - paragraphs.paragraphs_type.digital_form_name_and_date_of_bi + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: paragraph.digital_form_name_and_date_of_bi.field_title +field_name: field_title +entity_type: paragraph +bundle: digital_form_name_and_date_of_bi +label: Title +description: '' +required: true +translatable: false +default_value: + - + value: 'Name and Date of Birth' +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.storage.node.field_chapters.yml b/config/sync/field.storage.node.field_chapters.yml new file mode 100644 index 0000000000..58027ea5ec --- /dev/null +++ b/config/sync/field.storage.node.field_chapters.yml @@ -0,0 +1,21 @@ +uuid: 2ddc6fd6-3ed5-49a4-b7e3-29573744ef2b +langcode: en +status: true +dependencies: + module: + - entity_reference_revisions + - node + - paragraphs +id: node.field_chapters +field_name: field_chapters +entity_type: node +type: entity_reference_revisions +settings: + target_type: paragraph +module: entity_reference_revisions +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_omb_number.yml b/config/sync/field.storage.node.field_omb_number.yml new file mode 100644 index 0000000000..ec0823677a --- /dev/null +++ b/config/sync/field.storage.node.field_omb_number.yml @@ -0,0 +1,21 @@ +uuid: d58c3f28-790b-431a-aca4-bc19375656b5 +langcode: en +status: true +dependencies: + module: + - node +id: node.field_omb_number +field_name: field_omb_number +entity_type: node +type: string +settings: + max_length: 9 + case_sensitive: false + is_ascii: false +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.paragraph.field_include_date_of_birth.yml b/config/sync/field.storage.paragraph.field_include_date_of_birth.yml new file mode 100644 index 0000000000..e6db63bd83 --- /dev/null +++ b/config/sync/field.storage.paragraph.field_include_date_of_birth.yml @@ -0,0 +1,18 @@ +uuid: 377d46ea-d362-47c9-9f6e-436e21b4d638 +langcode: en +status: true +dependencies: + module: + - paragraphs +id: paragraph.field_include_date_of_birth +field_name: field_include_date_of_birth +entity_type: paragraph +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/language.content_settings.node.digital_form.yml b/config/sync/language.content_settings.node.digital_form.yml new file mode 100644 index 0000000000..371b1ba68c --- /dev/null +++ b/config/sync/language.content_settings.node.digital_form.yml @@ -0,0 +1,11 @@ +uuid: 86037389-4200-4677-ab95-7bdbe1df3d2b +langcode: en +status: true +dependencies: + config: + - node.type.digital_form +id: node.digital_form +target_entity_type_id: node +target_bundle: digital_form +default_langcode: site_default +language_alterable: false diff --git a/config/sync/node.type.digital_form.yml b/config/sync/node.type.digital_form.yml new file mode 100644 index 0000000000..8851740176 --- /dev/null +++ b/config/sync/node.type.digital_form.yml @@ -0,0 +1,30 @@ +uuid: 6f1de8af-5d0a-4775-9ca1-95a35c6ae032 +langcode: en +status: true +dependencies: + module: + - menu_force + - menu_ui + - node_revision_delete + - node_title_help_text +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' + node_title_help_text: + title_help: '' + menu_force: + menu_force: false + menu_force_parent: false + node_revision_delete: + minimum_revisions_to_keep: 50 + minimum_age_to_delete: 0 + when_to_delete: 0 +name: 'Digital Form' +type: digital_form +description: 'Configuration for an online form presented to Veterans.' +help: '' +new_revision: true +preview_mode: 0 +display_submitted: false diff --git a/config/sync/paragraphs.paragraphs_type.digital_form_name_and_date_of_bi.yml b/config/sync/paragraphs.paragraphs_type.digital_form_name_and_date_of_bi.yml new file mode 100644 index 0000000000..a9085a9a11 --- /dev/null +++ b/config/sync/paragraphs.paragraphs_type.digital_form_name_and_date_of_bi.yml @@ -0,0 +1,17 @@ +uuid: b13f4f29-83bc-456a-9c13-59e2d5f42294 +langcode: en +status: true +dependencies: + content: + - 'file:file:bf614684-8419-43da-b028-d179b527e015' + module: + - paragraphs_browser +third_party_settings: + paragraphs_browser: + image_path: themes/custom/vagovclaro/images/screenshots/name-and-dob.png +id: digital_form_name_and_date_of_bi +label: 'Name and Date of Birth' +icon_uuid: bf614684-8419-43da-b028-d179b527e015 +icon_default: 'data:image/png;base64,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' +description: "Follow this pattern whenever you need to ask for a person's name and (optionally) date of birth for an application." +behavior_plugins: { } diff --git a/config/sync/paragraphs_browser.paragraphs_browser_type.digital_forms.yml b/config/sync/paragraphs_browser.paragraphs_browser_type.digital_forms.yml new file mode 100644 index 0000000000..746c7fdd5a --- /dev/null +++ b/config/sync/paragraphs_browser.paragraphs_browser_type.digital_forms.yml @@ -0,0 +1,13 @@ +uuid: 1c8bc453-7d6c-4b2a-ac2a-148fb47e5522 +langcode: en +status: true +dependencies: { } +id: digital_forms +label: 'Digital Forms' +groups: + patterns: + label: Patterns + id: patterns + weight: '0' +map: + digital_form_name_and_date_of_bi: patterns diff --git a/config/sync/prometheus_exporter.settings.yml b/config/sync/prometheus_exporter.settings.yml index 0bf274533d..b81670bf1e 100644 --- a/config/sync/prometheus_exporter.settings.yml +++ b/config/sync/prometheus_exporter.settings.yml @@ -14,6 +14,7 @@ collectors: campaign_landing_page: campaign_landing_page centralized_content: centralized_content checklist: checklist + digital_form: digital_form documentation_page: documentation_page event: event event_listing: event_listing diff --git a/config/sync/workflows.workflow.editorial.yml b/config/sync/workflows.workflow.editorial.yml index 8f2215978c..ec9dacdbd8 100644 --- a/config/sync/workflows.workflow.editorial.yml +++ b/config/sync/workflows.workflow.editorial.yml @@ -13,6 +13,7 @@ dependencies: - node.type.campaign_landing_page - node.type.centralized_content - node.type.checklist + - node.type.digital_form - node.type.documentation_page - node.type.event - node.type.event_listing @@ -146,6 +147,7 @@ type_settings: - campaign_landing_page - centralized_content - checklist + - digital_form - documentation_page - event - event_listing diff --git a/docroot/modules/custom/va_gov_content_types/src/Entity/DigitalForm.php b/docroot/modules/custom/va_gov_content_types/src/Entity/DigitalForm.php new file mode 100644 index 0000000000..ded9b62280 --- /dev/null +++ b/docroot/modules/custom/va_gov_content_types/src/Entity/DigitalForm.php @@ -0,0 +1,10 @@ + DigitalForm::class, 'health_care_local_facility' => HealthCareLocalFacility::class, 'event' => Event::class, ]; diff --git a/docroot/themes/custom/vagovclaro/images/screenshots/name-and-dob.png b/docroot/themes/custom/vagovclaro/images/screenshots/name-and-dob.png new file mode 100644 index 0000000000000000000000000000000000000000..a482dbcc411f43d55d639a5dcc3c868d3817bf46 GIT binary patch literal 104589 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%0A&l7GDx`rJQ}z>Tv2z*wnjkxS=qtYXjt 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 literal 0 HcmV?d00001 diff --git a/scripts/content/digital-forms.php b/scripts/content/digital-forms.php new file mode 100644 index 0000000000..cc22b4f1ed --- /dev/null +++ b/scripts/content/digital-forms.php @@ -0,0 +1,68 @@ + 'digital_form', + 'title' => 'Script Generated Digital Form', + 'field_va_form_number' => '123456789', + 'field_omb_number' => '1234-5678', + 'moderation_state' => 'published', + ]); + $digital_form->field_chapters->appendItem(create_step()); + $digital_form + ->field_chapters + ->appendItem(create_step('Step without Date of Birth', FALSE)); + save_node_revision($digital_form, 'Created by the content script', TRUE); +} + +/** + * Creates a Digital Form Step. + * + * For now, this only creates the Name and Date of Birth step. + * That will change as more patterns are added. + * + * @param string $title + * The step title. + * @param bool $includeDob + * Should the step include the date of birth field? + * + * @return \Drupal\paragraphs\Entity\Paragraph + * The created Step. + */ +function create_step( + string $title = 'Script Generated Step', + bool $includeDob = TRUE, +): Paragraph { + return Paragraph::create([ + 'type' => 'digital_form_name_and_date_of_bi', + 'field_title' => $title, + 'field_include_date_of_birth' => $includeDob, + ]); +} diff --git a/scripts/content/script-library.php b/scripts/content/script-library.php index e7d55cca42..a19bedfd1f 100644 --- a/scripts/content/script-library.php +++ b/scripts/content/script-library.php @@ -19,7 +19,7 @@ use Drupal\user\UserStorageInterface; use Psr\Log\LogLevel; -const CMS_MIGRATOR_ID = 1317; +const CMS_MIGRATOR_ID = 1317; // phpcs:ignore /** * Log a message to stdout. @@ -46,6 +46,19 @@ function entity_type_manager(): EntityTypeManagerInterface { return $entity_type_manager; } +/** + * Exit if script is run in an environment other than local or tugboat. + * + * @param string $env + * The CMS environment. + */ +function exit_if_not_local_or_tugboat(string $env) { + if ($env !== 'local' && $env !== 'tugboat') { + echo "This script can only be run on local or Tugboat environments.\n"; + exit(); + } +} + /** * Get the node storage. * diff --git a/scripts/content/vacms-17969/VACMS-17969-vba-test-data-processor.php b/scripts/content/vacms-17969/VACMS-17969-vba-test-data-processor.php index 6e57b04f8a..e4393eb5cc 100644 --- a/scripts/content/vacms-17969/VACMS-17969-vba-test-data-processor.php +++ b/scripts/content/vacms-17969/VACMS-17969-vba-test-data-processor.php @@ -20,10 +20,7 @@ */ function run() { $env = getenv('CMS_ENVIRONMENT_TYPE') ?: 'ci'; - if ($env !== 'local' && $env !== 'tugboat') { - echo "This script can only be run on local or Tugboat environments.\n"; - exit(); - } + exit_if_not_local_or_tugboat($env); process_csv_file(__DIR__ . '/VACMS-17969-vba-test-data-source-services.csv', 'create_vba_facility_service_node'); process_csv_file(__DIR__ . '/VACMS-17969-vba-test-data-source-facilities.csv', diff --git a/tests/phpunit/va_gov_content_types/functional/Entity/DigitalFormTest.php b/tests/phpunit/va_gov_content_types/functional/Entity/DigitalFormTest.php new file mode 100644 index 0000000000..c4c3b4f7c5 --- /dev/null +++ b/tests/phpunit/va_gov_content_types/functional/Entity/DigitalFormTest.php @@ -0,0 +1,40 @@ + '12345', + 'field_omb_number' => '1234-5678', + 'title' => 'Test Digital Form', + 'type' => 'digital_form', + ]; + + $node = $this->createNode($digital_form_attrs); + $this->assertEquals(DigitalForm::class, get_class($node)); + $this->assertEquals($node->getTitle(), $digital_form_attrs['title']); + $this->assertEquals( + $node->get('field_va_form_number')->getString(), + $digital_form_attrs['field_va_form_number'] + ); + $this->assertEquals( + $node->get('field_omb_number')->getString(), + $digital_form_attrs['field_omb_number'] + ); + } + +}