From ae92483a374e311b1c4be162f0bbab488ac5c17a Mon Sep 17 00:00:00 2001 From: Daniel Sasser Date: Tue, 24 Oct 2023 14:06:43 -0700 Subject: [PATCH 1/8] VACMS-15641 national outreach checkbox (#15761) * VACMS-10089: Outreach checkbox without field listing cardinality change * VACMS-10089: The piece we need to rethink * VACMS-15641: Adds check for approved outreach checkbox users. * VACMS-15641: Uses new field for storing additional event listings. * VACMS-15641: Adds new field, field_additional_listings to the Event content type. * VACMS-15641: Restores revision_log to the events form display. * VACMS-15641: Allows admins to see the checkbox. * VACMS-15641: Ensure the additional listings are removed if the checkbox is unchecked. * VACMS-15641: Updates events cypress test. - Changes the feature toggle step definition to not require admin. * VACMS-15641: Remove an unnecessary cypress test. * VACMS-15641: Remove redundant test. --------- Co-authored-by: Christia Troyer Co-authored-by: Daniel Sasser --- ...entity_form_display.node.event.default.yml | 37 ++- ...entity_view_display.node.event.default.yml | 53 ++++- ....entity_view_display.node.event.teaser.yml | 16 ++ config/sync/feature_toggle.features.yml | 1 + ...d.node.event.field_additional_listings.yml | 38 ++++ ...de.event.field_publish_to_outreach_cal.yml | 28 +++ ...storage.node.field_additional_listings.yml | 19 ++ ...age.node.field_publish_to_outreach_cal.yml | 18 ++ .../EventSubscriber/EntityEventSubscriber.php | 213 +++++++++++++++++- .../va_gov_events/va_gov_events.services.yml | 2 +- .../assets/scss/components/_fields.scss | 8 + .../features/content_type/event.feature | 12 +- .../features/platform/file_upload.feature | 11 - .../common/i_create_a_node.js | 2 + .../common/i_set_a_feature_toggle.js | 14 ++ tests/cypress/support/commands.js | 8 + 16 files changed, 431 insertions(+), 49 deletions(-) create mode 100644 config/sync/field.field.node.event.field_additional_listings.yml create mode 100644 config/sync/field.field.node.event.field_publish_to_outreach_cal.yml create mode 100644 config/sync/field.storage.node.field_additional_listings.yml create mode 100644 config/sync/field.storage.node.field_publish_to_outreach_cal.yml delete mode 100644 tests/cypress/integration/features/platform/file_upload.feature create mode 100644 tests/cypress/integration/step_definitions/common/i_set_a_feature_toggle.js diff --git a/config/sync/core.entity_form_display.node.event.default.yml b/config/sync/core.entity_form_display.node.event.default.yml index 8c99f87f35d..a5a1bb89eea 100644 --- a/config/sync/core.entity_form_display.node.event.default.yml +++ b/config/sync/core.entity_form_display.node.event.default.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.field.node.event.field_additional_information_abo + - field.field.node.event.field_additional_listings - field.field.node.event.field_address - field.field.node.event.field_administration - field.field.node.event.field_body @@ -23,6 +24,7 @@ dependencies: - field.field.node.event.field_media - field.field.node.event.field_meta_tags - field.field.node.event.field_order + - field.field.node.event.field_publish_to_outreach_cal - field.field.node.event.field_url_of_an_online_event - node.type.event - workflows.workflow.editorial @@ -46,7 +48,7 @@ third_party_settings: label: 'Section settings' region: content parent_name: '' - weight: 8 + weight: 9 format_type: details_sidebar format_settings: classes: '' @@ -64,7 +66,7 @@ third_party_settings: label: Location region: content parent_name: '' - weight: 7 + weight: 8 format_type: details format_settings: classes: '' @@ -81,7 +83,7 @@ third_party_settings: label: Registration region: content parent_name: '' - weight: 6 + weight: 7 format_type: fieldset format_settings: classes: '' @@ -142,7 +144,7 @@ third_party_settings: label: 'Meta Tags' region: content parent_name: '' - weight: 5 + weight: 6 format_type: fieldset format_settings: classes: '' @@ -173,7 +175,7 @@ third_party_settings: label: Free region: content parent_name: group_all_events_are_free - weight: 15 + weight: 32 format_type: html_element format_settings: classes: '' @@ -200,7 +202,7 @@ content: third_party_settings: { } field_additional_information_abo: type: text_textarea - weight: 31 + weight: 32 region: content settings: rows: 5 @@ -220,7 +222,7 @@ content: third_party_settings: { } field_body: type: text_textarea - weight: 4 + weight: 5 region: content settings: rows: 5 @@ -258,7 +260,10 @@ content: custom show_extra: true hide_date: false + separator: to add_abbreviations: '' + allday: true + remove_seconds: false third_party_settings: smart_date_recur: modal: true @@ -318,7 +323,7 @@ content: third_party_settings: { } field_last_saved_by_an_editor: type: datetime_timestamp - weight: 44 + weight: 16 region: content settings: { } third_party_settings: { } @@ -337,7 +342,11 @@ content: weight: 2 region: content settings: { } - third_party_settings: { } + third_party_settings: + limited_field_widgets: + limit_values: '1' + change_labels: + add_another: '' field_location_humanreadable: type: string_textfield weight: 16 @@ -354,7 +363,7 @@ content: third_party_settings: { } field_media: type: media_library_widget - weight: 3 + weight: 4 region: content settings: media_types: { } @@ -365,6 +374,13 @@ content: region: content settings: { } third_party_settings: { } + field_publish_to_outreach_cal: + type: boolean_checkbox + weight: 3 + region: content + settings: + display_label: true + third_party_settings: { } field_url_of_an_online_event: type: linkit weight: 15 @@ -411,6 +427,7 @@ content: settings: { } third_party_settings: { } hidden: + field_additional_listings: true field_event_cost: true field_meta_tags: true langcode: true diff --git a/config/sync/core.entity_view_display.node.event.default.yml b/config/sync/core.entity_view_display.node.event.default.yml index c765795f387..9dce9c4eb32 100644 --- a/config/sync/core.entity_view_display.node.event.default.yml +++ b/config/sync/core.entity_view_display.node.event.default.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.field.node.event.field_additional_information_abo + - field.field.node.event.field_additional_listings - field.field.node.event.field_address - field.field.node.event.field_administration - field.field.node.event.field_body @@ -23,6 +24,7 @@ dependencies: - field.field.node.event.field_media - field.field.node.event.field_meta_tags - field.field.node.event.field_order + - field.field.node.event.field_publish_to_outreach_cal - field.field.node.event.field_url_of_an_online_event - node.type.event module: @@ -50,6 +52,8 @@ third_party_settings: group_c: children: - field_datetime_range_timezone + - field_listing + - field_additional_listings - field_media - field_body - field_url_of_an_online_event @@ -74,7 +78,7 @@ third_party_settings: label: Location-related parent_name: group_c region: content - weight: 28 + weight: 8 format_type: fieldset format_settings: classes: '' @@ -89,7 +93,7 @@ third_party_settings: label: 'Registration related' parent_name: group_c region: content - weight: 29 + weight: 9 format_type: fieldset format_settings: classes: '' @@ -120,7 +124,15 @@ content: label: above settings: { } third_party_settings: { } - weight: 29 + weight: 21 + region: content + field_additional_listings: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 3 region: content field_address: type: address_default @@ -134,7 +146,7 @@ content: label: above settings: { } third_party_settings: { } - weight: 25 + weight: 5 region: content field_datetime_range_timezone: type: smartdate_default @@ -146,8 +158,17 @@ content: force_chronological: false add_classes: false time_wrapper: true + localize: false + parts: + - start + - end + duration: + separator: ' | ' + unit: '' + decimals: 2 + suffix: h third_party_settings: { } - weight: 23 + weight: 1 region: content field_description: type: string @@ -163,14 +184,14 @@ content: settings: link_to_entity: false third_party_settings: { } - weight: 20 + weight: 19 region: content field_event_cta: type: list_default label: above settings: { } third_party_settings: { } - weight: 27 + weight: 7 region: content field_event_registrationrequired: type: boolean @@ -188,7 +209,7 @@ content: settings: link: true third_party_settings: { } - weight: 17 + weight: 18 region: content field_featured: type: boolean @@ -222,6 +243,14 @@ content: third_party_settings: { } weight: 17 region: content + field_listing: + type: entity_reference_label + label: above + settings: + link: true + third_party_settings: { } + weight: 2 + region: content field_location_humanreadable: type: string label: above @@ -235,7 +264,7 @@ content: label: above settings: { } third_party_settings: { } - weight: 16 + weight: 17 region: content field_media: type: entity_reference_entity_view @@ -244,7 +273,7 @@ content: view_mode: default link: false third_party_settings: { } - weight: 24 + weight: 4 region: content field_order: type: list_default @@ -263,15 +292,15 @@ content: rel: '' target: '' third_party_settings: { } - weight: 26 + weight: 6 region: content hidden: breadcrumbs: true content_moderation_control: true field_administration: true field_last_saved_by_an_editor: true - field_listing: true field_meta_tags: true + field_publish_to_outreach_cal: true langcode: true links: true search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.event.teaser.yml b/config/sync/core.entity_view_display.node.event.teaser.yml index b2e2adfdd9a..5ac4b47b0ac 100644 --- a/config/sync/core.entity_view_display.node.event.teaser.yml +++ b/config/sync/core.entity_view_display.node.event.teaser.yml @@ -5,6 +5,7 @@ dependencies: config: - core.entity_view_mode.node.teaser - field.field.node.event.field_additional_information_abo + - field.field.node.event.field_additional_listings - field.field.node.event.field_address - field.field.node.event.field_administration - field.field.node.event.field_body @@ -24,6 +25,7 @@ dependencies: - field.field.node.event.field_media - field.field.node.event.field_meta_tags - field.field.node.event.field_order + - field.field.node.event.field_publish_to_outreach_cal - field.field.node.event.field_url_of_an_online_event - node.type.event module: @@ -35,6 +37,18 @@ targetEntityType: node bundle: event mode: teaser content: + breadcrumbs: + type: link + label: hidden + settings: + trim_length: 80 + url_only: false + url_plain: false + rel: '' + target: '' + third_party_settings: { } + weight: -5 + region: content field_body: type: text_default label: hidden @@ -56,6 +70,7 @@ content: hidden: content_moderation_control: true field_additional_information_abo: true + field_additional_listings: true field_address: true field_administration: true field_description: true @@ -73,6 +88,7 @@ hidden: field_media: true field_meta_tags: true field_order: true + field_publish_to_outreach_cal: true field_url_of_an_online_event: true langcode: true links: true diff --git a/config/sync/feature_toggle.features.yml b/config/sync/feature_toggle.features.yml index 3c70f0d3ef2..500db737703 100644 --- a/config/sync/feature_toggle.features.yml +++ b/config/sync/feature_toggle.features.yml @@ -5,3 +5,4 @@ features: feature_single_value_field_link: FEATURE_SINGLE_VALUE_FIELD_LINK feature_health_connect_number: FEATURE_HEALTH_CONNECT_NUMBER feature_mobile_app_promo: FEATURE_MOBILE_APP_PROMO + feature_event_outreach_checkbox: FEATURE_EVENT_OUTREACH_CHECKBOX diff --git a/config/sync/field.field.node.event.field_additional_listings.yml b/config/sync/field.field.node.event.field_additional_listings.yml new file mode 100644 index 00000000000..7cad3388545 --- /dev/null +++ b/config/sync/field.field.node.event.field_additional_listings.yml @@ -0,0 +1,38 @@ +uuid: 8a728072-bd70-4a45-9109-34daa8451ae8 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_additional_listings + - node.type.event + 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.event.field_additional_listings +field_name: field_additional_listings +entity_type: node +bundle: event +label: 'Additional Listings' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: + target_bundles: + event: event + sort: + field: _none + direction: ASC + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/config/sync/field.field.node.event.field_publish_to_outreach_cal.yml b/config/sync/field.field.node.event.field_publish_to_outreach_cal.yml new file mode 100644 index 00000000000..297adec89eb --- /dev/null +++ b/config/sync/field.field.node.event.field_publish_to_outreach_cal.yml @@ -0,0 +1,28 @@ +uuid: ba2d9d43-c4b9-4bfd-831a-9ef7544d43f8 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_publish_to_outreach_cal + - node.type.event + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: node.event.field_publish_to_outreach_cal +field_name: field_publish_to_outreach_cal +entity_type: node +bundle: event +label: 'Publish to the National Outreach Calendar' +description: '' +required: false +translatable: false +default_value: + - + value: 0 +default_value_callback: '' +settings: + on_label: 'Yes' + off_label: 'No' +field_type: boolean diff --git a/config/sync/field.storage.node.field_additional_listings.yml b/config/sync/field.storage.node.field_additional_listings.yml new file mode 100644 index 00000000000..f66f010832d --- /dev/null +++ b/config/sync/field.storage.node.field_additional_listings.yml @@ -0,0 +1,19 @@ +uuid: b7f382fa-a73c-4bdd-b7f7-4f4c1c0294e8 +langcode: en +status: true +dependencies: + module: + - node +id: node.field_additional_listings +field_name: field_additional_listings +entity_type: node +type: entity_reference +settings: + target_type: node +module: core +locked: false +cardinality: -1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/config/sync/field.storage.node.field_publish_to_outreach_cal.yml b/config/sync/field.storage.node.field_publish_to_outreach_cal.yml new file mode 100644 index 00000000000..760a11b0f32 --- /dev/null +++ b/config/sync/field.storage.node.field_publish_to_outreach_cal.yml @@ -0,0 +1,18 @@ +uuid: ad80a854-7f29-45c1-871a-2d087663f64a +langcode: en +status: true +dependencies: + module: + - node +id: node.field_publish_to_outreach_cal +field_name: field_publish_to_outreach_cal +entity_type: node +type: boolean +settings: { } +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php b/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php index b3a543ceeda..4abaedfd528 100644 --- a/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php +++ b/docroot/modules/custom/va_gov_events/src/EventSubscriber/EntityEventSubscriber.php @@ -2,9 +2,15 @@ namespace Drupal\va_gov_events\EventSubscriber; +use Drupal\Core\Session\AccountInterface; +use Drupal\Core\Session\AccountProxy; use Drupal\Core\StringTranslation\StringTranslationTrait; -use Drupal\Core\StringTranslation\TranslationInterface; +use Drupal\core_event_dispatcher\EntityHookEvents; +use Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent; use Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent; +use Drupal\feature_toggle\FeatureStatus; +use Drupal\node\NodeInterface; +use Drupal\va_gov_user\Service\UserPermsService; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** @@ -14,14 +20,89 @@ class EntityEventSubscriber implements EventSubscriberInterface { use StringTranslationTrait; + /** + * The 'publish to the national outreach calendar' field name. + */ + const PUBLISH_TO_OUTREACH_CAL_FIELD = 'field_publish_to_outreach_cal'; + + /** + * The 'field_listing' field name. + */ + const LISTING_FIELD = 'field_listing'; + + /** + * The 'field_additional_listings' field name. + */ + const ADDITIONAL_LISTING_FIELD = 'field_additional_listings'; + + /** + * The National Outreach Calendar node id. + */ + const OUTREACH_CAL_NID = 736; + + /** + * The 'Outreach Hub' Section term id. + */ + const OUTREACH_HUB_TID = 7; + + /** + * The Feature toggle name for outreach checkbox. + */ + const OUTREACH_CHECKBOX_FEATURE_NAME = 'feature_event_outreach_checkbox'; + + /** + * The list of users allowed to view the outreach checkbox. + */ + const OUTREACH_CHECKBOX_TEST_USERS = [ + 2910, + 1448, + 4356, + 2861, + 2922, + 3421, + 3314, + 4573, + 3864, + 1583, + 3610, + 2927, + ]; + + /** + * The User Perms Service. + * + * @var \Drupal\va_gov_user\Service\UserPermsService + */ + protected UserPermsService $userPermsService; + + /** + * The current user. + * + * @var \Drupal\Core\Session\AccountInterface + */ + protected AccountInterface $currentUser; + + /** + * TRUE if the outreach checkbox feature toggle is enabled. + * + * @var bool + */ + private bool $outreachCheckboxFeatureEnabled; + /** * Constructs the EventSubscriber object. * - * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation - * The string translation service. + * @param \Drupal\va_gov_user\Service\UserPermsService $user_perms_service + * The current user perms service. + * @param \Drupal\Core\Session\AccountProxy $account_proxy + * The account proxy service. + * @param \Drupal\feature_toggle\FeatureStatus $feature_status + * The feature status service. */ - public function __construct(TranslationInterface $string_translation) { - $this->stringTranslation = $string_translation; + public function __construct(UserPermsService $user_perms_service, AccountProxy $account_proxy, FeatureStatus $feature_status) { + $this->userPermsService = $user_perms_service; + $this->currentUser = $account_proxy->getAccount(); + $this->outreachCheckboxFeatureEnabled = $feature_status->getStatus(self::OUTREACH_CHECKBOX_FEATURE_NAME); } /** @@ -31,11 +112,55 @@ public static function getSubscribedEvents(): array { return [ 'hook_event_dispatcher.form_node_event_form.alter' => 'alterEventNodeForm', 'hook_event_dispatcher.form_node_event_edit_form.alter' => 'alterEventNodeForm', + EntityHookEvents::ENTITY_PRE_SAVE => 'entityPresave', ]; } /** - * Form alterations for eventcontent type. + * Determines if the 'add to National Outreach Calendar' checkbox is enabled. + * + * @return bool + * TRUE if the outreach checkbox should be enabled. + */ + protected function outreachCheckboxEnabled(): bool { + $admin = $this->userPermsService->hasAdminRole(TRUE); + return ( + $this->outreachCheckboxFeatureEnabled + && (in_array($this->currentUser->id(), self::OUTREACH_CHECKBOX_TEST_USERS) || $admin) + ); + } + + /** + * Determines if the current user is an 'Outreach Hub' only user. + * + * @return bool + * TRUE if the current user only has the 'Outreach Hub' section. + */ + protected function outreachHubOnlyUser(): bool { + $sections = $this->userPermsService->getSections($this->currentUser); + if (count($sections) === 1 && array_key_first($sections) === self::OUTREACH_HUB_TID) { + return TRUE; + } + return FALSE; + } + + /** + * Entity presave Event call. + * + * @param \Drupal\core_event_dispatcher\Event\Entity\EntityPresaveEvent $event + * The event. + * + * @throws \Drupal\Core\TypedData\Exception\MissingDataException + */ + public function entityPresave(EntityPresaveEvent $event): void { + $entity = $event->getEntity(); + if ($entity instanceof NodeInterface) { + $this->addToNationalOutreachCalendar($entity); + } + } + + /** + * Form alterations for event content type. * * @param \Drupal\core_event_dispatcher\Event\Form\FormIdAlterEvent $event * The event. @@ -45,6 +170,76 @@ public function alterEventNodeForm(FormIdAlterEvent $event): void { $this->addDisplayManagementToEventFields($form); $this->modifyFormFieldsetElements($form); $this->modifyRecurringEventsWidgetFieldPresentation($form); + $this->modifyAddToOutreachCalendarElements($form); + } + + /** + * Adds the event to the National Outreach Calendar (event_listing). + * + * The purpose of this method is to add the current node event to the National + * Outreach Calendar (an event listing node) if the $listingField + * checkbox/boolean has been set, or if the current user is an Outreach Hub + * user. + * + * @param \Drupal\node\NodeInterface $node + * The node to be modified. + * + * @throws \Drupal\Core\TypedData\Exception\MissingDataException + */ + public function addToNationalOutreachCalendar(NodeInterface $node): void { + if ($node->hasField(self::LISTING_FIELD) && + $node->hasField(self::PUBLISH_TO_OUTREACH_CAL_FIELD) && + $node->hasField(self::ADDITIONAL_LISTING_FIELD) && + $this->outreachCheckboxEnabled()) { + $addToCalValue = $node->get(self::PUBLISH_TO_OUTREACH_CAL_FIELD)->first()->getValue(); + if (isset($addToCalValue['value'])) { + $listings = $node->get(self::LISTING_FIELD)->getValue(); + $additionalListings = $node->get(self::ADDITIONAL_LISTING_FIELD)->getValue(); + if ($addToCalValue['value'] === 1 || $this->outreachHubOnlyUser()) { + // Add to Outreach calendar selected, or user is Outreach Hub only + // user. + if (!in_array(self::OUTREACH_CAL_NID, array_column($listings + $additionalListings, 'target_id'))) { + $additionalListings[] = [ + 'target_id' => self::OUTREACH_CAL_NID, + ]; + } + } + else { + // Checkbox is unset. Ensure that additional listings are removed. + $additionalListings = []; + } + $node->set(self::ADDITIONAL_LISTING_FIELD, $additionalListings); + } + } + } + + /** + * Form changes for 'Publish to National Outreach Calendar' related elements. + * + * @param array $form + * The form array. + */ + public function modifyAddToOutreachCalendarElements(array &$form) :void { + if ($this->outreachHubOnlyUser() && $this->outreachCheckboxEnabled()) { + // Disable the checkbox. + $form[self::PUBLISH_TO_OUTREACH_CAL_FIELD]['#disabled'] = TRUE; + // Set the default value of the checkbox. + $form[self::PUBLISH_TO_OUTREACH_CAL_FIELD]['widget']['value']['#default_value'] = TRUE; + // Override the field label for the checkbox. + $form[self::PUBLISH_TO_OUTREACH_CAL_FIELD]['widget']['value']['#title'] = $this->t('This event will automatically be published to the National Outreach Calendar'); + // Set the default value to the Outreach cal on the dropdown if is not + // already set. + if (empty($form[self::LISTING_FIELD]['widget']['#default_value'])) { + $form[self::LISTING_FIELD]['widget']['#default_value'] = self::OUTREACH_CAL_NID; + } + } + // Add the '- Select a value -' option (_none) since it was removed by + // the Limited Widgets for Unlimited Field module. + if (isset($form[self::LISTING_FIELD]['widget']['#options']) && !array_key_exists('_none', $form[self::LISTING_FIELD]['widget']['#options'])) { + $form[self::LISTING_FIELD]['widget']['#options'] = ['_none' => '- Select a value -'] + $form[self::LISTING_FIELD]['widget']['#options']; + } + // Only allow access to the checkbox if it should be enabled. + $form[self::PUBLISH_TO_OUTREACH_CAL_FIELD]['#access'] = $this->outreachCheckboxEnabled(); } /** @@ -53,7 +248,7 @@ public function alterEventNodeForm(FormIdAlterEvent $event): void { * @param array $form * The form. */ - public function modifyRecurringEventsWidgetFieldPresentation(array &$form) { + public function modifyRecurringEventsWidgetFieldPresentation(array &$form): void { // Add our js for toggling items depending on duration choices. $form['#attached']['library'][] = 'va_gov_events/recurring_dates'; @@ -126,7 +321,7 @@ public function modifyRecurringEventsWidgetFieldPresentation(array &$form) { * @param array $form * The form. */ - public function addDisplayManagementToEventFields(array &$form) { + public function addDisplayManagementToEventFields(array &$form): void { $form['#attached']['library'][] = 'va_gov_events/event_form_states_helpers'; } @@ -140,7 +335,7 @@ public function addDisplayManagementToEventFields(array &$form) { * @param array $form * The form. */ - public function modifyFormFieldSetElements(array &$form) { + public function modifyFormFieldSetElements(array &$form): void { // Remove the wrap and title around address widget. $form['field_address']['widget'][0]['#type'] = 'div'; unset($form['field_address']['widget'][0]['#title']); diff --git a/docroot/modules/custom/va_gov_events/va_gov_events.services.yml b/docroot/modules/custom/va_gov_events/va_gov_events.services.yml index df7b43518a3..57e983a8232 100644 --- a/docroot/modules/custom/va_gov_events/va_gov_events.services.yml +++ b/docroot/modules/custom/va_gov_events/va_gov_events.services.yml @@ -1,7 +1,7 @@ services: va_gov_events.entity_event_subscriber: class: Drupal\va_gov_events\EventSubscriber\EntityEventSubscriber - arguments: ['@string_translation'] + arguments: ['@va_gov_user.user_perms', '@current_user', '@feature_toggle.feature_status'] tags: - { name: event_subscriber } va_gov_events.route_subscriber: diff --git a/docroot/themes/custom/vagovclaro/assets/scss/components/_fields.scss b/docroot/themes/custom/vagovclaro/assets/scss/components/_fields.scss index d3ee628d2fb..7bfefb1ef9a 100644 --- a/docroot/themes/custom/vagovclaro/assets/scss/components/_fields.scss +++ b/docroot/themes/custom/vagovclaro/assets/scss/components/_fields.scss @@ -226,3 +226,11 @@ body:not(.role-admin) { .magichead .fieldset__wrapper { margin-left: var(--spacing-xl); } + +#edit-field-publish-to-outreach-cal-wrapper div.form-item--field-publish-to-outreach-cal-value { + margin-left: auto; +} + +#edit-field-publish-to-outreach-cal-wrapper label { + margin-left: var(--spacing-xs); +} diff --git a/tests/cypress/integration/features/content_type/event.feature b/tests/cypress/integration/features/content_type/event.feature index 6920dce76b6..58beddb9ef8 100644 --- a/tests/cypress/integration/features/content_type/event.feature +++ b/tests/cypress/integration/features/content_type/event.feature @@ -2,15 +2,16 @@ Feature: Content Type: Event Scenario: Log in and create an event. - Given I am logged in as a user with the "content_admin" role + Given I am logged in as a user with the "administrator" role + When I set the "feature_event_outreach_checkbox" feature toggle to "on" Then I create a "event" node Scenario: Confirm that event form conditional fields are cleared out if parent options change Given I am logged in as a user with the "content_admin" role - And I am at "node/add/event" + When I am at "node/add/event" # Check registration call to action conditional field - When I select option "Register" from dropdown "Call to action" + And I select option "Register" from dropdown "Call to action" And I fill in autocomplete field with selector "#edit-field-url-of-an-online-event-0-uri" with value "/node/5016" And I select option "- None -" from dropdown "Call to action" And I select option "Register" from dropdown "Call to action" @@ -33,7 +34,6 @@ Feature: Content Type: Event And the option "- None -" from dropdown "State" should be selected When I select the "Online" radio button Then an element with the selector "#edit-field-url-of-an-online-event-0-uri" should be empty - # EVENT FORM SPECS Scenario: Confirm that the default time zone when creating an event is set explicitly to Eastern. Given I am logged in as a user with the "content_admin" role @@ -42,7 +42,7 @@ Feature: Content Type: Event Scenario: Confirm that the event form conditional elements are shown or hidden appropriately Given I am logged in as a user with the "content_admin" role - And I am at "node/add/event" + When I am at "node/add/event" And I select the "At a VA facility" radio button Then I should see "Facility location" @@ -71,7 +71,7 @@ Feature: Content Type: Event And I should not see "Country" And I should see an element with the selector "#edit-field-url-of-an-online-event-0-uri" - # Registration checkbox reveals conditional form elements +# Registration checkbox reveals conditional form elements When I check the "Include registration information" checkbox Then "Cost" should be visible And I should see "Registration is required for this event" diff --git a/tests/cypress/integration/features/platform/file_upload.feature b/tests/cypress/integration/features/platform/file_upload.feature deleted file mode 100644 index e3e3cc71a68..00000000000 --- a/tests/cypress/integration/features/platform/file_upload.feature +++ /dev/null @@ -1,11 +0,0 @@ -@file_upload -Feature: Files can be uploaded and attached to nodes successfully - In order to reliably and predictably create content - As anybody involved in the project - I need to be able to upload and attach files to nodes. - - Scenario: We should be able to attach files to event nodes. - Given I am logged in as a user with the "content_admin" role - When I create a "event" node - Then "polygon_image.png" should exist - And an image with the selector 'div.field--name-image a img' should exist diff --git a/tests/cypress/integration/step_definitions/common/i_create_a_node.js b/tests/cypress/integration/step_definitions/common/i_create_a_node.js index d3535e4114a..ff6578e57ac 100644 --- a/tests/cypress/integration/step_definitions/common/i_create_a_node.js +++ b/tests/cypress/integration/step_definitions/common/i_create_a_node.js @@ -244,6 +244,7 @@ const creators = { "VA Alaska health care: Events", { force: true } ); + cy.get("#edit-field-publish-to-outreach-cal-value").check(); cy.findAllByLabelText("Street address").type( faker.address.streetAddress(), { force: true } @@ -279,6 +280,7 @@ const creators = { ).should("exist"); cy.get("form.node-form").find("input#edit-submit").click(); cy.get(".node__content").contains("Sun, Nov 5 2023, 10:00am - 11:00am MST"); + cy.get(".node__content").contains("Outreach events"); cy.scrollTo("top", { ensureScrollable: false }); cy.get(".tabs__tab a").contains("Edit").click({ force: true }); cy.get("#edit-field-datetime-range-timezone-0-manage-instances").click(); diff --git a/tests/cypress/integration/step_definitions/common/i_set_a_feature_toggle.js b/tests/cypress/integration/step_definitions/common/i_set_a_feature_toggle.js new file mode 100644 index 00000000000..c85b95fbd2c --- /dev/null +++ b/tests/cypress/integration/step_definitions/common/i_set_a_feature_toggle.js @@ -0,0 +1,14 @@ +import { When } from "@badeball/cypress-cucumber-preprocessor"; + +When( + "I set the {string} feature toggle to {string}", + (featureToggleMachineName, value) => { + const label = String.prototype.toUpperCase(featureToggleMachineName); + // Set the feature toggle to the value of "value". + let setValue = 0; + if (value === "on") { + setValue = 1; + } + return cy.setAFeatureToggle(featureToggleMachineName, label, setValue); + } +); diff --git a/tests/cypress/support/commands.js b/tests/cypress/support/commands.js index 742ac2dbacd..e16f61c225e 100644 --- a/tests/cypress/support/commands.js +++ b/tests/cypress/support/commands.js @@ -321,6 +321,14 @@ Cypress.Commands.add("setWorkbenchAccessSections", (value) => { }); }); +Cypress.Commands.add("setAFeatureToggle", (name, label, value) => { + const command = ` + $feature = new \\Drupal\\feature_toggle\\Feature('${name}', '${label}'); + $service = \\Drupal::service('feature_toggle.feature_status')->setStatus($feature, ${value}); + `; + return cy.drupalDrushEval(command); +}); + compareSnapshotCommand(); Cypress.on("uncaught:exception", () => { From ba2b98e049fffe2f5c719a9fae8b13158e38f0c0 Mon Sep 17 00:00:00 2001 From: Tony Taylor Date: Tue, 24 Oct 2023 17:43:04 -0500 Subject: [PATCH 2/8] VACMS-13639: Fixes content lock operation on Reusable Q&A Content Type (#15790) * Changes Q_A entity form display widget to 'Paragraphs Legacy' for 'Related Information' field --- ...ore.entity_form_display.node.q_a.default.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/config/sync/core.entity_form_display.node.q_a.default.yml b/config/sync/core.entity_form_display.node.q_a.default.yml index 453595c6462..59fdc4d7673 100644 --- a/config/sync/core.entity_form_display.node.q_a.default.yml +++ b/config/sync/core.entity_form_display.node.q_a.default.yml @@ -254,25 +254,20 @@ content: field_widget_replace: 0 open: 0 field_widget_display_settings: { } + additional_fields: + options: null third_party_settings: { } field_related_information: - type: paragraphs + type: entity_reference_paragraphs weight: 7 region: content settings: title: 'Link teaser' title_plural: 'Link teasers' edit_mode: open - closed_mode: summary - autocollapse: none - closed_mode_threshold: 0 add_mode: dropdown form_display_mode: default default_paragraph_type: link_teaser - features: - add_above: '0' - collapse_edit_all: collapse_edit_all - duplicate: '0' third_party_settings: { } field_standalone_page: type: boolean_checkbox @@ -316,9 +311,15 @@ content: maxlength: 70 counter_position: after js_prevent_submit: true + count_only_mode: false count_html_characters: false textcount_status_message: 'Characters remaining: @remaining_count' third_party_settings: { } + translation: + weight: 10 + region: content + settings: { } + third_party_settings: { } url_redirects: weight: 6 region: content From 16d504d7811cae75f0f55a2c5fa1f658a66b3d37 Mon Sep 17 00:00:00 2001 From: Kit Lykos <140734297+KitLykos@users.noreply.github.com> Date: Tue, 24 Oct 2023 20:24:57 -0400 Subject: [PATCH 3/8] VACMS-15240 Stand up running next-build server per tugboat instance (#15429) * Stubbing out next server config * Updating config values to be spaces * Updating to add splash page * changing line endings * Scripts for next build * Fixed permissions issues * Attempting file permission fix * trying one more permission thing * Change permissions. * Removed tab character * Removed the actual white space that was the issue * Added yarn start to next build * Adjusting scripts for next start * Resolving issues from review * Resolving more review stuff * adding rest of the path to next-start * Adjusting scope for output * update perms * add apache proxy settings for next-build node server * add 503 error page for next-* * 503 j2 to html --------- Co-authored-by: Kit Nunnally Co-authored-by: Nathan Douglas Co-authored-by: Tanner Heffner --- .gitignore | 3 ++ .next/403-error-document.j2.html | 51 +++++++++++++++++++++++++++++++ .next/503-error-document.j2.html | 51 +++++++++++++++++++++++++++++++ .next/README.md | 1 + .next/artur-pokusin-unsplash.jpg | Bin 0 -> 55213 bytes .tugboat/config.yml | 15 +++++++-- .tugboat/vhost-next.conf | 48 +++++++++++++++++++++++++++++ composer.json | 20 +++++++++++- scripts/next-build.sh | 11 +++++++ scripts/next-install.sh | 33 ++++++++++++++++++++ scripts/next-start.sh | 10 ++++++ tugboat.yml | 6 ++++ 12 files changed, 246 insertions(+), 3 deletions(-) create mode 100644 .next/403-error-document.j2.html create mode 100644 .next/503-error-document.j2.html create mode 100644 .next/README.md create mode 100644 .next/artur-pokusin-unsplash.jpg create mode 100644 .tugboat/vhost-next.conf create mode 100755 scripts/next-build.sh create mode 100755 scripts/next-install.sh create mode 100755 scripts/next-start.sh diff --git a/.gitignore b/.gitignore index c872fba6bd8..39f475fda72 100644 --- a/.gitignore +++ b/.gitignore @@ -102,6 +102,9 @@ datadog-setup.php # web # @TODO: Installer paths is not working. Leaving symlink for now. +# Ignore Next (next-build) +next + # Temporary .deb packages *.deb diff --git a/.next/403-error-document.j2.html b/.next/403-error-document.j2.html new file mode 100644 index 00000000000..f84d3348042 --- /dev/null +++ b/.next/403-error-document.j2.html @@ -0,0 +1,51 @@ + + + + + Next-build Preview not built yet + + + + + + + + +

Next-build not ready yet

+
+

The next-build server is not built & running yet.

+

Check the status of the composer va:next:start command in the logs to learn more.

+
+ + + + diff --git a/.next/503-error-document.j2.html b/.next/503-error-document.j2.html new file mode 100644 index 00000000000..8631aa2f721 --- /dev/null +++ b/.next/503-error-document.j2.html @@ -0,0 +1,51 @@ + + + + + Next-build Preview Server 503 Error + + + + + + + + +

Next-build server 503 response

+
+

There was a 503 error returned from the next-build server when it asked for this route.

+

Check the status of the composer va:next:start command in the logs to learn more.

+
+ + + + diff --git a/.next/README.md b/.next/README.md new file mode 100644 index 00000000000..5e3ac6dae92 --- /dev/null +++ b/.next/README.md @@ -0,0 +1 @@ +See /.tugboat/vhost-next.conf. diff --git a/.next/artur-pokusin-unsplash.jpg b/.next/artur-pokusin-unsplash.jpg new file mode 100644 index 0000000000000000000000000000000000000000..af38e8abffa5025d0cc67309e372a73056704026 GIT binary patch literal 55213 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 A8UO$Q literal 0 HcmV?d00001 diff --git a/.tugboat/config.yml b/.tugboat/config.yml index 86dda9eb1af..c4a7c97f687 100644 --- a/.tugboat/config.yml +++ b/.tugboat/config.yml @@ -8,6 +8,7 @@ services: - cms - web - storybook + - next # Set this as the default service. This does a few things # 1. Clones the git repository into the service container @@ -49,7 +50,7 @@ services: # Install opcache, and Apache modules - docker-php-ext-install opcache - - a2enmod headers rewrite vhost_alias + - a2enmod headers rewrite vhost_alias proxy proxy_http # Install datadog agent for application tracing and profiling. - DD_API_KEY=" " DD_INSTALL_ONLY=true DD_SITE="ddog-gov.com" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script_agent7.sh)" @@ -62,6 +63,9 @@ services: # Setup storybook-*. vhost to serve static website. - cp "${TUGBOAT_ROOT}"/.tugboat/vhost-storybook.conf /etc/apache2/sites-enabled/ + # Setup next-*. vhost to serve static website. + - cp "${TUGBOAT_ROOT}"/.tugboat/vhost-next.conf /etc/apache2/sites-enabled/ + # Configure KeepAliveTimeout in apache2.conf. This is set 5 seconds longer than the internal tools ALB. # The internal tools ALB idle timeout is set to longer than a typical GQL query takes. - sed -e 's/KeepAliveTimeout 5/KeepAliveTimeout 185/' -i /etc/apache2/apache2.conf @@ -184,11 +188,14 @@ services: # This command is shared by the clone and build stages, make sure to update both stages. - j2 "${TUGBOAT_ROOT}/.web/403-error-document.j2.html" -o "${TUGBOAT_ROOT}/.web/403-error-document.html" - j2 "${TUGBOAT_ROOT}/.storybook/403-error-document.j2.html" -o "${TUGBOAT_ROOT}/.storybook/403-error-document.html" + - j2 "${TUGBOAT_ROOT}/.next/403-error-document.j2.html" -o "${TUGBOAT_ROOT}/.next/403-error-document.html" + - j2 "${TUGBOAT_ROOT}/.next/503-error-document.j2.html" -o "${TUGBOAT_ROOT}/.next/503-error-document.html" - composer install - bash -lc 'nvm install' - bash -lc 'npm install' - bash -lc 'composer va:theme:compile' - bash -lc 'composer va:web:install' + - bash -lc 'composer va:next:install' # https://www.drush.org/latest/deploycommand/ (updatedb, cache:rebuild, config:import, deploy:hook) - drush deploy @@ -212,6 +219,8 @@ services: # This command is shared by the clone and build stages, make sure to update both stages. - j2 "${TUGBOAT_ROOT}/.web/403-error-document.j2.html" -o "${TUGBOAT_ROOT}/.web/403-error-document.html" - j2 "${TUGBOAT_ROOT}/.storybook/403-error-document.j2.html" -o "${TUGBOAT_ROOT}/.storybook/403-error-document.html" + - j2 "${TUGBOAT_ROOT}/.next/403-error-document.j2.html" -o "${TUGBOAT_ROOT}/.next/403-error-document.html" + - j2 "${TUGBOAT_ROOT}/.next/503-error-document.j2.html" -o "${TUGBOAT_ROOT}/.next/503-error-document.html" online: # We only want tests running on PRs, not branches like the base preview build of main. @@ -224,8 +233,10 @@ services: - find -L "${DOCROOT}/vendor/va-gov/content-build/node_modules/.bin" -type f -exec chmod +x {} \+ - find "${DOCROOT}/vendor/va-gov/content-build/script" -type f -exec chmod +x {} \+ - # Build storybook and the frontend in parallel + # Build storybook and the frontends in parallel - bash -lc 'time task --taskfile=tugboat.yml' + # Build next build server + - bash -lc 'composer va:next:start' memcache: image: tugboatqa/memcached:1.6 diff --git a/.tugboat/vhost-next.conf b/.tugboat/vhost-next.conf new file mode 100644 index 00000000000..d7fa2482347 --- /dev/null +++ b/.tugboat/vhost-next.conf @@ -0,0 +1,48 @@ +# If testing changes to this file on the tugboatqa/php:7.1-apache image (current), +# use `apache2ctl -S` to check for syntax issues then `killall apache2` to get changes to take. +# Or "Stop" then "Start" the preview as that will restart apache2 too. Worth noting that +# `service apache2 reload|restart` doesn't work on this image as `runit` is used. +# Also `sv restart apache` acts like it works but it doesn't and doesn't bubble up any errors. + + + + ServerName next-wildcard + # Route preview URLs with prefix of `next-` to folder where the generated site output is symlinked. + # e.g. https://next-msecydk1vl7ncmpkgh8vevjhzq25vacv.ci.cms.va.gov/ + ServerAlias next-* + VirtualDocumentRoot /var/lib/tugboat/docroot/next/.next + + Alias "/.next" "/var/lib/tugboat/.next" + ErrorDocument 403 /.next/403-error-document.html + ErrorDocument 503 /.next/503-error-document.html + + + Options FollowSymLinks + Require all granted + + + + Require all granted + + + ProxyPreserveHost on + # Ignore redirecting error doc directory + ProxyPass /.next/ ! + # Redirect requests to the running node server from next-build + ProxyPass / http://localhost:3000/ + ProxyPassReverse / http://localhost:3000/ + + # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, + # error, crit, alert, emerg. + # It is also possible to configure the loglevel for particular + # modules, e.g. + #LogLevel debug + + # On Tugboat these are symlinks to /dev/null by default. + # `rm /var/log/apache2/*.log` and they will be generated. + # Then `tail -f /var/log/apache2/*` will work. + ErrorLog ${APACHE_LOG_DIR}/error.log + CustomLog ${APACHE_LOG_DIR}/access.log combined + + SetEnvIf X-Forwarded-Proto "^https" HTTPS=on + diff --git a/composer.json b/composer.json index 6e6c5fd538a..119fa3113bc 100644 --- a/composer.json +++ b/composer.json @@ -571,7 +571,10 @@ "va:theme:watch": "Watch VA.gov Claro theme source and compile as needed.", "va:web:build": "Perform a content build.", "va:web:install": "Prepare the content-build project.", - "va:web:prepare-dotenv": "Prepare the ./web/.env file." + "va:web:prepare-dotenv": "Prepare the ./web/.env file.", + "va:next:install": "Prepare the next-build project", + "va:next:build": "Build the next-build server for preview", + "va:next:start": "Start the next-build server for preview" }, "scripts": { "pre-install-cmd": [ @@ -817,6 +820,21 @@ "# Prepare the ./web/.env file.", "! ./scripts/should-run-directly.sh || ./scripts/web-prepare-dotenv.sh", "./scripts/should-run-directly.sh || ddev composer va:web:prepare-dotenv --" + ], + "va:next:install": [ + "# Prepare the next build project", + "! ./scripts/should-run-directly.sh || ./scripts/next-install.sh", + "./scripts/should-run-directly.sh || ddev composer va:next:install --" + ], + "va:next:build": [ + "# Prepare the next build server", + "! ./scripts/should-run-directly.sh || ./scripts/next-build.sh", + "./scripts/should-run-directly.sh || ddev composer va:next:build --" + ], + "va:next:start": [ + "# Start the next build server", + "! ./scripts/should-run-directly.sh || ./scripts/next-start.sh", + "./scripts/should-run-directly.sh || ddev composer va:next:start --" ] } } diff --git a/scripts/next-build.sh b/scripts/next-build.sh new file mode 100755 index 00000000000..ff134cf6fe5 --- /dev/null +++ b/scripts/next-build.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#preview + +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" +source ~/.bashrc + +cd next + +APP_ENV=tugboat yarn build:preview \ No newline at end of file diff --git a/scripts/next-install.sh b/scripts/next-install.sh new file mode 100755 index 00000000000..e7063b52c2c --- /dev/null +++ b/scripts/next-install.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" +source ~/.bashrc + +# Installs the content-build dependencies. + +if [ ! -d next ]; then + git clone --single-branch --depth 1 https://github.com/department-of-veterans-affairs/next-build.git next +else + echo "Repo next-build already cloned." +fi + +cd next +#repo_root="$(git rev-parse --show-toplevel)" +#pushd "${repo_root}" > /dev/null + +nvm install 18.17.0 +nvm use 18.17.0 +corepack enable +corepack prepare yarn@stable --activate +echo "Node $(node -v)" +echo "NPM $(npm -v)" +echo "Yarn $(yarn -v)" + +#not sure how popd works +#pushd "./next" +yarn install +#popd + +#popd > /dev/null diff --git a/scripts/next-start.sh b/scripts/next-start.sh new file mode 100755 index 00000000000..65544641da5 --- /dev/null +++ b/scripts/next-start.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" +source ~/.bashrc + +cd next + +APP_ENV=tugboat yarn start diff --git a/tugboat.yml b/tugboat.yml index d8203432b5e..9e857281872 100644 --- a/tugboat.yml +++ b/tugboat.yml @@ -13,10 +13,16 @@ tasks: cmds: - drush va-gov:content-release:request-frontend-build + build-next: + desc: build next.js preview server + cmds: + - composer va:next:build + build: deps: - build-storybook - build-frontend + - build-next default: cmds: From d38a023e4478d7f05e17a8ea63eeb29988fbd823 Mon Sep 17 00:00:00 2001 From: Christian Burk Date: Wed, 25 Oct 2023 09:30:27 -0500 Subject: [PATCH 4/8] VACMS-15649: Adds taxonomy term fields for VBA services (#15682) * VACMS-15649: Adds taxonomy term fields for VBA services * VACMS-15649: Adds revision_log_message back * VACMS-15649: Adds service delivery options taxonomy --- ...m.health_care_service_taxonomy.default.yml | 44 ++++++++++++- ...m.health_care_service_taxonomy.default.yml | 40 +++++++++++- ...service_taxonomy.vamc_facility_service.yml | 8 +++ ..._service_taxonomy.vba_facility_service.yml | 8 +++ ...re_service_taxonomy.vet_center_service.yml | 8 +++ ...onomy.field_facility_service_descripti.yml | 24 +++++++ ...taxonomy.field_facility_service_header.yml | 24 +++++++ ...onomy.field_regional_service_descripti.yml | 24 +++++++ ...taxonomy.field_regional_service_header.yml | 24 +++++++ ..._term.field_facility_service_descripti.yml | 21 +++++++ ...omy_term.field_facility_service_header.yml | 21 +++++++ ..._term.field_regional_service_descripti.yml | 21 +++++++ ...omy_term.field_regional_service_header.yml | 21 +++++++ ...taxonomy_term.service_delivery_options.yml | 11 ++++ ...my.vocabulary.service_delivery_options.yml | 8 +++ .../js/displayServiceDescriptions.es6.js | 62 +++++++++++++++++++ .../js/displayServiceDescriptions.js | 36 +++++++++++ .../EventSubscriber/FacilitiesSubscriber.php | 9 +++ 18 files changed, 410 insertions(+), 4 deletions(-) create mode 100644 config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti.yml create mode 100644 config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header.yml create mode 100644 config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti.yml create mode 100644 config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header.yml create mode 100644 config/sync/field.storage.taxonomy_term.field_facility_service_descripti.yml create mode 100644 config/sync/field.storage.taxonomy_term.field_facility_service_header.yml create mode 100644 config/sync/field.storage.taxonomy_term.field_regional_service_descripti.yml create mode 100644 config/sync/field.storage.taxonomy_term.field_regional_service_header.yml create mode 100644 config/sync/language.content_settings.taxonomy_term.service_delivery_options.yml create mode 100644 config/sync/taxonomy.vocabulary.service_delivery_options.yml diff --git a/config/sync/core.entity_form_display.taxonomy_term.health_care_service_taxonomy.default.yml b/config/sync/core.entity_form_display.taxonomy_term.health_care_service_taxonomy.default.yml index 7971d714bf8..1f19d6e09da 100644 --- a/config/sync/core.entity_form_display.taxonomy_term.health_care_service_taxonomy.default.yml +++ b/config/sync/core.entity_form_display.taxonomy_term.health_care_service_taxonomy.default.yml @@ -6,9 +6,13 @@ dependencies: - field.field.taxonomy_term.health_care_service_taxonomy.field_also_known_as - field.field.taxonomy_term.health_care_service_taxonomy.field_commonly_treated_condition - field.field.taxonomy_term.health_care_service_taxonomy.field_enforce_unique_combo_servi + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_health_service_api_id - field.field.taxonomy_term.health_care_service_taxonomy.field_online_self_service - field.field.taxonomy_term.health_care_service_taxonomy.field_owner + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_service_type_of_care - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vamc_facilities - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vba_facilities @@ -99,6 +103,10 @@ third_party_settings: - field_vba_friendly_name - field_vba_com_conditions - field_vba_service_descrip + - field_regional_service_header + - field_regional_service_descripti + - field_facility_service_header + - field_facility_service_descripti - field_online_self_service - field_vba_service_regions label: VBA @@ -165,6 +173,22 @@ content: settings: size: 1 third_party_settings: { } + field_facility_service_descripti: + type: string_textfield + weight: 15 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_facility_service_header: + type: string_textfield + weight: 14 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } field_health_service_api_id: type: string_textfield weight: 2 @@ -175,12 +199,28 @@ content: third_party_settings: { } field_online_self_service: type: link_default - weight: 12 + weight: 16 region: content settings: placeholder_url: '' placeholder_title: '' third_party_settings: { } + field_regional_service_descripti: + type: string_textfield + weight: 13 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } + field_regional_service_header: + type: string_textfield + weight: 12 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } field_service_type_of_care: type: options_select weight: 15 @@ -249,7 +289,7 @@ content: third_party_settings: { } field_vba_service_regions: type: entity_reference_autocomplete - weight: 13 + weight: 17 region: content settings: match_operator: CONTAINS diff --git a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.default.yml b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.default.yml index 4ea68b3ba68..b68b4be3a0b 100644 --- a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.default.yml +++ b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.default.yml @@ -6,9 +6,13 @@ dependencies: - field.field.taxonomy_term.health_care_service_taxonomy.field_also_known_as - field.field.taxonomy_term.health_care_service_taxonomy.field_commonly_treated_condition - field.field.taxonomy_term.health_care_service_taxonomy.field_enforce_unique_combo_servi + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_health_service_api_id - field.field.taxonomy_term.health_care_service_taxonomy.field_online_self_service - field.field.taxonomy_term.health_care_service_taxonomy.field_owner + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_service_type_of_care - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vamc_facilities - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vba_facilities @@ -77,6 +81,22 @@ content: third_party_settings: { } weight: 13 region: content + field_facility_service_descripti: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 24 + region: content + field_facility_service_header: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 23 + region: content field_health_service_api_id: type: string label: above @@ -95,6 +115,22 @@ content: rel: '' target: '' third_party_settings: { } + weight: 25 + region: content + field_regional_service_descripti: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } + weight: 22 + region: content + field_regional_service_header: + type: string + label: above + settings: + link_to_entity: false + third_party_settings: { } weight: 21 region: content field_service_type_of_care: @@ -149,7 +185,7 @@ content: format_custom_false: '' format_custom_true: '' third_party_settings: { } - weight: 23 + weight: 27 region: content field_vba_com_conditions: type: string @@ -180,7 +216,7 @@ content: settings: link: true third_party_settings: { } - weight: 22 + weight: 26 region: content field_vba_type_of_care: type: list_default diff --git a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vamc_facility_service.yml b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vamc_facility_service.yml index 8c76b009e50..45ff64af5c9 100644 --- a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vamc_facility_service.yml +++ b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vamc_facility_service.yml @@ -7,9 +7,13 @@ dependencies: - field.field.taxonomy_term.health_care_service_taxonomy.field_also_known_as - field.field.taxonomy_term.health_care_service_taxonomy.field_commonly_treated_condition - field.field.taxonomy_term.health_care_service_taxonomy.field_enforce_unique_combo_servi + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_health_service_api_id - field.field.taxonomy_term.health_care_service_taxonomy.field_online_self_service - field.field.taxonomy_term.health_care_service_taxonomy.field_owner + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_service_type_of_care - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vamc_facilities - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vba_facilities @@ -78,9 +82,13 @@ hidden: field_also_known_as: true field_commonly_treated_condition: true field_enforce_unique_combo_servi: true + field_facility_service_descripti: true + field_facility_service_header: true field_health_service_api_id: true field_online_self_service: true field_owner: true + field_regional_service_descripti: true + field_regional_service_header: true field_service_type_of_care: true field_show_for_vamc_facilities: true field_show_for_vba_facilities: true diff --git a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vba_facility_service.yml b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vba_facility_service.yml index fdd9ca04242..375a9078227 100644 --- a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vba_facility_service.yml +++ b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vba_facility_service.yml @@ -7,9 +7,13 @@ dependencies: - field.field.taxonomy_term.health_care_service_taxonomy.field_also_known_as - field.field.taxonomy_term.health_care_service_taxonomy.field_commonly_treated_condition - field.field.taxonomy_term.health_care_service_taxonomy.field_enforce_unique_combo_servi + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_health_service_api_id - field.field.taxonomy_term.health_care_service_taxonomy.field_online_self_service - field.field.taxonomy_term.health_care_service_taxonomy.field_owner + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_service_type_of_care - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vamc_facilities - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vba_facilities @@ -75,9 +79,13 @@ hidden: field_also_known_as: true field_commonly_treated_condition: true field_enforce_unique_combo_servi: true + field_facility_service_descripti: true + field_facility_service_header: true field_health_service_api_id: true field_online_self_service: true field_owner: true + field_regional_service_descripti: true + field_regional_service_header: true field_service_type_of_care: true field_show_for_vamc_facilities: true field_show_for_vba_facilities: true diff --git a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vet_center_service.yml b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vet_center_service.yml index c385015b76a..ffb258753ed 100644 --- a/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vet_center_service.yml +++ b/config/sync/core.entity_view_display.taxonomy_term.health_care_service_taxonomy.vet_center_service.yml @@ -7,9 +7,13 @@ dependencies: - field.field.taxonomy_term.health_care_service_taxonomy.field_also_known_as - field.field.taxonomy_term.health_care_service_taxonomy.field_commonly_treated_condition - field.field.taxonomy_term.health_care_service_taxonomy.field_enforce_unique_combo_servi + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_health_service_api_id - field.field.taxonomy_term.health_care_service_taxonomy.field_online_self_service - field.field.taxonomy_term.health_care_service_taxonomy.field_owner + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti + - field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header - field.field.taxonomy_term.health_care_service_taxonomy.field_service_type_of_care - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vamc_facilities - field.field.taxonomy_term.health_care_service_taxonomy.field_show_for_vba_facilities @@ -77,9 +81,13 @@ hidden: field_also_known_as: true field_commonly_treated_condition: true field_enforce_unique_combo_servi: true + field_facility_service_descripti: true + field_facility_service_header: true field_health_service_api_id: true field_online_self_service: true field_owner: true + field_regional_service_descripti: true + field_regional_service_header: true field_service_type_of_care: true field_show_for_vamc_facilities: true field_show_for_vba_facilities: true diff --git a/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti.yml b/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti.yml new file mode 100644 index 00000000000..e337b5b47ce --- /dev/null +++ b/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti.yml @@ -0,0 +1,24 @@ +uuid: 4d8bf339-fe4c-440a-adcb-294d21f3b234 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_facility_service_descripti + - taxonomy.vocabulary.health_care_service_taxonomy + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: taxonomy_term.health_care_service_taxonomy.field_facility_service_descripti +field_name: field_facility_service_descripti +entity_type: taxonomy_term +bundle: health_care_service_taxonomy +label: 'Facility service description' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header.yml b/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header.yml new file mode 100644 index 00000000000..5b988b758e1 --- /dev/null +++ b/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_facility_service_header.yml @@ -0,0 +1,24 @@ +uuid: 0621ef26-5e83-4619-9ec8-9d904524daf5 +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_facility_service_header + - taxonomy.vocabulary.health_care_service_taxonomy + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: taxonomy_term.health_care_service_taxonomy.field_facility_service_header +field_name: field_facility_service_header +entity_type: taxonomy_term +bundle: health_care_service_taxonomy +label: 'Facility service header' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti.yml b/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti.yml new file mode 100644 index 00000000000..9c280dfacee --- /dev/null +++ b/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti.yml @@ -0,0 +1,24 @@ +uuid: 4bcbbc89-3484-4924-bcc5-fe9579bfd3ce +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_regional_service_descripti + - taxonomy.vocabulary.health_care_service_taxonomy + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: taxonomy_term.health_care_service_taxonomy.field_regional_service_descripti +field_name: field_regional_service_descripti +entity_type: taxonomy_term +bundle: health_care_service_taxonomy +label: 'Regional service description' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header.yml b/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header.yml new file mode 100644 index 00000000000..f78a6e04e92 --- /dev/null +++ b/config/sync/field.field.taxonomy_term.health_care_service_taxonomy.field_regional_service_header.yml @@ -0,0 +1,24 @@ +uuid: 0c6de90d-3960-407c-ab9a-8266320925ef +langcode: en +status: true +dependencies: + config: + - field.storage.taxonomy_term.field_regional_service_header + - taxonomy.vocabulary.health_care_service_taxonomy + module: + - tmgmt_content +third_party_settings: + tmgmt_content: + excluded: false +id: taxonomy_term.health_care_service_taxonomy.field_regional_service_header +field_name: field_regional_service_header +entity_type: taxonomy_term +bundle: health_care_service_taxonomy +label: 'Regional service header' +description: '' +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: { } +field_type: string diff --git a/config/sync/field.storage.taxonomy_term.field_facility_service_descripti.yml b/config/sync/field.storage.taxonomy_term.field_facility_service_descripti.yml new file mode 100644 index 00000000000..eeae202f109 --- /dev/null +++ b/config/sync/field.storage.taxonomy_term.field_facility_service_descripti.yml @@ -0,0 +1,21 @@ +uuid: da41c0a6-f37e-4141-8dce-009c44544559 +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_facility_service_descripti +field_name: field_facility_service_descripti +entity_type: taxonomy_term +type: string +settings: + max_length: 255 + 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.taxonomy_term.field_facility_service_header.yml b/config/sync/field.storage.taxonomy_term.field_facility_service_header.yml new file mode 100644 index 00000000000..1f68f0d781b --- /dev/null +++ b/config/sync/field.storage.taxonomy_term.field_facility_service_header.yml @@ -0,0 +1,21 @@ +uuid: cfa50495-7f90-4ecb-818d-1c137df35fe9 +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_facility_service_header +field_name: field_facility_service_header +entity_type: taxonomy_term +type: string +settings: + max_length: 255 + 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.taxonomy_term.field_regional_service_descripti.yml b/config/sync/field.storage.taxonomy_term.field_regional_service_descripti.yml new file mode 100644 index 00000000000..0d98c78135c --- /dev/null +++ b/config/sync/field.storage.taxonomy_term.field_regional_service_descripti.yml @@ -0,0 +1,21 @@ +uuid: f3e3694e-df97-4493-93e8-81e6a34493c0 +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_regional_service_descripti +field_name: field_regional_service_descripti +entity_type: taxonomy_term +type: string +settings: + max_length: 255 + 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.taxonomy_term.field_regional_service_header.yml b/config/sync/field.storage.taxonomy_term.field_regional_service_header.yml new file mode 100644 index 00000000000..d038409adc6 --- /dev/null +++ b/config/sync/field.storage.taxonomy_term.field_regional_service_header.yml @@ -0,0 +1,21 @@ +uuid: 6a2939f6-917f-4e6b-a675-4e7fd8a826f1 +langcode: en +status: true +dependencies: + module: + - taxonomy +id: taxonomy_term.field_regional_service_header +field_name: field_regional_service_header +entity_type: taxonomy_term +type: string +settings: + max_length: 255 + 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/language.content_settings.taxonomy_term.service_delivery_options.yml b/config/sync/language.content_settings.taxonomy_term.service_delivery_options.yml new file mode 100644 index 00000000000..8fe83508474 --- /dev/null +++ b/config/sync/language.content_settings.taxonomy_term.service_delivery_options.yml @@ -0,0 +1,11 @@ +uuid: ac0269fe-3d1d-4e17-940d-45e0f047a0ae +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.service_delivery_options +id: taxonomy_term.service_delivery_options +target_entity_type_id: taxonomy_term +target_bundle: service_delivery_options +default_langcode: site_default +language_alterable: false diff --git a/config/sync/taxonomy.vocabulary.service_delivery_options.yml b/config/sync/taxonomy.vocabulary.service_delivery_options.yml new file mode 100644 index 00000000000..4c7af1399de --- /dev/null +++ b/config/sync/taxonomy.vocabulary.service_delivery_options.yml @@ -0,0 +1,8 @@ +uuid: f938c303-a996-4d5e-ab9e-964c8be514df +langcode: en +status: true +dependencies: { } +name: 'VA Service delivery options' +vid: service_delivery_options +description: 'Single source of truth for service delivery options (e.g. in-person appointments, virtual hotline)' +weight: 0 diff --git a/docroot/modules/custom/va_gov_facilities/js/displayServiceDescriptions.es6.js b/docroot/modules/custom/va_gov_facilities/js/displayServiceDescriptions.es6.js index 71c0ba37a36..653200794f5 100644 --- a/docroot/modules/custom/va_gov_facilities/js/displayServiceDescriptions.es6.js +++ b/docroot/modules/custom/va_gov_facilities/js/displayServiceDescriptions.es6.js @@ -142,6 +142,68 @@ p4.prepend(s4); } } + // VBA terms have nationalized regional data. + if ( + drupalSettings.availableHealthServices[service.value] !== undefined && + drupalSettings.availableHealthServices[service.value] + .vba_regional_service_header !== "" + ) { + const p5 = context.createElement("p"); + const s5 = context.createElement("strong"); + p5.textContent = drupalSettings.availableHealthServices[ + service.value + ].vba_regional_service_header.replace(/ /g, " "); + s5.textContent = "Regional service header: "; + div.classList.remove("no-content"); + div.appendChild(p5); + p5.prepend(s5); + } + if ( + drupalSettings.availableHealthServices[service.value] !== undefined && + drupalSettings.availableHealthServices[service.value] + .vba_regional_service_description !== "" + ) { + const p6 = context.createElement("p"); + const s6 = context.createElement("strong"); + p6.textContent = drupalSettings.availableHealthServices[ + service.value + ].vba_regional_service_description.replace(/ /g, " "); + s6.textContent = "Regional service description: "; + div.classList.remove("no-content"); + div.appendChild(p6); + p6.prepend(s6); + } + // VBA terms have nationalized facility data. + if ( + drupalSettings.availableHealthServices[service.value] !== undefined && + drupalSettings.availableHealthServices[service.value] + .vba_facility_service_header !== "" + ) { + const p7 = context.createElement("p"); + const s7 = context.createElement("strong"); + p7.textContent = drupalSettings.availableHealthServices[ + service.value + ].vba_facility_service_header.replace(/ /g, " "); + s7.textContent = "Facility service header: "; + div.classList.remove("no-content"); + div.appendChild(p7); + p7.prepend(s7); + } + if ( + drupalSettings.availableHealthServices[service.value] !== undefined && + drupalSettings.availableHealthServices[service.value] + .vba_facility_service_description !== "" + ) { + const p8 = context.createElement("p"); + const s8 = context.createElement("strong"); + p8.textContent = drupalSettings.availableHealthServices[ + service.value + ].vba_facility_service_description.replace(/ /g, " "); + s8.textContent = "Facility service description: "; + div.classList.remove("no-content"); + div.appendChild(p8); + p8.prepend(s8); + } // Plug in the term text below the select. service.after(div); // If we have contents, add a label above. diff --git a/docroot/modules/custom/va_gov_facilities/js/displayServiceDescriptions.js b/docroot/modules/custom/va_gov_facilities/js/displayServiceDescriptions.js index a3f1a7210bf..dd1bb170c31 100644 --- a/docroot/modules/custom/va_gov_facilities/js/displayServiceDescriptions.js +++ b/docroot/modules/custom/va_gov_facilities/js/displayServiceDescriptions.js @@ -78,6 +78,42 @@ p4.prepend(s4); } } + if (drupalSettings.availableHealthServices[service.value] !== undefined && drupalSettings.availableHealthServices[service.value].vba_regional_service_header !== "") { + var p5 = context.createElement("p"); + var s5 = context.createElement("strong"); + p5.textContent = drupalSettings.availableHealthServices[service.value].vba_regional_service_header.replace(/ /g, " "); + s5.textContent = "Regional service header: "; + div.classList.remove("no-content"); + div.appendChild(p5); + p5.prepend(s5); + } + if (drupalSettings.availableHealthServices[service.value] !== undefined && drupalSettings.availableHealthServices[service.value].vba_regional_service_description !== "") { + var p6 = context.createElement("p"); + var s6 = context.createElement("strong"); + p6.textContent = drupalSettings.availableHealthServices[service.value].vba_regional_service_description.replace(/ /g, " "); + s6.textContent = "Regional service description: "; + div.classList.remove("no-content"); + div.appendChild(p6); + p6.prepend(s6); + } + if (drupalSettings.availableHealthServices[service.value] !== undefined && drupalSettings.availableHealthServices[service.value].vba_facility_service_header !== "") { + var p7 = context.createElement("p"); + var s7 = context.createElement("strong"); + p7.textContent = drupalSettings.availableHealthServices[service.value].vba_facility_service_header.replace(/ /g, " "); + s7.textContent = "Facility service header: "; + div.classList.remove("no-content"); + div.appendChild(p7); + p7.prepend(s7); + } + if (drupalSettings.availableHealthServices[service.value] !== undefined && drupalSettings.availableHealthServices[service.value].vba_facility_service_description !== "") { + var p8 = context.createElement("p"); + var s8 = context.createElement("strong"); + p8.textContent = drupalSettings.availableHealthServices[service.value].vba_facility_service_description.replace(/ /g, " "); + s8.textContent = "Facility service description: "; + div.classList.remove("no-content"); + div.appendChild(p8); + p8.prepend(s8); + } service.after(div); if (div.textContent.length > 0) { var p = context.createElement("p"); diff --git a/docroot/modules/custom/va_gov_facilities/src/EventSubscriber/FacilitiesSubscriber.php b/docroot/modules/custom/va_gov_facilities/src/EventSubscriber/FacilitiesSubscriber.php index 73b0b7aac25..c2f58d0a6aa 100644 --- a/docroot/modules/custom/va_gov_facilities/src/EventSubscriber/FacilitiesSubscriber.php +++ b/docroot/modules/custom/va_gov_facilities/src/EventSubscriber/FacilitiesSubscriber.php @@ -480,6 +480,15 @@ public function buildHealthServicesDescriptionArrayAddToSettings(FormIdAlterEven 'tricare_description' => trim(strip_tags($tricare_description)), 'vc_vocabulary_service_description_label' => $vocabulary_definition['field_vet_center_service_descrip']->getLabel(), 'vc_vocabulary_description_help_text' => $vocabulary_definition['field_vet_center_service_descrip']->getDescription(), + // VBA has nationalized content we want to show from the vocabulary. + 'vba_regional_service_header' => $service_term->hasField('field_regional_service_header') + ? trim($service_term->get('field_regional_service_header')->getString()) : '', + 'vba_regional_service_description' => $service_term->hasField('field_regional_service_descripti') + ? trim($service_term->get('field_regional_service_descripti')->getString()) : '', + 'vba_facility_service_header' => $service_term->hasField('field_facility_service_header') + ? trim($service_term->get('field_facility_service_header')->getString()) : '', + 'vba_facility_service_description' => $service_term->hasField('field_facility_service_descripti') + ? trim($service_term->get('field_facility_service_descripti')->getString()) : '', ]; } $form['#attached']['drupalSettings']['availableHealthServices'] = $descriptions; From fbefeba45a249f10a926415b39a73c1c280f75a3 Mon Sep 17 00:00:00 2001 From: Tanner Heffner Date: Wed, 25 Oct 2023 08:47:40 -0700 Subject: [PATCH 5/8] VACMS-15838 export additional view modes to hide breadcrumbs properly (#15841) * export additional view modes to hide breadcrumbs properly * re-export some types * hide breadcrumbs in 2 more that weren't picked up * only change breadcrumb related stuff --- ...view_display.node.campaign_landing_page.teaser.yml | 1 + ...de.health_care_local_facility.external_content.yml | 1 + ...play.node.health_care_local_facility.ief_table.yml | 1 + ....node.health_care_region_page.external_content.yml | 1 + ...iew_display.node.nca_facility.external_content.yml | 1 + ...e.entity_view_display.node.nca_facility.teaser.yml | 1 + ...e.entity_view_display.node.service_region.full.yml | 1 + ...entity_view_display.node.service_region.teaser.yml | 1 + ...ity_view_display.node.va_form.external_content.yml | 1 + .../core.entity_view_display.node.va_form.teaser.yml | 1 + ...iew_display.node.vba_facility.external_content.yml | 11 ++++++----- ...ntity_view_display.node.vba_facility.ief_table.yml | 11 ++++++----- ...e.entity_view_display.node.vba_facility.teaser.yml | 11 ++++++----- ...display.node.vba_facility_service.search_index.yml | 1 + ..._view_display.node.vba_facility_service.teaser.yml | 1 + ..._view_display.node.vet_center.external_content.yml | 1 + ...ore.entity_view_display.node.vet_center.teaser.yml | 1 + ....vet_center_mobile_vet_center.external_content.yml | 1 + ...ay.node.vet_center_outstation.external_content.yml | 1 + ...view_display.node.vet_center_outstation.teaser.yml | 1 + 20 files changed, 35 insertions(+), 15 deletions(-) diff --git a/config/sync/core.entity_view_display.node.campaign_landing_page.teaser.yml b/config/sync/core.entity_view_display.node.campaign_landing_page.teaser.yml index b43aab7f65a..6faab443afc 100644 --- a/config/sync/core.entity_view_display.node.campaign_landing_page.teaser.yml +++ b/config/sync/core.entity_view_display.node.campaign_landing_page.teaser.yml @@ -62,6 +62,7 @@ content: weight: 100 region: content hidden: + breadcrumbs: true field_administration: true field_benefit_categories: true field_clp_audience: true 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 948e775d1c7..1fb0bbe2a06 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 @@ -255,6 +255,7 @@ content: weight: 10 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_description: 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 dbec93712c5..d978097d787 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 @@ -106,6 +106,7 @@ content: weight: 2 region: content hidden: + breadcrumbs: true content_moderation_control: true field_address: true field_administration: true diff --git a/config/sync/core.entity_view_display.node.health_care_region_page.external_content.yml b/config/sync/core.entity_view_display.node.health_care_region_page.external_content.yml index bbfedd47ce9..9730686bfba 100644 --- a/config/sync/core.entity_view_display.node.health_care_region_page.external_content.yml +++ b/config/sync/core.entity_view_display.node.health_care_region_page.external_content.yml @@ -148,6 +148,7 @@ content: weight: 22 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_appointments_online: true diff --git a/config/sync/core.entity_view_display.node.nca_facility.external_content.yml b/config/sync/core.entity_view_display.node.nca_facility.external_content.yml index dd04d66c678..6f7affbd57f 100644 --- a/config/sync/core.entity_view_display.node.nca_facility.external_content.yml +++ b/config/sync/core.entity_view_display.node.nca_facility.external_content.yml @@ -162,6 +162,7 @@ content: weight: 10 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_geolocation: true diff --git a/config/sync/core.entity_view_display.node.nca_facility.teaser.yml b/config/sync/core.entity_view_display.node.nca_facility.teaser.yml index d9edc06ddf2..f62ad83ebab 100644 --- a/config/sync/core.entity_view_display.node.nca_facility.teaser.yml +++ b/config/sync/core.entity_view_display.node.nca_facility.teaser.yml @@ -37,6 +37,7 @@ content: weight: 1 region: content hidden: + breadcrumbs: true field_address: true field_administration: true field_facility_locator_api_id: true diff --git a/config/sync/core.entity_view_display.node.service_region.full.yml b/config/sync/core.entity_view_display.node.service_region.full.yml index f727835605f..ae8b02fc0ff 100644 --- a/config/sync/core.entity_view_display.node.service_region.full.yml +++ b/config/sync/core.entity_view_display.node.service_region.full.yml @@ -109,6 +109,7 @@ content: region: content hidden: body: true + breadcrumbs: true content_moderation_control: true langcode: true links: true diff --git a/config/sync/core.entity_view_display.node.service_region.teaser.yml b/config/sync/core.entity_view_display.node.service_region.teaser.yml index 3ddbe48c68b..812f580b10b 100644 --- a/config/sync/core.entity_view_display.node.service_region.teaser.yml +++ b/config/sync/core.entity_view_display.node.service_region.teaser.yml @@ -39,6 +39,7 @@ content: weight: 100 region: content hidden: + breadcrumbs: true field_administration: true field_facility_location: true field_last_saved_by_an_editor: true diff --git a/config/sync/core.entity_view_display.node.va_form.external_content.yml b/config/sync/core.entity_view_display.node.va_form.external_content.yml index f1d7a736f0f..a6048e5a405 100644 --- a/config/sync/core.entity_view_display.node.va_form.external_content.yml +++ b/config/sync/core.entity_view_display.node.va_form.external_content.yml @@ -158,6 +158,7 @@ content: weight: 0 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_alert: true diff --git a/config/sync/core.entity_view_display.node.va_form.teaser.yml b/config/sync/core.entity_view_display.node.va_form.teaser.yml index 70e36e6c099..3b95f1d8db5 100644 --- a/config/sync/core.entity_view_display.node.va_form.teaser.yml +++ b/config/sync/core.entity_view_display.node.va_form.teaser.yml @@ -41,6 +41,7 @@ content: weight: 0 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_alert: true diff --git a/config/sync/core.entity_view_display.node.vba_facility.external_content.yml b/config/sync/core.entity_view_display.node.vba_facility.external_content.yml index 7888a56e8bc..5debfb940d9 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.external_content.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.external_content.yml @@ -7,20 +7,20 @@ dependencies: - field.field.node.vba_facility.field_address - field.field.node.vba_facility.field_administration - field.field.node.vba_facility.field_cc_benefit_office_hours_va - - field.field.node.vba_facility.field_cc_cant_find_benefits - field.field.node.vba_facility.field_cc_benefits_hotline + - field.field.node.vba_facility.field_cc_cant_find_benefits + - field.field.node.vba_facility.field_cc_get_updates_from_vba + - field.field.node.vba_facility.field_cc_national_spotlight_1 + - field.field.node.vba_facility.field_cc_national_spotlight_2 + - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_cc_vba_facility_overview - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation - - field.field.node.vba_facility.field_cc_get_updates_from_vba - field.field.node.vba_facility.field_intro_text - field.field.node.vba_facility.field_last_saved_by_an_editor - field.field.node.vba_facility.field_location_services - field.field.node.vba_facility.field_media - - field.field.node.vba_facility.field_cc_national_spotlight_1 - - field.field.node.vba_facility.field_cc_national_spotlight_2 - - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_non_va_location_url - field.field.node.vba_facility.field_non_va_official_name - field.field.node.vba_facility.field_office @@ -239,6 +239,7 @@ content: weight: 8 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_cc_benefit_office_hours_va: true diff --git a/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml b/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml index d9f38b868a4..b2abfefd863 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.ief_table.yml @@ -7,20 +7,20 @@ dependencies: - field.field.node.vba_facility.field_address - field.field.node.vba_facility.field_administration - field.field.node.vba_facility.field_cc_benefit_office_hours_va - - field.field.node.vba_facility.field_cc_cant_find_benefits - field.field.node.vba_facility.field_cc_benefits_hotline + - field.field.node.vba_facility.field_cc_cant_find_benefits + - field.field.node.vba_facility.field_cc_get_updates_from_vba + - field.field.node.vba_facility.field_cc_national_spotlight_1 + - field.field.node.vba_facility.field_cc_national_spotlight_2 + - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_cc_vba_facility_overview - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation - - field.field.node.vba_facility.field_cc_get_updates_from_vba - field.field.node.vba_facility.field_intro_text - field.field.node.vba_facility.field_last_saved_by_an_editor - field.field.node.vba_facility.field_location_services - field.field.node.vba_facility.field_media - - field.field.node.vba_facility.field_cc_national_spotlight_1 - - field.field.node.vba_facility.field_cc_national_spotlight_2 - - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_non_va_location_url - field.field.node.vba_facility.field_non_va_official_name - field.field.node.vba_facility.field_office @@ -171,6 +171,7 @@ content: weight: 5 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_cc_benefit_office_hours_va: true diff --git a/config/sync/core.entity_view_display.node.vba_facility.teaser.yml b/config/sync/core.entity_view_display.node.vba_facility.teaser.yml index f947d76988e..bab18a82b55 100644 --- a/config/sync/core.entity_view_display.node.vba_facility.teaser.yml +++ b/config/sync/core.entity_view_display.node.vba_facility.teaser.yml @@ -7,20 +7,20 @@ dependencies: - field.field.node.vba_facility.field_address - field.field.node.vba_facility.field_administration - field.field.node.vba_facility.field_cc_benefit_office_hours_va - - field.field.node.vba_facility.field_cc_cant_find_benefits - field.field.node.vba_facility.field_cc_benefits_hotline + - field.field.node.vba_facility.field_cc_cant_find_benefits + - field.field.node.vba_facility.field_cc_get_updates_from_vba + - field.field.node.vba_facility.field_cc_national_spotlight_1 + - field.field.node.vba_facility.field_cc_national_spotlight_2 + - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_cc_vba_facility_overview - field.field.node.vba_facility.field_facility_locator_api_id - field.field.node.vba_facility.field_facility_vba_classificatio - field.field.node.vba_facility.field_geolocation - - field.field.node.vba_facility.field_cc_get_updates_from_vba - field.field.node.vba_facility.field_intro_text - field.field.node.vba_facility.field_last_saved_by_an_editor - field.field.node.vba_facility.field_location_services - field.field.node.vba_facility.field_media - - field.field.node.vba_facility.field_cc_national_spotlight_1 - - field.field.node.vba_facility.field_cc_national_spotlight_2 - - field.field.node.vba_facility.field_cc_national_spotlight_3 - field.field.node.vba_facility.field_non_va_location_url - field.field.node.vba_facility.field_non_va_official_name - field.field.node.vba_facility.field_office @@ -50,6 +50,7 @@ content: weight: 1 region: content hidden: + breadcrumbs: true field_address: true field_administration: true field_cc_benefit_office_hours_va: true diff --git a/config/sync/core.entity_view_display.node.vba_facility_service.search_index.yml b/config/sync/core.entity_view_display.node.vba_facility_service.search_index.yml index b91148adf2e..546d4ed7f46 100644 --- a/config/sync/core.entity_view_display.node.vba_facility_service.search_index.yml +++ b/config/sync/core.entity_view_display.node.vba_facility_service.search_index.yml @@ -48,6 +48,7 @@ content: weight: 1 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_last_saved_by_an_editor: true diff --git a/config/sync/core.entity_view_display.node.vba_facility_service.teaser.yml b/config/sync/core.entity_view_display.node.vba_facility_service.teaser.yml index 0d1468bd593..a54411a0d5b 100644 --- a/config/sync/core.entity_view_display.node.vba_facility_service.teaser.yml +++ b/config/sync/core.entity_view_display.node.vba_facility_service.teaser.yml @@ -24,6 +24,7 @@ content: weight: 0 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_enforce_unique_combo: true diff --git a/config/sync/core.entity_view_display.node.vet_center.external_content.yml b/config/sync/core.entity_view_display.node.vet_center.external_content.yml index 4ee1812d600..76f87f53c7f 100644 --- a/config/sync/core.entity_view_display.node.vet_center.external_content.yml +++ b/config/sync/core.entity_view_display.node.vet_center.external_content.yml @@ -110,6 +110,7 @@ content: weight: 4 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_cc_non_traditional_hours: true diff --git a/config/sync/core.entity_view_display.node.vet_center.teaser.yml b/config/sync/core.entity_view_display.node.vet_center.teaser.yml index 1990272f77d..0cb00f81549 100644 --- a/config/sync/core.entity_view_display.node.vet_center.teaser.yml +++ b/config/sync/core.entity_view_display.node.vet_center.teaser.yml @@ -39,6 +39,7 @@ content: weight: 0 region: content hidden: + breadcrumbs: true content_moderation_control: true field_address: true field_administration: true diff --git a/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.external_content.yml b/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.external_content.yml index 0125349c47d..496aa62aec0 100644 --- a/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.external_content.yml +++ b/config/sync/core.entity_view_display.node.vet_center_mobile_vet_center.external_content.yml @@ -102,6 +102,7 @@ content: weight: 5 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_last_saved_by_an_editor: true diff --git a/config/sync/core.entity_view_display.node.vet_center_outstation.external_content.yml b/config/sync/core.entity_view_display.node.vet_center_outstation.external_content.yml index a5b514b43d9..81ad93b076c 100644 --- a/config/sync/core.entity_view_display.node.vet_center_outstation.external_content.yml +++ b/config/sync/core.entity_view_display.node.vet_center_outstation.external_content.yml @@ -104,6 +104,7 @@ content: weight: 5 region: content hidden: + breadcrumbs: true content_moderation_control: true field_administration: true field_geolocation: true diff --git a/config/sync/core.entity_view_display.node.vet_center_outstation.teaser.yml b/config/sync/core.entity_view_display.node.vet_center_outstation.teaser.yml index 4c44d23ad42..a9f18a13309 100644 --- a/config/sync/core.entity_view_display.node.vet_center_outstation.teaser.yml +++ b/config/sync/core.entity_view_display.node.vet_center_outstation.teaser.yml @@ -37,6 +37,7 @@ content: weight: 100 region: content hidden: + breadcrumbs: true field_address: true field_administration: true field_facility_locator_api_id: true From c965bed5952c0ec3736ab3d095d57a39dd6c7cbb Mon Sep 17 00:00:00 2001 From: Christia Troyer Date: Wed, 25 Oct 2023 10:31:50 -0700 Subject: [PATCH 6/8] VACMS-10579: Removed promo flag via config (#15675) --- config/sync/feature_toggle.features.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/sync/feature_toggle.features.yml b/config/sync/feature_toggle.features.yml index 500db737703..40c99c928c7 100644 --- a/config/sync/feature_toggle.features.yml +++ b/config/sync/feature_toggle.features.yml @@ -4,5 +4,4 @@ features: feature_all_hub_side_navs: FEATURE_ALL_HUB_SIDE_NAVS feature_single_value_field_link: FEATURE_SINGLE_VALUE_FIELD_LINK feature_health_connect_number: FEATURE_HEALTH_CONNECT_NUMBER - feature_mobile_app_promo: FEATURE_MOBILE_APP_PROMO feature_event_outreach_checkbox: FEATURE_EVENT_OUTREACH_CHECKBOX From 43da80db9825cd0c7d9febc594cf8b5bc3d40a1e Mon Sep 17 00:00:00 2001 From: Steve Wirt Date: Wed, 25 Oct 2023 15:08:44 -0400 Subject: [PATCH 7/8] VACMS-15503 Add multi workflow filters to all Views that have exposed content moderation filter (#15769) * VACMS-15503 Add multiple workflow filter patch. * admin/content * admin/content/resources-and-support * admin/content/events * admin/content/bulk * admin/content/audit/export * admin/content/audit * admin/content/audit/knowledge-base-article-administration * admin/content/audit/metatag * admin/content/audit/phone-numbers, admin/content/audit/buttons * admin/content/va-forms/audit * admin/content/vamc-alerts-and-statuses * admin/content/facilities * admin/content/facilities/addresses * admin/content/facilities/facility-status * admin/content/facilities/vamc-facility-health-services * admin/content/facilities/vamc-facility-non-clinical-services * admin/content/facilities/vet-center-services * admin/content/audit/system-banner-image * admin/content/facilities/vamc-systems * admin/content/facilities/vamc-prepare-for-visit * Update name of Facility collection of Views. * Undo some unintended changes. * VACMS-14721 Add content types back to phone audit. * VACMS-15503 Set correct caption on phone and button audits. * VACMS-15503 Fix conflicting filter on metatag audit and fix menu placement. --- composer.json | 3 +- composer.lock | 18 +- config/sync/views.view.content.yml | 266 +++++---- config/sync/views.view.facility_services.yml | 524 +++++++++-------- ....knowledge_base_article_administration.yml | 22 +- config/sync/views.view.metatag_audit.yml | 99 ++-- .../sync/views.view.rich_text_field_audit.yml | 538 +++++++++++------- config/sync/views.view.va_forms.yml | 95 ++-- ...iew.vamc_alerts_and_operating_statuses.yml | 28 +- 9 files changed, 895 insertions(+), 698 deletions(-) diff --git a/composer.json b/composer.json index 119fa3113bc..7c567f77fcd 100644 --- a/composer.json +++ b/composer.json @@ -383,7 +383,8 @@ "3047110 - Add workflow to taxonomy" : "https://www.drupal.org/files/issues/2023-04-14/3047110-45.patch", "3106205 - Length of menu_tree.url and menu_tree.route_param_key are too short (255 characters)": "https://www.drupal.org/files/issues/2023-05-24/3106205-length-menu-tree-too-short.patch", "3274419 - Make BaseFieldOverride inherit internal property from the base field": "https://www.drupal.org/files/issues/2023-03-13/3274419-45.patch", - "3333401 - Pager h4 cause accessibility flag on many pages": "https://www.drupal.org/files/issues/2023-07-27/3333401-56-configurable-heading-pager.patch" + "3333401 - Pager h4 cause accessibility flag on many pages": "https://www.drupal.org/files/issues/2023-07-27/3333401-56-configurable-heading-pager.patch", + "3382759 - Add multiple workflow content moderation filter to Views.": "https://www.drupal.org/files/issues/2023-08-24/3382759-8.patch" }, "drupal/danse": { "3364925 - added explicit access check": "https://www.drupal.org/files/issues/2023-06-05/3364925-added-explicit-access-check.patch" diff --git a/composer.lock b/composer.lock index ff06a7f9045..403b3858bef 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": "2029832df0507f936056503739c48520", + "content-hash": "4dff2afe5871cb7482ee57dbde54733e", "packages": [ { "name": "alchemy/zippy", @@ -6169,6 +6169,10 @@ "GPL-2.0-or-later" ], "authors": [ + { + "name": "Anybody", + "homepage": "https://www.drupal.org/user/291091" + }, { "name": "Hydra", "homepage": "https://www.drupal.org/user/647364" @@ -10688,7 +10692,7 @@ }, "require": { "bjeavons/zxcvbn-php": "^1.3", - "drupal/core": "^8 || ^9", + "drupal/core": "^8 || ^9 || ^10", "drupal/password_policy": "^3.1|^4.0" }, "type": "drupal-module", @@ -10697,8 +10701,8 @@ "dev-2.x": "2.x-dev" }, "drupal": { - "version": "8.x-2.0-beta1+4-dev", - "datestamp": "1668804356", + "version": "8.x-2.0-beta2+1-dev", + "datestamp": "1696647229", "security-coverage": { "status": "not-covered", "message": "Dev releases are not covered by Drupal security advisories." @@ -10726,6 +10730,10 @@ "name": "nerdstein", "homepage": "https://www.drupal.org/user/1557710" }, + { + "name": "nord102", + "homepage": "https://www.drupal.org/user/3471419" + }, { "name": "scor", "homepage": "https://www.drupal.org/user/52142" @@ -27786,5 +27794,5 @@ "platform-overrides": { "php": "8.1" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/config/sync/views.view.content.yml b/config/sync/views.view.content.yml index 567a031593f..02ab068810a 100644 --- a/config/sync/views.view.content.yml +++ b/config/sync/views.view.content.yml @@ -29,7 +29,6 @@ dependencies: - user.role.content_admin - user.role.content_creator_resources_and_support - user.role.redirect_administrator - - workflows.workflow.editorial module: - content_lock - content_moderation @@ -117,15 +116,17 @@ display: form_step: true buttons: false action_title: Action + clear_on_exposed: true + force_selection_info: false selected_actions: - action_id: node_save_action preconfiguration: - add_confirmation: 0 + add_confirmation: false - action_id: node_assign_owner_action preconfiguration: - add_confirmation: 0 + add_confirmation: false - action_id: publish_latest_revision_action - @@ -133,16 +134,14 @@ display: - action_id: views_bulk_edit preconfiguration: - add_confirmation: 0 - get_bundles_from_results: 1 + add_confirmation: false + get_bundles_from_results: true - action_id: views_bulk_operations_delete_entity - action_id: 'entity:pathauto_update_alias:node' preconfiguration: - add_confirmation: 0 - clear_on_exposed: true - force_selection_info: 0 + add_confirmation: false title: id: title table: node_field_data @@ -637,22 +636,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -660,7 +654,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -670,15 +664,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -691,6 +693,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 taxonomy_entity_index_tid_depth: id: taxonomy_entity_index_tid_depth table: node @@ -926,7 +929,6 @@ display: - user.roles tags: - 'config:field.storage.node.field_administration' - - 'config:workflow_list' content_audit_csv_export: id: content_audit_csv_export display_title: 'Content audit CSV export' @@ -1460,16 +1462,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -1478,7 +1480,7 @@ display: label: 'Moderation state' description: '' use_operator: true - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -1501,7 +1503,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -1514,6 +1519,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -1639,7 +1645,6 @@ display: - user.roles tags: - 'config:field.storage.node.field_administration' - - 'config:workflow_list' - workbench_access_view deleted: false content_audit_page: @@ -2172,16 +2177,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -2190,7 +2195,7 @@ display: label: 'Moderation state' description: '' use_operator: true - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -2213,7 +2218,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -2226,6 +2234,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -2338,7 +2347,6 @@ display: - user.permissions tags: - 'config:field.storage.node.field_administration' - - 'config:workflow_list' - workbench_access_view deleted: false events_page: @@ -2403,6 +2411,7 @@ display: form_step: true buttons: false action_title: Action + clear_on_exposed: true selected_actions: - action_id: publish_latest_revision_action @@ -2416,8 +2425,7 @@ display: action_id: views_bulk_edit preconfiguration: label_override: '' - get_bundles_from_results: 1 - clear_on_exposed: true + get_bundles_from_results: true title: id: title table: node_field_data @@ -2935,22 +2943,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -2958,7 +2961,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -2968,15 +2971,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -2989,6 +3000,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 taxonomy_entity_index_tid_depth: id: taxonomy_entity_index_tid_depth table: node @@ -3225,7 +3237,6 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_facility_location' - - 'config:workflow_list' deleted: false outdated_content: id: outdated_content @@ -5924,22 +5935,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -5947,7 +5953,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -5957,15 +5963,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -5978,6 +5992,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 field_administration_target_id: id: field_administration_target_id table: node__field_administration @@ -6087,7 +6102,6 @@ display: - user.permissions tags: - 'config:field.storage.node.field_administration' - - 'config:workflow_list' deleted: false page_2: id: page_2 @@ -6151,11 +6165,13 @@ display: form_step: true buttons: false action_title: Action + clear_on_exposed: true + force_selection_info: false selected_actions: 3: action_id: node_assign_owner_action preconfiguration: - add_confirmation: 1 + add_confirmation: true 9: action_id: archive_node_action 10: @@ -6163,21 +6179,19 @@ display: 11: action_id: views_bulk_edit preconfiguration: - add_confirmation: 1 - get_bundles_from_results: 1 + add_confirmation: true + get_bundles_from_results: true 12: action_id: views_bulk_operations_delete_entity 13: action_id: 'entity:pathauto_update_alias:node' preconfiguration: - add_confirmation: 1 + add_confirmation: true 15: action_id: 'entity:save_action:node' preconfiguration: + add_confirmation: true label_override: 'Resave content' - add_confirmation: 1 - clear_on_exposed: true - force_selection_info: 0 title: id: title table: node_field_data @@ -6619,7 +6633,6 @@ display: - user.roles tags: - 'config:field.storage.node.field_administration' - - 'config:workflow_list' deleted: false resources_support_dashboard: id: resources_support_dashboard @@ -6683,12 +6696,12 @@ display: form_step: true buttons: false action_title: Action + clear_on_exposed: true selected_actions: - action_id: publish_latest_revision_action preconfiguration: label_override: '' - clear_on_exposed: true title: id: title table: node_field_data @@ -7501,22 +7514,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -7524,7 +7532,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -7534,15 +7542,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -7555,6 +7571,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 taxonomy_entity_index_tid_depth: id: taxonomy_entity_index_tid_depth table: node @@ -7871,5 +7888,4 @@ display: - 'config:field.storage.node.field_other_categories' - 'config:field.storage.node.field_primary_category' - 'config:field.storage.paragraph.field_topics' - - 'config:workflow_list' deleted: false diff --git a/config/sync/views.view.facility_services.yml b/config/sync/views.view.facility_services.yml index ef9558e02a2..65b0fdd2c81 100644 --- a/config/sync/views.view.facility_services.yml +++ b/config/sync/views.view.facility_services.yml @@ -168,7 +168,7 @@ dependencies: _core: default_config_hash: tS8PbpJX90aRFC3-UTgXzdqkq7_2frk2pz4TMijEebM id: facility_services -label: 'Facility Services' +label: 'Facility Services and other facility audits.' module: node description: '' tag: default @@ -1600,22 +1600,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -1623,7 +1618,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -1633,15 +1628,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -1654,6 +1657,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -1838,7 +1842,6 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.paragraph.field_title' - - 'config:workflow_list' - workbench_access_view accordion_audit_export: id: accordion_audit_export @@ -2402,22 +2405,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -2425,7 +2423,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -2435,15 +2433,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -2456,6 +2462,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 field_administration_target_id: id: field_administration_target_id table: node__field_administration @@ -2584,7 +2591,6 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.paragraph.field_title' - - 'config:workflow_list' addresses: id: addresses display_title: Addresses @@ -3373,16 +3379,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -3391,7 +3397,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -3414,7 +3420,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -3427,6 +3436,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -4037,7 +4047,6 @@ display: - 'config:field.storage.node.field_address' - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_geolocation' - - 'config:workflow_list' - workbench_access_view addresses_export: id: addresses_export @@ -4876,16 +4885,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -4894,7 +4903,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -4917,7 +4926,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -4930,6 +4942,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -5458,7 +5471,6 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_geolocation' - - 'config:workflow_list' - workbench_access_view content_audit_facilities: id: content_audit_facilities @@ -6314,22 +6326,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -6337,7 +6344,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -6347,15 +6354,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -6368,6 +6383,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -6617,7 +6633,6 @@ display: - 'config:field.storage.node.field_facility_locator_api_id' - 'config:field.storage.node.field_office' - 'config:field.storage.node.field_region_page' - - 'config:workflow_list' - workbench_access_view content_audit_facilities_export: id: content_audit_facilities_export @@ -7275,22 +7290,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -7298,7 +7308,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -7308,15 +7318,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -7329,6 +7347,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 taxonomy_entity_index_tid_depth: id: taxonomy_entity_index_tid_depth table: node @@ -7467,7 +7486,6 @@ display: - 'config:field.storage.node.field_facility_locator_api_id' - 'config:field.storage.node.field_office' - 'config:field.storage.node.field_region_page' - - 'config:workflow_list' data_export_facility_urls: id: data_export_facility_urls display_title: 'Facility Urls' @@ -8813,16 +8831,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -8831,7 +8849,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -8854,7 +8872,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -8867,6 +8888,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -8988,7 +9010,6 @@ display: - 'config:field.storage.node.field_operating_status_facility' - 'config:field.storage.node.field_operating_status_more_info' - 'config:field.storage.node.field_supplemental_status' - - 'config:workflow_list' - workbench_access_view facility_status_page: id: facility_status_page @@ -10167,16 +10188,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -10185,7 +10206,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -10208,7 +10229,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -10221,6 +10245,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -10431,7 +10456,6 @@ display: - 'config:field.storage.node.field_operating_status_more_info' - 'config:field.storage.node.field_supplemental_status' - 'config:field.storage.node.field_supplemental_status_more_i' - - 'config:workflow_list' - workbench_access_view page_1: id: page_1 @@ -10830,22 +10854,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -10853,7 +10872,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -10863,15 +10882,23 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -10884,6 +10911,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -11146,7 +11174,6 @@ display: - user.roles tags: - 'config:field.storage.node.field_media' - - 'config:workflow_list' - workbench_access_view vamc_facility_health_services_export: id: vamc_facility_health_services_export @@ -12747,16 +12774,16 @@ display: default_group_multiple: { } group_items: { } reduce_duplicates: false - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -12765,7 +12792,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -12788,7 +12815,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -12801,6 +12831,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 filter_groups: operator: AND groups: @@ -12927,7 +12958,6 @@ display: - 'config:field.storage.node.field_online_scheduling_availabl' - 'config:field.storage.node.field_referral_required' - 'config:field.storage.node.field_walk_ins_accepted' - - 'config:workflow_list' deleted: false vamc_facility_health_services_page: id: vamc_facility_health_services_page @@ -14475,16 +14505,16 @@ display: default_group_multiple: { } group_items: { } reduce_duplicates: false - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -14493,7 +14523,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -14516,7 +14546,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -14529,6 +14562,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -14875,7 +14909,6 @@ display: - 'config:field.storage.node.field_online_scheduling_availabl' - 'config:field.storage.node.field_referral_required' - 'config:field.storage.node.field_walk_ins_accepted' - - 'config:workflow_list' - workbench_access_view deleted: false vamc_facility_non_clinical_services_export: @@ -15978,16 +16011,16 @@ display: hierarchy: true limit: true error_message: true - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -15996,7 +16029,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -16019,7 +16052,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -16032,6 +16068,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 field_administration_target_id: id: field_administration_target_id table: node__field_administration @@ -16193,7 +16230,6 @@ display: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_facility_location' - 'config:field.storage.node.field_facility_locator_api_id' - - 'config:workflow_list' deleted: false vamc_facility_non_clinical_services_page: id: vamc_facility_non_clinical_services_page @@ -17303,16 +17339,16 @@ display: hierarchy: true limit: true error_message: true - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -17321,7 +17357,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -17344,7 +17380,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -17357,6 +17396,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -17667,7 +17707,6 @@ display: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_facility_location' - 'config:field.storage.node.field_facility_locator_api_id' - - 'config:workflow_list' - workbench_access_view deleted: false vamc_system_service_audit_export: @@ -20063,47 +20102,46 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + field_vamc_ehr_system_value: + id: field_vamc_ehr_system_value + table: node__field_vamc_ehr_system + field: field_vamc_ehr_system_value relationship: none group_type: group admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: list_field + operator: or + value: { } group: 1 exposed: true expose: - operator_id: moderation_state_op - label: 'Moderation state' + operator_id: field_vamc_ehr_system_value_op + label: 'EHR System' description: '' use_operator: false - operator: moderation_state_op + operator: field_vamc_ehr_system_value_op operator_limit_selection: false operator_list: { } - identifier: moderation_state + identifier: field_vamc_ehr_system_value required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' + content_api_consumer: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' + content_editor: '0' + content_reviewer: '0' + content_publisher: '0' + content_admin: '0' + redirect_administrator: '0' + admnistrator_users: '0' administrator: '0' - page_creator: '0' - layout_manager: '0' - page_reviewer: '0' - landing_page_creator: '0' - landing_page_reviewer: '0' - media_creator: '0' - media_manager: '0' reduce: false is_grouped: false group_info: @@ -20117,27 +20155,29 @@ display: default_group: All default_group_multiple: { } group_items: { } - field_vamc_ehr_system_value: - id: field_vamc_ehr_system_value - table: node__field_vamc_ehr_system - field: field_vamc_ehr_system_value + reduce_duplicates: false + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' - plugin_id: list_field + entity_type: node + plugin_id: moderation_state_multiple_workflow_filter operator: or value: { } group: 1 exposed: true expose: - operator_id: field_vamc_ehr_system_value_op - label: 'EHR System' + operator_id: moderation_state_op + label: 'Moderation state' description: '' use_operator: false - operator: field_vamc_ehr_system_value_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } - identifier: field_vamc_ehr_system_value + identifier: moderation_state required: false remember: false multiple: false @@ -20157,7 +20197,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -20170,7 +20213,7 @@ display: default_group: All default_group_multiple: { } group_items: { } - reduce_duplicates: false + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -20424,7 +20467,6 @@ display: - 'config:field.storage.node.field_va_health_connect_phone' - 'config:field.storage.node.field_vamc_ehr_system' - 'config:field.storage.node.field_vamc_system_official_name' - - 'config:workflow_list' - workbench_access_view vet_center_services_export: id: vet_center_services_export @@ -21491,25 +21533,25 @@ display: hierarchy: true limit: true error_message: true - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true expose: - operator_id: moderation_state_op + operator_id: moderation_state_multiple_workflow_filter_op label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -21532,7 +21574,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -21545,6 +21590,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 field_administration_target_id: id: field_administration_target_id table: node__field_administration @@ -21698,7 +21744,6 @@ display: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_body' - 'config:field.storage.node.field_facility_locator_api_id' - - 'config:workflow_list' deleted: false vet_center_services_page: id: vet_center_services_page @@ -22768,16 +22813,16 @@ display: hierarchy: true limit: true error_message: true - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -22786,7 +22831,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -22809,7 +22854,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -22822,6 +22870,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -23121,6 +23170,5 @@ display: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_body' - 'config:field.storage.node.field_facility_locator_api_id' - - 'config:workflow_list' - workbench_access_view deleted: false diff --git a/config/sync/views.view.knowledge_base_article_administration.yml b/config/sync/views.view.knowledge_base_article_administration.yml index f6c22f218b7..6a8e4728119 100644 --- a/config/sync/views.view.knowledge_base_article_administration.yml +++ b/config/sync/views.view.knowledge_base_article_administration.yml @@ -694,16 +694,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -712,7 +712,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -735,7 +735,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -748,6 +751,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 field_products_target_id: id: field_products_target_id table: node__field_products @@ -931,7 +935,6 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_products' - - 'config:workflow_list' knowledge_base_admin: id: knowledge_base_admin display_title: Page @@ -962,4 +965,3 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_products' - - 'config:workflow_list' diff --git a/config/sync/views.view.metatag_audit.yml b/config/sync/views.view.metatag_audit.yml index e0ea2494224..aa45e065f11 100644 --- a/config/sync/views.view.metatag_audit.yml +++ b/config/sync/views.view.metatag_audit.yml @@ -1002,19 +1002,6 @@ display: granularity: second arguments: { } filters: - status: - id: status - table: node_field_data - field: status - entity_type: node - entity_field: status - plugin_id: boolean - value: '1' - group: 1 - expose: - operator: '' - operator_limit_selection: false - operator_list: { } type: id: type table: node_field_data @@ -1095,16 +1082,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -1113,7 +1100,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -1136,7 +1123,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -1149,6 +1139,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -1224,15 +1215,14 @@ display: changed: changed moderation_state: moderation_state field_administration: field_administration - nothing_2: nothing_2 - nothing: nothing - nothing_1: nothing_1 - field_meta_tags: field_meta_tags - field_meta_title: field_meta_title field_description: field_description field_intro_text: field_intro_text field_hero_image: field_hero_image field_media: field_media + nothing_2: nothing_2 + nothing: nothing + nothing_1: nothing_1 + field_meta_tags: field_meta_tags default: '-1' info: title: @@ -1284,57 +1274,50 @@ display: separator: '' empty_column: false responsive: '' - nothing_2: - align: '' - separator: '' - empty_column: false - responsive: '' - nothing: + field_description: + sortable: false + default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - nothing_1: + field_intro_text: + sortable: false + default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_meta_tags: + field_hero_image: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_meta_title: + field_media: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_description: - sortable: false - default_sort_order: asc + nothing_2: align: '' separator: '' empty_column: false responsive: '' - field_intro_text: - sortable: false - default_sort_order: asc + nothing: align: '' separator: '' empty_column: false responsive: '' - field_hero_image: - sortable: false - default_sort_order: asc + nothing_1: align: '' separator: '' empty_column: false responsive: '' - field_media: + field_meta_tags: sortable: false default_sort_order: asc align: '' @@ -1345,7 +1328,7 @@ display: sticky: false summary: '' empty_table: false - caption: '' + caption: 'Metatag audit results' description: '' row: type: fields @@ -1368,6 +1351,7 @@ display: - 'languages:language_interface' - url - url.query_args + - user - 'user.node_grants:view' - user.permissions tags: @@ -1377,7 +1361,7 @@ display: - 'config:field.storage.node.field_intro_text' - 'config:field.storage.node.field_media' - 'config:field.storage.node.field_meta_tags' - - 'config:workflow_list' + - workbench_access_view metatag_audit: id: metatag_audit display_title: 'Metatag Audit' @@ -1385,8 +1369,24 @@ display: position: 1 display_options: display_description: '' - display_extenders: { } + display_extenders: + jsonapi_views: + enabled: true path: admin/content/audit/metatag + menu: + type: tab + title: Metatags + description: '' + weight: 0 + expanded: false + menu_name: main + parent: '' + context: '0' + as_local_task: true + local_task_link_title: Metatags + local_task_parent: 'views_view:view.content.content_audit_page' + local_task_weight: 3 + local_task_custom_parent_route: '' cache_metadata: max-age: -1 contexts: @@ -1394,6 +1394,7 @@ display: - 'languages:language_interface' - url - url.query_args + - user - 'user.node_grants:view' - user.permissions tags: @@ -1403,4 +1404,4 @@ display: - 'config:field.storage.node.field_intro_text' - 'config:field.storage.node.field_media' - 'config:field.storage.node.field_meta_tags' - - 'config:workflow_list' + - workbench_access_view diff --git a/config/sync/views.view.rich_text_field_audit.yml b/config/sync/views.view.rich_text_field_audit.yml index 9fd04cdfd3c..cf8ead38a2e 100644 --- a/config/sync/views.view.rich_text_field_audit.yml +++ b/config/sync/views.view.rich_text_field_audit.yml @@ -57,6 +57,7 @@ dependencies: - node.type.vamc_system_policies_page - node.type.vamc_system_register_for_care - node.type.vba_facility + - node.type.vba_facility_service - node.type.vet_center - node.type.vet_center_cap - node.type.vet_center_facility_health_servi @@ -1254,18 +1255,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -1273,7 +1273,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -1296,7 +1296,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -1309,6 +1312,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -1444,13 +1448,11 @@ display: nid: nid edit_node_1: edit_node_1 type: type + revision_uid: revision_uid changed: changed 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_numbers_paragraph: field_phone_numbers_paragraph + field_content_block: field_content_block default: '-1' info: title: @@ -1481,58 +1483,46 @@ display: separator: '' empty_column: false responsive: '' - changed: - sortable: true - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - moderation_state: - sortable: true + revision_uid: + sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_administration: + changed: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_phone_number: + moderation_state: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_mental_health_phone: + field_administration: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_va_health_connect_phone: - sortable: true + field_content_block: + sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' - field_phone_numbers_paragraph: - align: '' - separator: '' - empty_column: false - responsive: '' override: true sticky: false summary: '' empty_table: false - caption: '' + caption: 'Button audit results' description: '' row: type: fields @@ -1577,7 +1567,6 @@ display: - 'config:field.storage.node.field_full_story' - 'config:field.storage.node.field_press_release_blurb' - 'config:field.storage.node.field_press_release_fulltext' - - 'config:workflow_list' - workbench_access_view buttons_export: id: buttons_export @@ -2231,18 +2220,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -2250,7 +2238,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -2273,7 +2261,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -2286,6 +2277,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -2469,7 +2461,6 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_content_block' - - 'config:workflow_list' - workbench_access_view content_audit_buttons: id: content_audit_buttons @@ -3188,18 +3179,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -3207,7 +3197,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -3230,7 +3220,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -3243,6 +3236,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -3357,8 +3351,100 @@ display: operator: AND groups: 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + title: title + nid: nid + edit_node_1: edit_node_1 + type: type + revision_uid: revision_uid + changed: changed + moderation_state: moderation_state + field_administration: field_administration + field_content_block: field_content_block + default: '-1' + info: + title: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + nid: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + edit_node_1: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + type: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + revision_uid: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + changed: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + moderation_state: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_administration: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_content_block: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: false + summary: '' + empty_table: false + caption: 'Button audit results' + description: '' + row: + type: fields + options: { } defaults: title: false + style: false + row: false relationships: false fields: false filters: false @@ -3386,7 +3472,9 @@ display: plugin_id: result empty: false content: "

Displaying @start - @end of @total

\r\n

This audit searches through all field_wysiwyg to find instances of 'usa-button' within the content which is used to create buttons.

" - display_extenders: { } + display_extenders: + jsonapi_views: + enabled: true path: admin/content/audit/buttons menu: type: tab @@ -3415,7 +3503,6 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_content_block' - - 'config:workflow_list' - workbench_access_view content_audit_phone_numbers: id: content_audit_phone_numbers @@ -3423,6 +3510,7 @@ display: display_plugin: page position: 3 display_options: + title: 'Content Audit - Phone Numbers' fields: title: id: title @@ -4038,98 +4126,6 @@ display: separator: ', ' field_api_classes: false filters: - type_1: - id: type_1 - table: node_field_data - field: type - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: type - plugin_id: bundle - operator: in - value: - all: all - page: page - landing_page: landing_page - documentation_page: documentation_page - campaign_landing_page: campaign_landing_page - centralized_content: centralized_content - checklist: checklist - event: event - event_listing: event_listing - faq_multiple_q_a: faq_multiple_q_a - banner: banner - health_services_listing: health_services_listing - media_list_images: media_list_images - basic_landing_page: basic_landing_page - leadership_listing: leadership_listing - nca_facility: nca_facility - press_release: press_release - press_releases_listing: press_releases_listing - office: office - promo_banner: promo_banner - outreach_asset: outreach_asset - publication_listing: publication_listing - q_a: q_a - support_resources_detail_page: support_resources_detail_page - person_profile: person_profile - step_by_step: step_by_step - story_listing: story_listing - news_story: news_story - support_service: support_service - va_form: va_form - health_care_region_detail_page: health_care_region_detail_page - health_care_local_facility: health_care_local_facility - health_care_local_health_service: health_care_local_health_service - vha_facility_nonclinical_service: vha_facility_nonclinical_service - health_care_region_page: health_care_region_page - full_width_banner_alert: full_width_banner_alert - vamc_system_billing_insurance: vamc_system_billing_insurance - regional_health_care_service_des: regional_health_care_service_des - locations_listing: locations_listing - vamc_system_medical_records_offi: vamc_system_medical_records_offi - vamc_operating_status_and_alerts: vamc_operating_status_and_alerts - vamc_system_policies_page: vamc_system_policies_page - vamc_system_register_for_care: vamc_system_register_for_care - vba_facility: vba_facility - vet_center: vet_center - vet_center_cap: vet_center_cap - vet_center_facility_health_servi: vet_center_facility_health_servi - vet_center_locations_list: vet_center_locations_list - vet_center_mobile_vet_center: vet_center_mobile_vet_center - vet_center_outstation: vet_center_outstation - media_list_videos: media_list_videos - group: 1 - exposed: false - expose: - operator_id: '' - label: '' - description: '' - use_operator: false - operator: '' - operator_limit_selection: false - operator_list: { } - identifier: '' - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - reduce: false - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } title: id: title table: node_field_data @@ -4199,24 +4195,34 @@ display: value: page: page centralized_content: centralized_content - event: event - faq_multiple_q_a: faq_multiple_q_a - banner: banner basic_landing_page: basic_landing_page - media_list_images: media_list_images - media_list_videos: media_list_videos + nca_facility: nca_facility press_release: press_release press_releases_listing: press_releases_listing support_resources_detail_page: support_resources_detail_page person_profile: person_profile step_by_step: step_by_step - news_story: news_story + support_service: support_service health_care_region_detail_page: health_care_region_detail_page + health_care_local_facility: health_care_local_facility health_care_local_health_service: health_care_local_health_service + vha_facility_nonclinical_service: vha_facility_nonclinical_service health_care_region_page: health_care_region_page full_width_banner_alert: full_width_banner_alert + vamc_system_billing_insurance: vamc_system_billing_insurance regional_health_care_service_des: regional_health_care_service_des + vamc_system_medical_records_offi: vamc_system_medical_records_offi vamc_operating_status_and_alerts: vamc_operating_status_and_alerts + vamc_system_policies_page: vamc_system_policies_page + vamc_system_register_for_care: vamc_system_register_for_care + vba_facility: vba_facility + vba_facility_service: vba_facility_service + vet_center: vet_center + vet_center_cap: vet_center_cap + vet_center_facility_health_servi: vet_center_facility_health_servi + vet_center_locations_list: vet_center_locations_list + vet_center_mobile_vet_center: vet_center_mobile_vet_center + vet_center_outstation: vet_center_outstation group: 1 exposed: true expose: @@ -4247,6 +4253,9 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' + homepage_manager: '0' + translation_manager: '0' + next_js: '0' reduce: true is_grouped: false group_info: @@ -4260,18 +4269,17 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -4279,7 +4287,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -4302,7 +4310,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -4315,6 +4326,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -4433,7 +4445,108 @@ display: operator: AND groups: 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + title: title + nid: nid + edit_node_1: edit_node_1 + type: type + changed: changed + 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 + default: '-1' + info: + title: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + nid: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + edit_node_1: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + type: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + changed: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + moderation_state: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_administration: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_phone_number: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_mental_health_phone: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_va_health_connect_phone: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: false + summary: '' + empty_table: false + caption: 'Phone number audit results' + description: '' + row: + type: fields + options: { } defaults: + title: false + style: false + row: false fields: false filters: false filter_groups: false @@ -4471,7 +4584,6 @@ display: - '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:workflow_list' - workbench_access_view phone_numbers_export: id: phone_numbers_export @@ -5316,29 +5428,28 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + workbench_access_section__section: + id: workbench_access_section__section + table: node + field: workbench_access_section__section relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter + plugin_id: workbench_access_section operator: in - value: - all: all + value: { } group: 1 exposed: true expose: - operator_id: moderation_state_op - label: 'Moderation state' + operator_id: workbench_access_section__section_op + label: Section description: '' use_operator: false - operator: moderation_state_op + operator: workbench_access_section__section_op operator_limit_selection: false operator_list: { } - identifier: moderation_state + identifier: workbench_access_section__section required: false remember: false multiple: false @@ -5358,7 +5469,7 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + reduce: 1 is_grouped: false group_info: label: '' @@ -5371,28 +5482,30 @@ display: default_group: All default_group_multiple: { } group_items: { } - workbench_access_section__section: - id: workbench_access_section__section - table: node - field: workbench_access_section__section + reduce_duplicates: 0 + section_filter: + show_hierarchy: 1 + combine: + id: combine + table: views + field: combine relationship: none group_type: group admin_label: '' - entity_type: node - plugin_id: workbench_access_section - operator: in - value: { } + plugin_id: combine + operator: contains + value: '' group: 1 exposed: true expose: - operator_id: workbench_access_section__section_op - label: Section + operator_id: combine_op + label: 'Phone Number contains' description: '' use_operator: false - operator: workbench_access_section__section_op + operator: combine_op operator_limit_selection: false operator_list: { } - identifier: workbench_access_section__section + identifier: phone required: false remember: false multiple: false @@ -5412,7 +5525,7 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: 1 + placeholder: '' is_grouped: false group_info: label: '' @@ -5425,30 +5538,32 @@ display: default_group: All default_group_multiple: { } group_items: { } - reduce_duplicates: 0 - section_filter: - show_hierarchy: 1 - combine: - id: combine - table: views - field: combine + 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 + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' - plugin_id: combine - operator: contains - value: '' + entity_type: node + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: - operator_id: combine_op - label: 'Phone Number contains' + operator_id: moderation_state_op + label: 'Moderation state' description: '' use_operator: false - operator: combine_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } - identifier: phone + identifier: moderation_state required: false remember: false multiple: false @@ -5468,7 +5583,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - placeholder: '' + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -5481,10 +5599,7 @@ display: default_group: All default_group_multiple: { } 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 + reduce_duplicates: 0 filter_groups: operator: AND groups: @@ -5539,5 +5654,4 @@ display: - '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:workflow_list' - workbench_access_view diff --git a/config/sync/views.view.va_forms.yml b/config/sync/views.view.va_forms.yml index c638aadfe3c..5fd41dea3be 100644 --- a/config/sync/views.view.va_forms.yml +++ b/config/sync/views.view.va_forms.yml @@ -19,7 +19,6 @@ dependencies: - user.role.content_editor - user.role.content_publisher - user.role.content_reviewer - - workflows.workflow.editorial content: - 'taxonomy_term:administration:2c331a6d-b525-4f0c-8bea-4ecde41c7ef0' - 'taxonomy_term:administration:867e4dcf-2f99-401a-977a-adb441d53350' @@ -997,22 +996,17 @@ display: title: title field_va_form_name: field_va_form_name field_va_form_title: field_va_form_title - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -1020,7 +1014,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -1032,7 +1026,10 @@ display: anonymous: '0' content_api_consumer: '0' content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' vamc_content_creator: '0' + content_creator_vet_center: '0' content_editor: '0' content_reviewer: '0' content_publisher: '0' @@ -1040,7 +1037,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -1053,6 +1053,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 field_va_form_administration_target_id: id: field_va_form_administration_target_id table: node__field_va_form_administration @@ -1285,7 +1286,6 @@ display: - 'config:field.storage.node.field_va_form_administration' - 'config:field.storage.node.field_va_form_name' - 'config:field.storage.node.field_va_form_title' - - 'config:workflow_list' audit: id: audit display_title: Audit @@ -2219,22 +2219,17 @@ display: fields: title: title field_va_form_name: field_va_form_name - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -2242,7 +2237,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -2254,7 +2249,10 @@ display: anonymous: '0' content_api_consumer: '0' content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' vamc_content_creator: '0' + content_creator_vet_center: '0' content_editor: '0' content_reviewer: '0' content_publisher: '0' @@ -2262,7 +2260,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -2275,6 +2276,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -2729,7 +2731,6 @@ display: - 'config:field.storage.node.field_va_form_revision_date' - 'config:field.storage.node.field_va_form_tool_url' - 'config:field.storage.node.field_va_form_usage' - - 'config:workflow_list' - workbench_access_view csv_export: id: csv_export @@ -3611,22 +3612,17 @@ display: fields: title: title field_va_form_name: field_va_form_name - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - all: all - editorial-draft: editorial-draft - editorial-review: editorial-review - editorial-published: editorial-published - editorial-archived: editorial-archived + plugin_id: moderation_state_multiple_workflow_filter + operator: or + value: { } group: 1 exposed: true expose: @@ -3634,7 +3630,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -3646,7 +3642,10 @@ display: anonymous: '0' content_api_consumer: '0' content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' vamc_content_creator: '0' + content_creator_vet_center: '0' content_editor: '0' content_reviewer: '0' content_publisher: '0' @@ -3654,7 +3653,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -3667,6 +3669,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 workbench_access_section__section: id: workbench_access_section__section table: node @@ -4131,7 +4134,6 @@ display: - 'config:field.storage.node.field_va_form_revision_date' - 'config:field.storage.node.field_va_form_tool_url' - 'config:field.storage.node.field_va_form_usage' - - 'config:workflow_list' - workbench_access_view page_1: id: page_1 @@ -4171,4 +4173,3 @@ display: - 'config:field.storage.node.field_va_form_administration' - 'config:field.storage.node.field_va_form_name' - 'config:field.storage.node.field_va_form_title' - - 'config:workflow_list' diff --git a/config/sync/views.view.vamc_alerts_and_operating_statuses.yml b/config/sync/views.view.vamc_alerts_and_operating_statuses.yml index b6c4b742825..440f631119b 100644 --- a/config/sync/views.view.vamc_alerts_and_operating_statuses.yml +++ b/config/sync/views.view.vamc_alerts_and_operating_statuses.yml @@ -684,16 +684,16 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + moderation_state_multiple_workflow_filter: + id: moderation_state_multiple_workflow_filter + table: node + field: moderation_state_multiple_workflow_filter relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: moderation_state_filter - operator: in + plugin_id: moderation_state_multiple_workflow_filter + operator: or value: { } group: 1 exposed: true @@ -702,7 +702,7 @@ display: label: 'Moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_multiple_workflow_filter_op operator_limit_selection: false operator_list: { } identifier: moderation_state @@ -713,7 +713,11 @@ display: authenticated: authenticated anonymous: '0' content_api_consumer: '0' - documentation_editor: '0' + content_creator_benefits_hubs: '0' + content_creator_resources_and_support: '0' + office_content_creator: '0' + vamc_content_creator: '0' + content_creator_vet_center: '0' content_editor: '0' content_reviewer: '0' content_publisher: '0' @@ -721,7 +725,10 @@ display: redirect_administrator: '0' admnistrator_users: '0' administrator: '0' - reduce: false + homepage_manager: '0' + translation_manager: '0' + next_js: '0' + reduce: 0 is_grouped: false group_info: label: '' @@ -734,6 +741,7 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: 0 status: id: status table: node_field_data @@ -1023,7 +1031,6 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_banner_alert_vamcs' - - 'config:workflow_list' page_1: id: page_1 display_title: Page @@ -1053,4 +1060,3 @@ display: tags: - 'config:field.storage.node.field_administration' - 'config:field.storage.node.field_banner_alert_vamcs' - - 'config:workflow_list' From 9318d56fbb6f98b038856bedc7a69a157d499331 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 20:06:13 -0500 Subject: [PATCH 8/8] Bump va-gov/content-build from 0.0.3372 to 0.0.3374 (#15866) Bumps [va-gov/content-build](https://github.com/department-of-veterans-affairs/content-build) from 0.0.3372 to 0.0.3374. - [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.3372...v0.0.3374) --- 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 | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/composer.json b/composer.json index 7c567f77fcd..b8b9d1bac16 100644 --- a/composer.json +++ b/composer.json @@ -207,7 +207,7 @@ "symfony/phpunit-bridge": "^5.1", "symfony/process": "^4.0", "symfony/routing": "^4.0", - "va-gov/content-build": "^0.0.3372", + "va-gov/content-build": "^0.0.3374", "vlucas/phpdotenv": "^5.3", "webflo/drupal-finder": "^1.0.0", "webmozart/path-util": "^2.3", diff --git a/composer.lock b/composer.lock index 403b3858bef..9c7cff52a61 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": "4dff2afe5871cb7482ee57dbde54733e", + "content-hash": "a719753bc58db6f1e66bb30d1a538748", "packages": [ { "name": "alchemy/zippy", @@ -26900,16 +26900,16 @@ }, { "name": "va-gov/content-build", - "version": "v0.0.3372", + "version": "v0.0.3374", "source": { "type": "git", "url": "https://github.com/department-of-veterans-affairs/content-build.git", - "reference": "b2c66f1be86b262b28b6c086c217e6a308b3bfd7" + "reference": "3ffbbed51f3d002915d71383967db07efa1f5335" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/department-of-veterans-affairs/content-build/zipball/b2c66f1be86b262b28b6c086c217e6a308b3bfd7", - "reference": "b2c66f1be86b262b28b6c086c217e6a308b3bfd7", + "url": "https://api.github.com/repos/department-of-veterans-affairs/content-build/zipball/3ffbbed51f3d002915d71383967db07efa1f5335", + "reference": "3ffbbed51f3d002915d71383967db07efa1f5335", "shasum": "" }, "type": "node-project", @@ -26936,9 +26936,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.3372" + "source": "https://github.com/department-of-veterans-affairs/content-build/tree/v0.0.3374" }, - "time": "2023-10-23T14:31:55+00:00" + "time": "2023-10-25T18:07:01+00:00" }, { "name": "vlucas/phpdotenv", @@ -27794,5 +27794,5 @@ "platform-overrides": { "php": "8.1" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" }