From b3b43578b0b005a4c985e2e16c369669ec52220c Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 31 Oct 2023 15:15:50 -0500 Subject: [PATCH 01/52] [EPAD8-2249] Initial commit of custom actions to support bulk changing group association for media and nodes. --- ...b_areas_update_media_group_association.yml | 13 ++ ...eb_areas_update_node_group_association.yml | 13 ++ .../sync/views.view.media_search_api.yml | 61 ++++--- .../sync/views.view.moderated_content.yml | 14 +- .../config/schema/epa_web_areas.schema.yml | 14 ++ .../Action/UpdateMediaGroupAssociation.php | 155 ++++++++++++++++++ .../Action/UpdateNodeGroupAssociation.php | 149 +++++++++++++++++ 7 files changed, 391 insertions(+), 28 deletions(-) create mode 100644 services/drupal/config/sync/system.action.epa_web_areas_update_media_group_association.yml create mode 100644 services/drupal/config/sync/system.action.epa_web_areas_update_node_group_association.yml create mode 100644 services/drupal/web/modules/custom/epa_web_areas/config/schema/epa_web_areas.schema.yml create mode 100644 services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php create mode 100644 services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php diff --git a/services/drupal/config/sync/system.action.epa_web_areas_update_media_group_association.yml b/services/drupal/config/sync/system.action.epa_web_areas_update_media_group_association.yml new file mode 100644 index 0000000000..1949c7fc45 --- /dev/null +++ b/services/drupal/config/sync/system.action.epa_web_areas_update_media_group_association.yml @@ -0,0 +1,13 @@ +uuid: 7563a7f7-1795-4821-82c0-67add9cf18f5 +langcode: en +status: true +dependencies: + module: + - node + - epa_web_areas +id: epa_web_areas_update_media_group_association +label: 'Update Web Area association' +type: media +plugin: epa_web_areas_update_media_group_association +configuration: + updated_group: null diff --git a/services/drupal/config/sync/system.action.epa_web_areas_update_node_group_association.yml b/services/drupal/config/sync/system.action.epa_web_areas_update_node_group_association.yml new file mode 100644 index 0000000000..03253ef92b --- /dev/null +++ b/services/drupal/config/sync/system.action.epa_web_areas_update_node_group_association.yml @@ -0,0 +1,13 @@ +uuid: aee885cd-343c-4a64-8fc2-2ecb9ba61d50 +langcode: en +status: true +dependencies: + module: + - node + - epa_web_areas +id: epa_web_areas_update_node_group_association +label: 'Update Web Area association' +type: node +plugin: epa_web_areas_update_node_group_association +configuration: + updated_group: null diff --git a/services/drupal/config/sync/views.view.media_search_api.yml b/services/drupal/config/sync/views.view.media_search_api.yml index f8107d5ea4..510d2bfd19 100644 --- a/services/drupal/config/sync/views.view.media_search_api.yml +++ b/services/drupal/config/sync/views.view.media_search_api.yml @@ -18,6 +18,7 @@ dependencies: - svg_image - user - views_autocomplete_filters + - views_bulk_operations - views_data_export id: media_search_api label: 'Media (search api)' @@ -35,15 +36,15 @@ display: display_options: title: 'Media Search' fields: - search_api_bulk_form: - id: search_api_bulk_form - table: search_api_index_media - field: search_api_bulk_form + views_bulk_operations_bulk_form: + id: views_bulk_operations_bulk_form + table: views + field: views_bulk_operations_bulk_form relationship: none group_type: group admin_label: '' - plugin_id: search_api_bulk_form - label: '' + plugin_id: views_bulk_operations_bulk_form + label: 'Views bulk operations' exclude: false alter: alter_text: false @@ -76,7 +77,7 @@ display: element_class: '' element_label_type: '' element_label_class: '' - element_label_colon: false + element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true @@ -84,12 +85,20 @@ display: hide_empty: false empty_zero: false hide_alter_empty: true + batch: true + batch_size: 10 + form_step: true + buttons: false action_title: Action - include_exclude: include + clear_on_exposed: true + force_selection_info: false selected_actions: - - media_delete_action - link_to_item: 0 - use_highlighting: 0 + 1: + action_id: epa_web_areas_update_media_group_association + preconfiguration: + add_confirmation: false + 3: + action_id: views_bulk_operations_delete_entity thumbnail: id: thumbnail table: search_api_datasource_media_entity_media @@ -2035,15 +2044,15 @@ display: position: 1 display_options: fields: - search_api_bulk_form: - id: search_api_bulk_form - table: search_api_index_media - field: search_api_bulk_form + views_bulk_operations_bulk_form: + id: views_bulk_operations_bulk_form + table: views + field: views_bulk_operations_bulk_form relationship: none group_type: group admin_label: '' - plugin_id: search_api_bulk_form - label: '' + plugin_id: views_bulk_operations_bulk_form + label: 'Views bulk operations' exclude: false alter: alter_text: false @@ -2076,7 +2085,7 @@ display: element_class: '' element_label_type: '' element_label_class: '' - element_label_colon: false + element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true @@ -2084,12 +2093,20 @@ display: hide_empty: false empty_zero: false hide_alter_empty: true + batch: true + batch_size: 10 + form_step: true + buttons: false action_title: Action - include_exclude: include + clear_on_exposed: true + force_selection_info: false selected_actions: - - media_delete_action - link_to_item: 0 - use_highlighting: 0 + 1: + action_id: epa_web_areas_update_media_group_association + preconfiguration: + add_confirmation: false + 3: + action_id: views_bulk_operations_delete_entity thumbnail: id: thumbnail table: search_api_datasource_media_entity_media diff --git a/services/drupal/config/sync/views.view.moderated_content.yml b/services/drupal/config/sync/views.view.moderated_content.yml index efb5d784ac..81e60dd43d 100644 --- a/services/drupal/config/sync/views.view.moderated_content.yml +++ b/services/drupal/config/sync/views.view.moderated_content.yml @@ -92,23 +92,25 @@ display: clear_on_exposed: true force_selection_info: false selected_actions: - 0: + - action_id: 'moderation_state_change:node' preconfiguration: add_confirmation: false - 1: - action_id: epa_workflow_bulk_republish + - + action_id: epa_web_areas_update_group_association preconfiguration: add_confirmation: false - 2: + - + action_id: epa_workflow_bulk_republish + - action_id: 'flag_action:notification_opt_in_flag' preconfiguration: add_confirmation: false - 3: + - action_id: 'flag_action:notification_opt_in_unflag' preconfiguration: add_confirmation: false - 6: + - action_id: node_assign_owner_action preconfiguration: add_confirmation: false diff --git a/services/drupal/web/modules/custom/epa_web_areas/config/schema/epa_web_areas.schema.yml b/services/drupal/web/modules/custom/epa_web_areas/config/schema/epa_web_areas.schema.yml new file mode 100644 index 0000000000..df135dc593 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/config/schema/epa_web_areas.schema.yml @@ -0,0 +1,14 @@ +action.configuration.epa_web_areas_update_node_group_association: + type: mapping + label: 'Configuration for "Update Node Group Association" action' + mapping: + title: + type: string + label: Title +action.configuration.epa_web_areas_update_media_group_association: + type: mapping + label: 'Configuration for "Update Media Group Association" action' + mapping: + title: + type: string + label: Title diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php new file mode 100644 index 0000000000..9c202c65f1 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php @@ -0,0 +1,155 @@ +get('current_user'), + $container->get('group.membership_loader'), + ); + } + + /** + * @param array $configuration + * @param $plugin_id + * @param $plugin_definition + * @param \Drupal\Core\Session\AccountProxyInterface $current_user + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader) { + parent::__construct($configuration, $plugin_id, $plugin_definition); + $this->currentUser = $current_user; + $this->groupMembershipLoader = $group_membership_loader; + } + + /** + * {@inheritdoc} + */ + public function defaultConfiguration() { + return [ + 'updated_group' => NULL + ]; + } + + /** + * {@inheritdoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state) { + $form['updated_group'] = [ + '#title' => $this->t('Updated Group'), + '#type' => 'select', + '#options' => $this->getGroupOptions(), + '#required' => TRUE, + '#default_value' => $this->configuration['updated_group'], + ]; + return $form; + } + + public function getGroupOptions() { + $options = []; + if (array_intersect($this->currentUser->getRoles(), ['administrator', 'system_webmaster'])) { + $groups = Group::loadMultiple(); + foreach ($groups as $group) { + $options[$group->id()] = "{$group->label()} ({$group->id()})"; + } + } + else { + // Get all groups the current user belongs to + $memberships = $this->groupMembershipLoader->loadByUser(); + foreach ($memberships as $group) { + $options[$group->getGroup()->id()] = "{$group->getGroup()->label()} ({$group->getGroup()->id()})"; + } + } + + return $options; + } + + /** + * {@inheritdoc} + */ + public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { + $this->configuration['updated_group'] = $form_state->getValue('updated_group'); + } + + /** + * {@inheritdoc} + */ + public function access($media, AccountInterface $account = NULL, $return_as_object = FALSE) { + /** @var \Drupal\media\MediaInterface $media */ + $access = $media->access('update', $account, TRUE); + return $return_as_object ? $access : $access->isAllowed(); + } + + /** + * {@inheritdoc} + */ + public function execute($media = NULL) { + // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. + $group_contents = GroupContent::loadByEntity($media); + if ($group_contents) { + foreach ($group_contents as $group_content) { + $group_content->get('gid')->setValue($this->configuration['updated_group']); + $group_content->save(); + } + } else { + $group_content = GroupContent::create([ + 'type' => 'web_area-group_media-', + 'uid' => 0, + 'gid' => $this->configuration['updated_group'], + 'entity_id' => $media->id(), + 'label' => $media->name(), + ]); + $group_content->save(); + } + } + +} diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php new file mode 100644 index 0000000000..78fdfbaad4 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php @@ -0,0 +1,149 @@ +get('current_user'), + $container->get('group.membership_loader'), + ); + } + + /** + * @param array $configuration + * @param $plugin_id + * @param $plugin_definition + * @param \Drupal\Core\Session\AccountProxyInterface $current_user + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader) { + parent::__construct($configuration, $plugin_id, $plugin_definition); + $this->currentUser = $current_user; + $this->groupMembershipLoader = $group_membership_loader; + } + + /** + * {@inheritdoc} + */ + public function defaultConfiguration() { + return [ + 'updated_group' => NULL + ]; + } + + /** + * {@inheritdoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state) { + $form['updated_group'] = [ + '#title' => $this->t('Updated Group'), + '#type' => 'select', + '#options' => $this->getGroupOptions(), + '#required' => TRUE, + '#default_value' => $this->configuration['updated_group'], + ]; + return $form; + } + + public function getGroupOptions() { + $options = []; + if (array_intersect($this->currentUser->getRoles(), ['administrator', 'system_webmaster'])) { + $groups = Group::loadMultiple(); + foreach ($groups as $group) { + $options[$group->id()] = "{$group->label()} ({$group->id()})"; + } + } + else { + // Get all groups the current user belongs to + $memberships = $this->groupMembershipLoader->loadByUser(); + foreach ($memberships as $group) { + $options[$group->getGroup()->id()] = "{$group->getGroup()->label()} ({$group->getGroup()->id()})"; + } + } + + return $options; + } + + /** + * {@inheritdoc} + */ + public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { + $this->configuration['updated_group'] = $form_state->getValue('updated_group'); + } + + /** + * {@inheritdoc} + */ + public function access($node, AccountInterface $account = NULL, $return_as_object = FALSE) { + /** @var \Drupal\node\NodeInterface $node */ + $access = $node->access('update', $account, TRUE); + return $return_as_object ? $access : $access->isAllowed(); + } + + /** + * {@inheritdoc} + */ + public function execute($node = NULL) { + // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. + $group_contents = GroupContent::loadByEntity($node); + if ($group_contents) { + foreach ($group_contents as $group_content) { + $group_content->get('gid')->setValue($this->configuration['updated_group']); + $group_content->save(); + } + } + else { + // Means it was never associated with a group + } + } + +} From d0a0ae83110c34907130d9f6db6f6b8ce4d8d99d Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 31 Oct 2023 15:17:07 -0500 Subject: [PATCH 02/52] [EPAD8-2249] Adding comments and notes on next steps needed for creating group content association if item was never associated with group. --- .../src/Plugin/Action/UpdateMediaGroupAssociation.php | 1 + .../src/Plugin/Action/UpdateNodeGroupAssociation.php | 1 + 2 files changed, 2 insertions(+) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php index 9c202c65f1..60087651fb 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php @@ -141,6 +141,7 @@ public function execute($media = NULL) { $group_content->save(); } } else { + // @TODO: Build plugin type correctly and test. $group_content = GroupContent::create([ 'type' => 'web_area-group_media-', 'uid' => 0, diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php index 78fdfbaad4..e1baa201dc 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php @@ -143,6 +143,7 @@ public function execute($node = NULL) { } else { // Means it was never associated with a group + // @TODO: Build this out and build plugin type correctly } } From 0eced2a6f35a37816bd0381734a6132685339345 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 7 Nov 2023 10:59:15 -0600 Subject: [PATCH 03/52] [EPAD8-2249] Adding logic to create the group content item if it doesn't exist. --- .../Plugin/Action/UpdateMediaGroupAssociation.php | 14 ++++++++------ .../Plugin/Action/UpdateNodeGroupAssociation.php | 12 +++++++++++- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php index 60087651fb..d0d0517010 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php @@ -140,16 +140,18 @@ public function execute($media = NULL) { $group_content->get('gid')->setValue($this->configuration['updated_group']); $group_content->save(); } - } else { - // @TODO: Build plugin type correctly and test. - $group_content = GroupContent::create([ - 'type' => 'web_area-group_media-', + } + else { + // Means it was never associated with a group + // @TODO: Build this out and build plugin type correctly + GroupContent::create([ + 'type' => 'web_area-group_media-' . $media->bundle(), 'uid' => 0, 'gid' => $this->configuration['updated_group'], 'entity_id' => $media->id(), 'label' => $media->name(), - ]); - $group_content->save(); + ])->save(); + } } diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php index e1baa201dc..c06dc9298e 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php @@ -20,7 +20,7 @@ * Provides the 'Update Group Association' action. * * @Action( - * id = "epa_web_areas_update_group_association", + * id = "epa_web_areas_update_node_group_association", * label = @Translation("Change Web Area association of nodes"), * type = "node", * category = @Translation("Custom") @@ -144,6 +144,16 @@ public function execute($node = NULL) { else { // Means it was never associated with a group // @TODO: Build this out and build plugin type correctly + GroupContent::create([ + 'type' => 'web_area-group_node-' . $node->bundle(), + 'uid' => 0, + 'gid' => $this->configuration['updated_group'], + 'entity_id' => $node->id(), + 'label' => $node->getTitle(), + 'entity_type' => 'node', + 'group_type' => 'web_area', + ]) + ->save(); } } From f2cbe2f9e52372cc3599e790d6a780657a367f42 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 7 Nov 2023 14:48:54 -0600 Subject: [PATCH 04/52] [EPAD8-2249] Adding patch to resolve issue with Search API, Elastic Connector and VBO. --- services/drupal/composer.patches.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/drupal/composer.patches.json b/services/drupal/composer.patches.json index 1581127898..75d7347249 100644 --- a/services/drupal/composer.patches.json +++ b/services/drupal/composer.patches.json @@ -124,7 +124,8 @@ "drupal/elasticsearch_connector": { "Facet OR: global aggregation does not take views filter into account": "https://www.drupal.org/files/issues/2023-03-06/elasticsearch_connector-facet_OR_global_aggregation_does_not_take_views_filter_into_account-3014805-44.patch", "Accurately count total number of results": "https://www.drupal.org/files/issues/2021-11-18/3250145-1-track-total-hits.patch", - "Implement luceneFlattenKeys": "https://www.drupal.org/files/issues/2021-09-28/elasticsearch_connector-flattenkeys-2952301-15.patch" + "Implement luceneFlattenKeys": "https://www.drupal.org/files/issues/2021-09-28/elasticsearch_connector-flattenkeys-2952301-15.patch", + "Search API + Elastic connector + VBO error performing action": "https://www.drupal.org/files/issues/2021-10-26/elasticsearch_connector-views_bulk_operation_fix-3050133-16.patch" }, "drupal/redis": { "Enable cluster mode support": "https://www.drupal.org/files/issues/2020-02-06/2900947-17.patch" From af13909a7710e098a4f96b13137ba01e8163b9d3 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 7 Nov 2023 14:50:48 -0600 Subject: [PATCH 05/52] [EPAD8-2249] Refactoring actions to utilize a shared base. --- .../Action/UpdateGroupAssociationBase.php | 141 +++++++++++++++ .../Action/UpdateMediaGroupAssociation.php | 168 +++--------------- .../Action/UpdateNodeGroupAssociation.php | 159 +++-------------- 3 files changed, 197 insertions(+), 271 deletions(-) create mode 100644 services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php new file mode 100644 index 0000000000..f207951782 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -0,0 +1,141 @@ +get('current_user'), + $container->get('group.membership_loader'), + ); + } + + /** + * @param array $configuration + * @param $plugin_id + * @param $plugin_definition + * @param \Drupal\Core\Session\AccountProxyInterface $current_user + */ + public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader) { + parent::__construct($configuration, $plugin_id, $plugin_definition); + $this->currentUser = $current_user; + $this->groupMembershipLoader = $group_membership_loader; + } + + /** + * {@inheritdoc} + */ + public function defaultConfiguration() { + return [ + 'updated_group' => NULL + ]; + } + + /** + * {@inheritdoc} + */ + public function buildConfigurationForm(array $form, FormStateInterface $form_state) { + $form['updated_group'] = [ + '#title' => $this->t('Updated Group'), + '#type' => 'select', + '#options' => $this->getGroupOptions(), + '#required' => TRUE, + '#default_value' => $this->configuration['updated_group'], + ]; + return $form; + } + + public function getGroupOptions() { + $options = []; + if (array_intersect($this->currentUser->getRoles(), ['administrator', 'system_webmaster'])) { + $groups = Group::loadMultiple(); + foreach ($groups as $group) { + $options[$group->id()] = "{$group->label()} ({$group->id()})"; + } + } + else { + // Get all groups the current user belongs to + $memberships = $this->groupMembershipLoader->loadByUser(); + foreach ($memberships as $group) { + $options[$group->getGroup()->id()] = "{$group->getGroup()->label()} ({$group->getGroup()->id()})"; + } + } + + return $options; + } + + /** + * {@inheritdoc} + */ + public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { + $this->configuration['updated_group'] = $form_state->getValue('updated_group'); + } + + /** + * {@inheritdoc} + */ + public function access($media, AccountInterface $account = NULL, $return_as_object = FALSE) { + /** @var \Drupal\media\MediaInterface $media */ + $access = $media->access('update', $account, TRUE); + return $return_as_object ? $access : $access->isAllowed(); + } + + /** + * {@inheritdoc} + */ + public function execute($entity = NULL) { + // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. + $group_contents = GroupContent::loadByEntity($entity); + if ($group_contents) { + foreach ($group_contents as $group_content) { + $group_content->get('gid')->setValue($this->configuration['updated_group']); + $group_content->save(); + } + } + else { + $values = [ + 'type' => $entity->getEntityTypeId() == 'node' ? 'web_area-group_node-' . $entity->bundle() : 'web_area-group_media-' . $entity->bundle(), + 'uid' => 0, + 'gid' => $this->configuration['updated_group'], + 'entity_id' => $entity->id(), + 'entity_type' => $entity->getEntityTypeId(), + 'label' => $entity->getEntityTypeId() == 'node' ? $entity->getTitle() : $entity->label(), + ]; + // Means it was never associated with a group + GroupContent::create($values)->save(); + + } + } +} diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php index d0d0517010..c8b48ebb79 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php @@ -2,19 +2,7 @@ namespace Drupal\epa_web_areas\Plugin\Action; -use Drupal\Core\Action\ConfigurableActionBase; -use Drupal\Core\Entity\EntityInterface; -use Drupal\Core\Form\FormStateInterface; -use Drupal\Core\Plugin\ContainerFactoryPluginInterface; -use Drupal\Core\Session\AccountInterface; -use Drupal\Core\Session\AccountProxyInterface; -use Drupal\group\Entity\Group; use Drupal\group\Entity\GroupContent; -use Drupal\group\Entity\GroupContentType; -use Drupal\group\Entity\GroupInterface; -use Drupal\group\GroupMembershipLoaderInterface; -use Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase; -use Symfony\Component\DependencyInjection\ContainerInterface; /** * Provides the 'Update Group Association' action. @@ -25,134 +13,32 @@ * type = "media", * category = @Translation("Custom") * ) - * - * @DCG - * For a simple updating entity fields consider extending FieldUpdateActionBase. */ -class UpdateMediaGroupAssociation extends ConfigurableActionBase implements ContainerFactoryPluginInterface { - - /** - * The current user service. - * - * @var \Drupal\Core\Session\AccountProxyInterface - */ - protected $currentUser; - - /** - * Group membership loader service. - * - * @var \Drupal\group\GroupMembershipLoaderInterface - */ - protected $groupMembershipLoader; - - - /** - * {@inheritDoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { - return new static( - $configuration, - $plugin_id, - $plugin_definition, - $container->get('current_user'), - $container->get('group.membership_loader'), - ); - } - - /** - * @param array $configuration - * @param $plugin_id - * @param $plugin_definition - * @param \Drupal\Core\Session\AccountProxyInterface $current_user - */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader) { - parent::__construct($configuration, $plugin_id, $plugin_definition); - $this->currentUser = $current_user; - $this->groupMembershipLoader = $group_membership_loader; - } - - /** - * {@inheritdoc} - */ - public function defaultConfiguration() { - return [ - 'updated_group' => NULL - ]; - } - - /** - * {@inheritdoc} - */ - public function buildConfigurationForm(array $form, FormStateInterface $form_state) { - $form['updated_group'] = [ - '#title' => $this->t('Updated Group'), - '#type' => 'select', - '#options' => $this->getGroupOptions(), - '#required' => TRUE, - '#default_value' => $this->configuration['updated_group'], - ]; - return $form; - } - - public function getGroupOptions() { - $options = []; - if (array_intersect($this->currentUser->getRoles(), ['administrator', 'system_webmaster'])) { - $groups = Group::loadMultiple(); - foreach ($groups as $group) { - $options[$group->id()] = "{$group->label()} ({$group->id()})"; - } - } - else { - // Get all groups the current user belongs to - $memberships = $this->groupMembershipLoader->loadByUser(); - foreach ($memberships as $group) { - $options[$group->getGroup()->id()] = "{$group->getGroup()->label()} ({$group->getGroup()->id()})"; - } - } - - return $options; - } - - /** - * {@inheritdoc} - */ - public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { - $this->configuration['updated_group'] = $form_state->getValue('updated_group'); - } - - /** - * {@inheritdoc} - */ - public function access($media, AccountInterface $account = NULL, $return_as_object = FALSE) { - /** @var \Drupal\media\MediaInterface $media */ - $access = $media->access('update', $account, TRUE); - return $return_as_object ? $access : $access->isAllowed(); - } - - /** - * {@inheritdoc} - */ - public function execute($media = NULL) { - // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. - $group_contents = GroupContent::loadByEntity($media); - if ($group_contents) { - foreach ($group_contents as $group_content) { - $group_content->get('gid')->setValue($this->configuration['updated_group']); - $group_content->save(); - } - } - else { - // Means it was never associated with a group - // @TODO: Build this out and build plugin type correctly - GroupContent::create([ - 'type' => 'web_area-group_media-' . $media->bundle(), - 'uid' => 0, - 'gid' => $this->configuration['updated_group'], - 'entity_id' => $media->id(), - 'label' => $media->name(), - ])->save(); - - } - } - +class UpdateMediaGroupAssociation extends UpdateGroupAssociationBase { + +// /** +// * {@inheritdoc} +// * @todo: refactor this to not be unique per entity "type". We should be able to get the "type" based on the Group Content plugin, but ran out of time. +// */ +// public function execute($entity = NULL) { +// // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. +// $group_contents = GroupContent::loadByEntity($entity); +// if ($group_contents) { +// foreach ($group_contents as $group_content) { +// $group_content->get('gid')->setValue($this->configuration['updated_group']); +// $group_content->save(); +// } +// } +// else { +// // Means it was never associated with a group +// GroupContent::create([ +// 'type' => 'web_area-group_media-' . $entity->bundle(), +// 'uid' => 0, +// 'gid' => $this->configuration['updated_group'], +// 'entity_id' => $entity->id(), +// 'label' => $entity->label(), +// ])->save(); +// +// } +// } } diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php index c06dc9298e..1a026a1b9b 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php @@ -25,136 +25,35 @@ * type = "node", * category = @Translation("Custom") * ) - * - * @DCG - * For a simple updating entity fields consider extending FieldUpdateActionBase. */ -class UpdateNodeGroupAssociation extends ConfigurableActionBase implements ContainerFactoryPluginInterface { - - /** - * The current user service. - * - * @var \Drupal\Core\Session\AccountProxyInterface - */ - protected $currentUser; - - /** - * Group membership loader service. - * - * @var \Drupal\group\GroupMembershipLoaderInterface - */ - protected $groupMembershipLoader; - - - /** - * {@inheritDoc} - */ - public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { - return new static( - $configuration, - $plugin_id, - $plugin_definition, - $container->get('current_user'), - $container->get('group.membership_loader'), - ); - } - - /** - * @param array $configuration - * @param $plugin_id - * @param $plugin_definition - * @param \Drupal\Core\Session\AccountProxyInterface $current_user - */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader) { - parent::__construct($configuration, $plugin_id, $plugin_definition); - $this->currentUser = $current_user; - $this->groupMembershipLoader = $group_membership_loader; - } - - /** - * {@inheritdoc} - */ - public function defaultConfiguration() { - return [ - 'updated_group' => NULL - ]; - } - - /** - * {@inheritdoc} - */ - public function buildConfigurationForm(array $form, FormStateInterface $form_state) { - $form['updated_group'] = [ - '#title' => $this->t('Updated Group'), - '#type' => 'select', - '#options' => $this->getGroupOptions(), - '#required' => TRUE, - '#default_value' => $this->configuration['updated_group'], - ]; - return $form; - } - - public function getGroupOptions() { - $options = []; - if (array_intersect($this->currentUser->getRoles(), ['administrator', 'system_webmaster'])) { - $groups = Group::loadMultiple(); - foreach ($groups as $group) { - $options[$group->id()] = "{$group->label()} ({$group->id()})"; - } - } - else { - // Get all groups the current user belongs to - $memberships = $this->groupMembershipLoader->loadByUser(); - foreach ($memberships as $group) { - $options[$group->getGroup()->id()] = "{$group->getGroup()->label()} ({$group->getGroup()->id()})"; - } - } - - return $options; - } - - /** - * {@inheritdoc} - */ - public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { - $this->configuration['updated_group'] = $form_state->getValue('updated_group'); - } - - /** - * {@inheritdoc} - */ - public function access($node, AccountInterface $account = NULL, $return_as_object = FALSE) { - /** @var \Drupal\node\NodeInterface $node */ - $access = $node->access('update', $account, TRUE); - return $return_as_object ? $access : $access->isAllowed(); - } - - /** - * {@inheritdoc} - */ - public function execute($node = NULL) { - // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. - $group_contents = GroupContent::loadByEntity($node); - if ($group_contents) { - foreach ($group_contents as $group_content) { - $group_content->get('gid')->setValue($this->configuration['updated_group']); - $group_content->save(); - } - } - else { - // Means it was never associated with a group - // @TODO: Build this out and build plugin type correctly - GroupContent::create([ - 'type' => 'web_area-group_node-' . $node->bundle(), - 'uid' => 0, - 'gid' => $this->configuration['updated_group'], - 'entity_id' => $node->id(), - 'label' => $node->getTitle(), - 'entity_type' => 'node', - 'group_type' => 'web_area', - ]) - ->save(); - } - } +class UpdateNodeGroupAssociation extends UpdateGroupAssociationBase { + +// /** +// * {@inheritdoc} +// * @todo: refactor this to not be unique per entity "type". We should be able to get the "type" based on the Group Content plugin, but ran out of time. +// */ +// public function execute($entity = NULL) { +// // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. +// $group_contents = GroupContent::loadByEntity($entity); +// if ($group_contents) { +// foreach ($group_contents as $group_content) { +// $group_content->get('gid')->setValue($this->configuration['updated_group']); +// $group_content->save(); +// } +// } +// else { +// // @TODO: Build this out and build plugin type correctly +// GroupContent::create([ +// 'type' => 'web_area-group_node-' . $entity->bundle(), +// 'uid' => 0, +// 'gid' => $this->configuration['updated_group'], +// 'entity_id' => $entity->id(), +// 'label' => $entity->getTitle(), +// 'entity_type' => 'node', +// 'group_type' => 'web_area', +// ]) +// ->save(); +// } +// } } From b78006de60ebdac6cc2ad50728a737d1aad08768 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 7 Nov 2023 19:45:05 -0600 Subject: [PATCH 06/52] [EPAD8-2249] Adding bulk operation to admin/content bulk operations view. --- services/drupal/config/sync/views.view.moderated_content.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/drupal/config/sync/views.view.moderated_content.yml b/services/drupal/config/sync/views.view.moderated_content.yml index 81e60dd43d..d8968680b5 100644 --- a/services/drupal/config/sync/views.view.moderated_content.yml +++ b/services/drupal/config/sync/views.view.moderated_content.yml @@ -97,7 +97,7 @@ display: preconfiguration: add_confirmation: false - - action_id: epa_web_areas_update_group_association + action_id: epa_web_areas_update_node_group_association preconfiguration: add_confirmation: false - From d87a5f137b62917076f5646ba7721cc94196a44a Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 8 Nov 2023 07:09:55 -0600 Subject: [PATCH 07/52] [EPAD8-2249] Removing comments. Renaming items --- .../Action/UpdateGroupAssociationBase.php | 5 ++-- .../Action/UpdateMediaGroupAssociation.php | 25 ----------------- .../Action/UpdateNodeGroupAssociation.php | 28 ------------------- 3 files changed, 2 insertions(+), 56 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index f207951782..db14fd9113 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -106,9 +106,8 @@ public function submitConfigurationForm(array &$form, FormStateInterface $form_s /** * {@inheritdoc} */ - public function access($media, AccountInterface $account = NULL, $return_as_object = FALSE) { - /** @var \Drupal\media\MediaInterface $media */ - $access = $media->access('update', $account, TRUE); + public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { + $access = $object->access('update', $account, TRUE); return $return_as_object ? $access : $access->isAllowed(); } diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php index c8b48ebb79..b8abffb8eb 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateMediaGroupAssociation.php @@ -16,29 +16,4 @@ */ class UpdateMediaGroupAssociation extends UpdateGroupAssociationBase { -// /** -// * {@inheritdoc} -// * @todo: refactor this to not be unique per entity "type". We should be able to get the "type" based on the Group Content plugin, but ran out of time. -// */ -// public function execute($entity = NULL) { -// // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. -// $group_contents = GroupContent::loadByEntity($entity); -// if ($group_contents) { -// foreach ($group_contents as $group_content) { -// $group_content->get('gid')->setValue($this->configuration['updated_group']); -// $group_content->save(); -// } -// } -// else { -// // Means it was never associated with a group -// GroupContent::create([ -// 'type' => 'web_area-group_media-' . $entity->bundle(), -// 'uid' => 0, -// 'gid' => $this->configuration['updated_group'], -// 'entity_id' => $entity->id(), -// 'label' => $entity->label(), -// ])->save(); -// -// } -// } } diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php index 1a026a1b9b..df85514676 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php @@ -28,32 +28,4 @@ */ class UpdateNodeGroupAssociation extends UpdateGroupAssociationBase { -// /** -// * {@inheritdoc} -// * @todo: refactor this to not be unique per entity "type". We should be able to get the "type" based on the Group Content plugin, but ran out of time. -// */ -// public function execute($entity = NULL) { -// // Get the GroupContent from the node and update it using the new group from the 'updated_group' configuration. -// $group_contents = GroupContent::loadByEntity($entity); -// if ($group_contents) { -// foreach ($group_contents as $group_content) { -// $group_content->get('gid')->setValue($this->configuration['updated_group']); -// $group_content->save(); -// } -// } -// else { -// // @TODO: Build this out and build plugin type correctly -// GroupContent::create([ -// 'type' => 'web_area-group_node-' . $entity->bundle(), -// 'uid' => 0, -// 'gid' => $this->configuration['updated_group'], -// 'entity_id' => $entity->id(), -// 'label' => $entity->getTitle(), -// 'entity_type' => 'node', -// 'group_type' => 'web_area', -// ]) -// ->save(); -// } -// } - } From 48d21a6b3c9e2566bb0c7c67df26afe91a10c13f Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 8 Nov 2023 08:53:10 -0600 Subject: [PATCH 08/52] [EPAD8-2249] Updating permissions for authenticated users to be able to use these new actions --- services/drupal/config/sync/user.role.authenticated.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/drupal/config/sync/user.role.authenticated.yml b/services/drupal/config/sync/user.role.authenticated.yml index 4a17e85e5b..f7deadef51 100644 --- a/services/drupal/config/sync/user.role.authenticated.yml +++ b/services/drupal/config/sync/user.role.authenticated.yml @@ -104,6 +104,8 @@ permissions: - 'execute entity:unpublish_action paragraphs_library_item' - 'execute entity:unpublish_action path_alias' - 'execute entity:unpublish_action taxonomy_term' + - 'execute epa_web_areas_update_media_group_association media' + - 'execute epa_web_areas_update_node_group_association node' - 'execute moderation_state_change block_content' - 'execute moderation_state_change crop' - 'execute moderation_state_change embedded_paragraphs' From 9c3aad4f9ccecf7140becb042177ebc91821f888 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 16 Nov 2023 13:31:42 -0600 Subject: [PATCH 09/52] [EPAD8-2249] Adding logic to prevent users who are not admins or system_webmaster roles from changing web area association with the new bulk actions. --- .../Action/UpdateGroupAssociationBase.php | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index db14fd9113..0a1bb60c80 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -2,6 +2,7 @@ namespace Drupal\epa_web_areas\Plugin\Action; +use Drupal\Core\Access\AccessResultForbidden; use Drupal\Core\Action\ConfigurableActionBase; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; @@ -107,8 +108,25 @@ public function submitConfigurationForm(array &$form, FormStateInterface $form_s * {@inheritdoc} */ public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { - $access = $object->access('update', $account, TRUE); - return $return_as_object ? $access : $access->isAllowed(); + // Check if the object we're updating has a group associated with it, i.e GroupContent entity. + $group_contents = GroupContent::loadByEntity($object); + $allowed_roles = [ + 'administrator', + 'system_webmaster', + ]; + if ($group_contents) { + $access = $object->access('update', $account, TRUE); + return $return_as_object ? $access : $access->isAllowed(); + } + else if (array_intersect($account->getRoles(), $allowed_roles)) { + // Means the object is not currently associated with a Group. + // Per logic of https://forumone.atlassian.net/browse/EPAD8-2249 only + // admins and system_webmaster users should have this access to this + $access = $object->access('update', $account, TRUE); + return $return_as_object ? $access : $access->isAllowed(); + } + + return $return_as_object ? new AccessResultForbidden("Your account does not have access to change web area association on content without a web area.") : FALSE; } /** From 60c1396810f02e064be545185c32778f4ae0c036 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Mon, 20 Nov 2023 08:53:50 -0600 Subject: [PATCH 10/52] [EPAD8-2249] Adjusting access denied message. --- .../src/Plugin/Action/UpdateGroupAssociationBase.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index 0a1bb60c80..acbf759506 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -8,6 +8,7 @@ use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Session\AccountProxyInterface; +use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\group\Entity\Group; use Drupal\group\Entity\GroupContent; use Drupal\group\GroupMembershipLoaderInterface; @@ -126,7 +127,8 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj return $return_as_object ? $access : $access->isAllowed(); } - return $return_as_object ? new AccessResultForbidden("Your account does not have access to change web area association on content without a web area.") : FALSE; + $message = new TranslatableMarkup('Your account does not have access to add a web area association to this content. Contact Web_CMS_Support@epa.gov for help.'); + return $return_as_object ? new AccessResultForbidden($message->render()) : FALSE; } /** From 05fe30f359a5b35c0839ee5dd8d7e4c70f076cb8 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 21 Nov 2023 15:16:27 -0600 Subject: [PATCH 11/52] [EPAD8-2291] Adding custom configuration form for allowing admins to control which content types and media bundles are allowed to have their web area association changed. --- .../epa_web_areas.allowed_bulk_change.yml | 18 +++ .../config/schema/epa_web_areas.schema.yml | 16 +++ .../epa_web_areas.links.task.yml | 6 + .../epa_web_areas/epa_web_areas.routing.yml | 7 + .../src/Form/AllowedBulkChangeNodesForm.php | 126 +++++++++++++++++ .../Action/UpdateGroupAssociationBase.php | 132 +++++++++++++++++- 6 files changed, 303 insertions(+), 2 deletions(-) create mode 100644 services/drupal/config/sync/epa_web_areas.allowed_bulk_change.yml create mode 100644 services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.routing.yml create mode 100644 services/drupal/web/modules/custom/epa_web_areas/src/Form/AllowedBulkChangeNodesForm.php diff --git a/services/drupal/config/sync/epa_web_areas.allowed_bulk_change.yml b/services/drupal/config/sync/epa_web_areas.allowed_bulk_change.yml new file mode 100644 index 0000000000..f9ab03f4db --- /dev/null +++ b/services/drupal/config/sync/epa_web_areas.allowed_bulk_change.yml @@ -0,0 +1,18 @@ +node: + event: event + faq: faq + news_release: news_release + page: page + perspective: perspective + public_notice: public_notice + regulation: regulation + speeches: speeches + webform: webform + web_area: 0 +media: + audio: audio + banner_image: banner_image + document: document + image: image + other: other + remote_video: remote_video diff --git a/services/drupal/web/modules/custom/epa_web_areas/config/schema/epa_web_areas.schema.yml b/services/drupal/web/modules/custom/epa_web_areas/config/schema/epa_web_areas.schema.yml index df135dc593..63109a95f1 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/config/schema/epa_web_areas.schema.yml +++ b/services/drupal/web/modules/custom/epa_web_areas/config/schema/epa_web_areas.schema.yml @@ -12,3 +12,19 @@ action.configuration.epa_web_areas_update_media_group_association: title: type: string label: Title + +epa_web_areas.allowed_bulk_change: + type: mapping + label: 'Allowed Entity Types' + mapping: + entity_type: + type: string + label: 'Entity Type' + bundles: + type: mapping + label: 'Bundles' + mapping: + bundle: + type: string + label: 'Bundle' + diff --git a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.links.task.yml b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.links.task.yml index e09728976e..d190af330b 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.links.task.yml +++ b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.links.task.yml @@ -27,3 +27,9 @@ epa_web_areas.node_group_dashboard: base_route: entity.node.canonical class: '\Drupal\epa_web_areas\Plugin\Menu\NodeGroupTab' weight: 9 + +epa_web_areas.group_type_allowed_bulk_change_nodes: + title: 'Allowed Bulk Change Nodes' + route_name: epa_web_areas.allowed_bulk_change_nodes + base_route: 'entity.group_type.edit_form' + weight: 50 diff --git a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.routing.yml b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.routing.yml new file mode 100644 index 0000000000..adb00a3215 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.routing.yml @@ -0,0 +1,7 @@ +epa_web_areas.allowed_bulk_change_nodes: + path: '/admin/group/types/manage/{group_type}/allowed-bulk-change-nodes' + defaults: + _form: '\Drupal\epa_web_areas\Form\AllowedBulkChangeNodesForm' + _title: 'Allowed Bulk Change nodes' + requirements: + _permission: 'administer group' diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Form/AllowedBulkChangeNodesForm.php b/services/drupal/web/modules/custom/epa_web_areas/src/Form/AllowedBulkChangeNodesForm.php new file mode 100644 index 0000000000..aa297bf8b6 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Form/AllowedBulkChangeNodesForm.php @@ -0,0 +1,126 @@ + [ + 'perspective', + 'speeches', + 'news_release', + ], + 'media' => [], + ]; + + /** + * {@inheritdoc} + * + * @var \Drupal\entity_clone\EntityCloneSettingsManager $entity_clone_settings_manager + */ + public function __construct(ConfigFactoryInterface $config_factory, EntityTypeManagerInterface $entity_type_manager) { + parent::__construct($config_factory); + $this->entityTypeManager = $entity_type_manager; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('config.factory'), + $container->get('entity_type.manager') + ); + } + + /** + * {@inheritdoc} + */ + public function getFormId() { + return 'epa_allowed_bulk_change_nodes'; + } + + /** + * {@inheritdoc} + */ + protected function getEditableConfigNames() { + return ['epa_web_areas.allowed_bulk_change']; + } + + /** + * {@inheritdoc} + */ + public function buildForm(array $form, FormStateInterface $form_state) { + $form = parent::buildForm($form, $form_state); + + $config = $this->config('epa_web_areas.allowed_bulk_change'); + + foreach ($this->allowedEntityTypes as $entity_type_id) { + $bundles = []; + $entity_type = $this->entityTypeManager->getDefinition($entity_type_id); + if ($entity_type->hasKey('bundle')) { + $bundle_entity_type_id = $entity_type->getBundleEntityType(); + $storage = $this->entityTypeManager->getStorage($bundle_entity_type_id); + $bundle_entities = $storage->loadMultiple(); + + foreach ($bundle_entities as $bundle_entity) { + if (in_array($bundle_entity->id(), $this->conditionalAllowedEntityBundles[$entity_type_id])) { + $bundles[$bundle_entity->id()] = $bundle_entity->label() . " - this bundle is enabled on a per Web Area basis and can only be changed if the target Web Area also allows this bundle."; + } + else { + $bundles[$bundle_entity->id()] = $bundle_entity->label(); + } + } + } + + $form['allowed_bundles'][$entity_type_id] = [ + '#type' => 'checkboxes', + '#title' => $this->t('Allowed bulk change for bundles of @entity_type', ['@entity_type' => $entity_type->getLabel()]), + '#options' => $bundles, + '#default_value' => $config->get($entity_type_id) ?? NULL, + ]; + } + + return $form; + } + + /** + * {@inheritdoc} + */ + public function submitForm(array &$form, FormStateInterface $form_state) { + $config = $this->config('epa_web_areas.allowed_bulk_change'); + foreach ($this->allowedEntityTypes as $type) { + $config->set($type, $form_state->getValue($type)); + } + + $config->save(); + + parent::submitForm($form, $form_state); + } + +} diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index acbf759506..c27277b90d 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -4,7 +4,9 @@ use Drupal\Core\Access\AccessResultForbidden; use Drupal\Core\Action\ConfigurableActionBase; +use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Messenger\MessengerInterface; use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Session\AccountProxyInterface; @@ -30,6 +32,20 @@ abstract class UpdateGroupAssociationBase extends ConfigurableActionBase impleme */ protected $groupMembershipLoader; + /** + * The config factory. + * + * @var \Drupal\Core\Config\ConfigFactoryInterface + */ + protected $configFactory; + + /** + * The messenger service. + * + * @var \Drupal\Core\Messenger\MessengerInterface + */ + protected $messenger; + /** * {@inheritDoc} @@ -41,6 +57,8 @@ public static function create(ContainerInterface $container, array $configuratio $plugin_definition, $container->get('current_user'), $container->get('group.membership_loader'), + $container->get('config.factory'), + $container->get('messenger'), ); } @@ -50,10 +68,12 @@ public static function create(ContainerInterface $container, array $configuratio * @param $plugin_definition * @param \Drupal\Core\Session\AccountProxyInterface $current_user */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader) { + public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader, ConfigFactoryInterface $config_factory, MessengerInterface $messenger) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->currentUser = $current_user; $this->groupMembershipLoader = $group_membership_loader; + $this->configFactory = $config_factory; + $this->messenger = $messenger; } /** @@ -109,7 +129,36 @@ public function submitConfigurationForm(array &$form, FormStateInterface $form_s * {@inheritdoc} */ public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { + $config = $this->configFactory->get('epa_web_areas.allowed_bulk_change'); + + // $object is not allowed based on config. + if ($config->get($object->getEntityTypeId()) && !in_array($object->bundle(), $config->get($object->getEntityTypeId()))) { + $this->context['denied'][] = $object->getTitle(); + // If it's not in the array of our configuration we do not allow it. +// return $return_as_object ? new AccessResultForbidden('You cannot update the Web Area association for ' . $object->bundle() . '. Contact Web_CMS_Support@epa.gov for help.') : FALSE; + return $return_as_object ? new AccessResultForbidden() : FALSE; + } + + // News Releases, Perspectives, and Speeches & Remarks are special in that + // they are only allowed if enabled on the specific Web Area. + // If the $object is one of those three bundles we need to check that + // bundle is allowed on the target Group selected in the VBO form. + $special_types = [ + 'news_release', + 'perspective', + 'speeches', + ]; + if ($object->getEntityTypeId() == 'node' && in_array($object->bundle(), $special_types)) { + $group = Group::load($this->configuration['updated_group']); + if (!$this->groupAllowsBundle($object->bundle())) { + $this->context['special_denied'][] = $object->getTitle(); + return $return_as_object ? new AccessResultForbidden() : FALSE; + } + } + // Check if the object we're updating has a group associated with it, i.e GroupContent entity. + // If it does not then we need to check if the current user is an admin or system_webmaster as those + // are the only users to allow associated 'orphaned' contnet with a new Web Area. $group_contents = GroupContent::loadByEntity($object); $allowed_roles = [ 'administrator', @@ -131,6 +180,64 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj return $return_as_object ? new AccessResultForbidden($message->render()) : FALSE; } + /** + * {@inheritDoc} + */ + public function executeMultiple(array $entities) { + foreach ($entities as $entity) { + $this->execute($entity); + } + + if (isset($this->context['denied']) && !empty($this->context['denied'])) { + $denied_message = 'Denied: Unable to move '; + for ($i = 0; $i < count($this->context['denied']); $i++) { + $denied_message .= $this->context['denied'][$i] . ', '; + } + $denied_message = trim($denied_message); + + if (count($this->context['denied']) > 5) { + $denied_message .= ' and more...'; + } + + $denied_message .= ' as you do not have access to these nodes.'; + + $this->messenger->addError($denied_message); + } + + if (isset($this->context['special_denied']) && !empty($this->context['special_denied'])) { + $group = Group::load($this->configuration['updated_group']); + $special_denied_message = 'Denied: Unable to move '; + for ($i = 0; $i < count($this->context['special_denied']); $i++) { + $special_denied_message .= $this->context['special_denied'][$i] . ', '; + } + $special_denied_message = trim($special_denied_message); + + if (count($this->context['special_denied']) > 5) { + $special_denied_message .= ' and more... '; + } + $special_denied_message = trim($special_denied_message); + $special_denied_message .= " as the {$group->label()} Web Area does not allow creating these nodes."; + $this->messenger->addError($special_denied_message); + } + + if (isset($this->context['success']) && !empty($this->context['success'])) { + $success_message = 'Successfully moved '; + for ($i = 0; $i < count($this->context['success']); $i++) { + $success_message .= $this->context['success'][$i] . ', '; + } + + if (count($this->context['success']) > 5) { + $success_message .= ' and more...'; + } + $success_message = trim($success_message); + + $success_message .= " to the new {$this->context['target_group']->label()} Web Area. Review the menu links from the previously associated Web Area."; + $this->messenger->addStatus($success_message); + } + + } + + /** * {@inheritdoc} */ @@ -142,6 +249,7 @@ public function execute($entity = NULL) { $group_content->get('gid')->setValue($this->configuration['updated_group']); $group_content->save(); } + $this->context['success'][] = $entity->getEntityTypeId() == 'node' ? $entity->getTitle() : $entity->label(); } else { $values = [ @@ -154,7 +262,27 @@ public function execute($entity = NULL) { ]; // Means it was never associated with a group GroupContent::create($values)->save(); - + $this->context['success'][] = $entity->getEntityTypeId() == 'node' ? $entity->getTitle() : $entity->label(); } } + + + /** + * Method for checking our special content types against the Group to see if they are allowed. + * + * @param string $bundle + * + * @return mixed|true + */ + public function groupAllowsBundle(string $bundle): mixed { + $group = Group::load($this->configuration['updated_group']); + + return match ($bundle) { + 'news_release' => filter_var($group->get('field_allow_news_releases')->value, FILTER_VALIDATE_BOOLEAN), + 'perspective' => filter_var($group->get('field_allow_perspectives')->value, FILTER_VALIDATE_BOOLEAN), + 'speeches' => filter_var($group->get('field_allow_speeches')->value, FILTER_VALIDATE_BOOLEAN), + default => TRUE, + }; + + } } From ba5ea247d8b2c654e42c1c8b19b6ae8c42157d40 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 22 Nov 2023 08:16:15 -0600 Subject: [PATCH 12/52] [EPAD8-2249] Doing a bit of refactoring and cleanup. --- .../Action/UpdateGroupAssociationBase.php | 110 +++++++----------- 1 file changed, 39 insertions(+), 71 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index c27277b90d..bd40e540c6 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -46,6 +46,13 @@ abstract class UpdateGroupAssociationBase extends ConfigurableActionBase impleme */ protected $messenger; + /** + * The target group entity we're wanting to switch to. + * + * @var \Drupal\group\Entity\GroupInterface + */ + protected $targetGroup; + /** * {@inheritDoc} @@ -123,6 +130,7 @@ public function getGroupOptions() { */ public function submitConfigurationForm(array &$form, FormStateInterface $form_state) { $this->configuration['updated_group'] = $form_state->getValue('updated_group'); + $this->targetGroup = Group::load($this->configuration['updated_group']); } /** @@ -134,8 +142,6 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj // $object is not allowed based on config. if ($config->get($object->getEntityTypeId()) && !in_array($object->bundle(), $config->get($object->getEntityTypeId()))) { $this->context['denied'][] = $object->getTitle(); - // If it's not in the array of our configuration we do not allow it. -// return $return_as_object ? new AccessResultForbidden('You cannot update the Web Area association for ' . $object->bundle() . '. Contact Web_CMS_Support@epa.gov for help.') : FALSE; return $return_as_object ? new AccessResultForbidden() : FALSE; } @@ -143,35 +149,19 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj // they are only allowed if enabled on the specific Web Area. // If the $object is one of those three bundles we need to check that // bundle is allowed on the target Group selected in the VBO form. - $special_types = [ - 'news_release', - 'perspective', - 'speeches', - ]; - if ($object->getEntityTypeId() == 'node' && in_array($object->bundle(), $special_types)) { - $group = Group::load($this->configuration['updated_group']); - if (!$this->groupAllowsBundle($object->bundle())) { - $this->context['special_denied'][] = $object->getTitle(); - return $return_as_object ? new AccessResultForbidden() : FALSE; - } + $special_types = ['news_release', 'perspective', 'speeches']; + if ($object->getEntityTypeId() == 'node' && in_array($object->bundle(), $special_types) && !$this->groupAllowsBundle($object->bundle())) { + $this->context['special_denied'][] = $object->getTitle(); + return $return_as_object ? new AccessResultForbidden() : FALSE; } // Check if the object we're updating has a group associated with it, i.e GroupContent entity. // If it does not then we need to check if the current user is an admin or system_webmaster as those - // are the only users to allow associated 'orphaned' contnet with a new Web Area. + // are the only users to allow associated 'orphaned' content with a new Web Area. $group_contents = GroupContent::loadByEntity($object); - $allowed_roles = [ - 'administrator', - 'system_webmaster', - ]; - if ($group_contents) { - $access = $object->access('update', $account, TRUE); - return $return_as_object ? $access : $access->isAllowed(); - } - else if (array_intersect($account->getRoles(), $allowed_roles)) { - // Means the object is not currently associated with a Group. - // Per logic of https://forumone.atlassian.net/browse/EPAD8-2249 only - // admins and system_webmaster users should have this access to this + $allowed_roles = ['administrator', 'system_webmaster']; + + if ($group_contents || array_intersect($account->getRoles(), $allowed_roles)) { $access = $object->access('update', $account, TRUE); return $return_as_object ? $access : $access->isAllowed(); } @@ -184,57 +174,35 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj * {@inheritDoc} */ public function executeMultiple(array $entities) { - foreach ($entities as $entity) { - $this->execute($entity); - } - - if (isset($this->context['denied']) && !empty($this->context['denied'])) { - $denied_message = 'Denied: Unable to move '; - for ($i = 0; $i < count($this->context['denied']); $i++) { - $denied_message .= $this->context['denied'][$i] . ', '; - } - $denied_message = trim($denied_message); - - if (count($this->context['denied']) > 5) { - $denied_message .= ' and more...'; - } - - $denied_message .= ' as you do not have access to these nodes.'; - - $this->messenger->addError($denied_message); - } - - if (isset($this->context['special_denied']) && !empty($this->context['special_denied'])) { - $group = Group::load($this->configuration['updated_group']); - $special_denied_message = 'Denied: Unable to move '; - for ($i = 0; $i < count($this->context['special_denied']); $i++) { - $special_denied_message .= $this->context['special_denied'][$i] . ', '; - } - $special_denied_message = trim($special_denied_message); + parent::executeMultiple($entities); + $this->processMessages('denied', 'Unable to move @items as you do not have access to these nodes.'); + $this->processMessages('special_denied', 'Unable to move @items as the @group Web Area does not allow creating these nodes.'); + $this->processMessages('success', 'Successfully moved @items to the new @group Web Area. Review the menu links from the previously associated Web Area.'); + } - if (count($this->context['special_denied']) > 5) { - $special_denied_message .= ' and more... '; - } - $special_denied_message = trim($special_denied_message); - $special_denied_message .= " as the {$group->label()} Web Area does not allow creating these nodes."; - $this->messenger->addError($special_denied_message); - } + /** + * Process messages for a specific context key. + * + * @param string $key + * The key in $this->context to process. + * @param string $message + * The message to display when processing messages. + */ + public function processMessages($key, $message) { + if (isset($this->context[$key]) && !empty($this->context[$key])) { + $items = implode(', ', $this->context[$key]); + $items_message = rtrim($items, ', '); - if (isset($this->context['success']) && !empty($this->context['success'])) { - $success_message = 'Successfully moved '; - for ($i = 0; $i < count($this->context['success']); $i++) { - $success_message .= $this->context['success'][$i] . ', '; + if (count($this->context[$key]) > 5) { + $items_message .= ' and more...'; } - if (count($this->context['success']) > 5) { - $success_message .= ' and more...'; - } - $success_message = trim($success_message); + // @todo: See if we can set a property with the loaded group. + $group = Group::load($this->configuration['updated_group'])->label(); - $success_message .= " to the new {$this->context['target_group']->label()} Web Area. Review the menu links from the previously associated Web Area."; - $this->messenger->addStatus($success_message); + $message = str_replace(['@items', '@group'], [$items_message, $group], $message); + $this->messenger->addError($message); } - } From b657f203c27f25f2d9bf02ad52b419b897c9b1f0 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Mon, 11 Dec 2023 09:13:31 -0600 Subject: [PATCH 13/52] [EPAD8-2249] Adjusting task label. Adding different message types based on success or denied --- .../epa_web_areas.links.task.yml | 2 +- .../Action/UpdateGroupAssociationBase.php | 25 ++++++++++++++++--- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.links.task.yml b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.links.task.yml index d190af330b..21072dba1e 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.links.task.yml +++ b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.links.task.yml @@ -29,7 +29,7 @@ epa_web_areas.node_group_dashboard: weight: 9 epa_web_areas.group_type_allowed_bulk_change_nodes: - title: 'Allowed Bulk Change Nodes' + title: 'Allowed Bulk Change Entity Bundles' route_name: epa_web_areas.allowed_bulk_change_nodes base_route: 'entity.group_type.edit_form' weight: 50 diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index bd40e540c6..403f8deede 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -53,6 +53,12 @@ abstract class UpdateGroupAssociationBase extends ConfigurableActionBase impleme */ protected $targetGroup; + const DENIED = 'denied'; + + const SUCCESS = 'success'; + + const SPECIAL_DENIED = 'special_denied'; + /** * {@inheritDoc} @@ -175,9 +181,9 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj */ public function executeMultiple(array $entities) { parent::executeMultiple($entities); - $this->processMessages('denied', 'Unable to move @items as you do not have access to these nodes.'); - $this->processMessages('special_denied', 'Unable to move @items as the @group Web Area does not allow creating these nodes.'); - $this->processMessages('success', 'Successfully moved @items to the new @group Web Area. Review the menu links from the previously associated Web Area.'); + $this->processMessages(UpdateGroupAssociationBase::DENIED, 'Unable to move @items as you do not have access to these nodes.'); + $this->processMessages(UpdateGroupAssociationBase::SPECIAL_DENIED, 'Unable to move @items as the @group Web Area does not allow creating these nodes.'); + $this->processMessages(UpdateGroupAssociationBase::SUCCESS, 'Successfully moved @items to the new @group Web Area. Review the menu links from the previously associated Web Area.'); } /** @@ -201,7 +207,18 @@ public function processMessages($key, $message) { $group = Group::load($this->configuration['updated_group'])->label(); $message = str_replace(['@items', '@group'], [$items_message, $group], $message); - $this->messenger->addError($message); + + // Based on message type display error or success message. + switch ($key) { + case UpdateGroupAssociationBase::DENIED: + case UpdateGroupAssociationBase::SPECIAL_DENIED: + $this->messenger->addError($message); + break; + case UpdateGroupAssociationBase::SUCCESS: + $this->messenger->addStatus($message); + break; + } + } } From f78cafc81aa60b3d96c3104073a3a085896d0972 Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Sat, 13 Jan 2024 00:13:22 -0700 Subject: [PATCH 14/52] EPAD8-2288 h2 box title not bordered is smaller --- .../epa_theme/source/_patterns/05-components/box/_box.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/_box.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/_box.scss index 28d771a453..1bd0e2e9b7 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/_box.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/_box.scss @@ -39,6 +39,12 @@ div.box__title { @extend %h3; } +h2.box__title { + @include breakpoint(gesso-breakpoint(tablet)) { + font-size: rem(28px); + } +} + .box__image-link { &#{$external-urls} { @extend .external-link--image; From 939a001968c1509bb32c6071ccd1d8a3fe13b74f Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 16 Jan 2024 20:06:16 -0600 Subject: [PATCH 15/52] [EPAD8-2249] Refacotoring the bulk change action to properly handle messaging based --- .../Action/UpdateGroupAssociationBase.php | 206 ++++++++++++------ 1 file changed, 144 insertions(+), 62 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index 403f8deede..d184ac1104 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -2,6 +2,7 @@ namespace Drupal\epa_web_areas\Plugin\Action; +use Drupal\Component\Render\FormattableMarkup; use Drupal\Core\Access\AccessResultForbidden; use Drupal\Core\Action\ConfigurableActionBase; use Drupal\Core\Config\ConfigFactoryInterface; @@ -14,9 +15,12 @@ use Drupal\group\Entity\Group; use Drupal\group\Entity\GroupContent; use Drupal\group\GroupMembershipLoaderInterface; +use Drupal\node\NodeInterface; +use Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase; use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\HttpFoundation\RedirectResponse; -abstract class UpdateGroupAssociationBase extends ConfigurableActionBase implements ContainerFactoryPluginInterface { +abstract class UpdateGroupAssociationBase extends ViewsBulkOperationsActionBase implements ContainerFactoryPluginInterface { /** * The current user service. @@ -53,7 +57,10 @@ abstract class UpdateGroupAssociationBase extends ConfigurableActionBase impleme */ protected $targetGroup; - const DENIED = 'denied'; + const DENIED = 'access_denied'; + + const CONFIG_DENIED = 'config_denied'; + const SUCCESS = 'success'; @@ -98,6 +105,10 @@ public function defaultConfiguration() { ]; } + public function setConfiguration(array $configuration) { + parent::setConfiguration($configuration); // TODO: Change the autogenerated stub + } + /** * {@inheritdoc} */ @@ -107,13 +118,18 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta '#type' => 'select', '#options' => $this->getGroupOptions(), '#required' => TRUE, - '#default_value' => $this->configuration['updated_group'], + '#default_value' => $this->configuration['updated_group'] ?? '', ]; return $form; } + /** + * Helper method for getting all groups the current user belongs to. + * + * @return array + */ public function getGroupOptions() { - $options = []; + $options = ['' => '- Select -']; if (array_intersect($this->currentUser->getRoles(), ['administrator', 'system_webmaster'])) { $groups = Group::loadMultiple(); foreach ($groups as $group) { @@ -144,11 +160,12 @@ public function submitConfigurationForm(array &$form, FormStateInterface $form_s */ public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { $config = $this->configFactory->get('epa_web_areas.allowed_bulk_change'); + $bundle = $object->get($object->getEntityType()->getKey('bundle'))->entity; + $group = Group::load($this->configuration['updated_group']); // $object is not allowed based on config. if ($config->get($object->getEntityTypeId()) && !in_array($object->bundle(), $config->get($object->getEntityTypeId()))) { - $this->context['denied'][] = $object->getTitle(); - return $return_as_object ? new AccessResultForbidden() : FALSE; + return $return_as_object ? new AccessResultForbidden(UpdateGroupAssociationBase::CONFIG_DENIED . "|{$object->getTitle()}|{$bundle->label()}") : FALSE; } // News Releases, Perspectives, and Speeches & Remarks are special in that @@ -157,18 +174,23 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj // bundle is allowed on the target Group selected in the VBO form. $special_types = ['news_release', 'perspective', 'speeches']; if ($object->getEntityTypeId() == 'node' && in_array($object->bundle(), $special_types) && !$this->groupAllowsBundle($object->bundle())) { - $this->context['special_denied'][] = $object->getTitle(); - return $return_as_object ? new AccessResultForbidden() : FALSE; + return $return_as_object ? new AccessResultForbidden(UpdateGroupAssociationBase::SPECIAL_DENIED . "|{$object->getTitle()}|{$bundle->label()}|{$group->label()} ") : FALSE; } - // Check if the object we're updating has a group associated with it, i.e GroupContent entity. - // If it does not then we need to check if the current user is an admin or system_webmaster as those - // are the only users to allow associated 'orphaned' content with a new Web Area. + // Check if the object we're updating has a group associated with it, i.e + // GroupContent entity. If it does not then we need to check if the current + // user is an admin or system_webmaster as those are the only users to allow + // associated 'orphaned' content with a new Web Area. $group_contents = GroupContent::loadByEntity($object); $allowed_roles = ['administrator', 'system_webmaster']; if ($group_contents || array_intersect($account->getRoles(), $allowed_roles)) { + /** @var \Drupal\Core\Access\AccessResultInterface $access */ + $gc_item = reset($group_contents); $access = $object->access('update', $account, TRUE); + if ($access instanceof AccessResultForbidden) { + $access->setReason(UpdateGroupAssociationBase::DENIED . "|{$object->getTitle()}|{$gc_item->getGroup()->label()}"); + } return $return_as_object ? $access : $access->isAllowed(); } @@ -176,53 +198,6 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj return $return_as_object ? new AccessResultForbidden($message->render()) : FALSE; } - /** - * {@inheritDoc} - */ - public function executeMultiple(array $entities) { - parent::executeMultiple($entities); - $this->processMessages(UpdateGroupAssociationBase::DENIED, 'Unable to move @items as you do not have access to these nodes.'); - $this->processMessages(UpdateGroupAssociationBase::SPECIAL_DENIED, 'Unable to move @items as the @group Web Area does not allow creating these nodes.'); - $this->processMessages(UpdateGroupAssociationBase::SUCCESS, 'Successfully moved @items to the new @group Web Area. Review the menu links from the previously associated Web Area.'); - } - - /** - * Process messages for a specific context key. - * - * @param string $key - * The key in $this->context to process. - * @param string $message - * The message to display when processing messages. - */ - public function processMessages($key, $message) { - if (isset($this->context[$key]) && !empty($this->context[$key])) { - $items = implode(', ', $this->context[$key]); - $items_message = rtrim($items, ', '); - - if (count($this->context[$key]) > 5) { - $items_message .= ' and more...'; - } - - // @todo: See if we can set a property with the loaded group. - $group = Group::load($this->configuration['updated_group'])->label(); - - $message = str_replace(['@items', '@group'], [$items_message, $group], $message); - - // Based on message type display error or success message. - switch ($key) { - case UpdateGroupAssociationBase::DENIED: - case UpdateGroupAssociationBase::SPECIAL_DENIED: - $this->messenger->addError($message); - break; - case UpdateGroupAssociationBase::SUCCESS: - $this->messenger->addStatus($message); - break; - } - - } - } - - /** * {@inheritdoc} */ @@ -234,7 +209,8 @@ public function execute($entity = NULL) { $group_content->get('gid')->setValue($this->configuration['updated_group']); $group_content->save(); } - $this->context['success'][] = $entity->getEntityTypeId() == 'node' ? $entity->getTitle() : $entity->label(); + $title = $entity instanceof NodeInterface ? $entity->getTitle() : $entity->name(); + return UpdateGroupAssociationBase::SUCCESS . "|$title|{$group_content->getGroup()->label()}"; } else { $values = [ @@ -246,12 +222,12 @@ public function execute($entity = NULL) { 'label' => $entity->getEntityTypeId() == 'node' ? $entity->getTitle() : $entity->label(), ]; // Means it was never associated with a group - GroupContent::create($values)->save(); - $this->context['success'][] = $entity->getEntityTypeId() == 'node' ? $entity->getTitle() : $entity->label(); + $group_content = GroupContent::create($values)->save(); + $title = $entity instanceof NodeInterface ? $entity->getTitle() : $entity->name(); + return UpdateGroupAssociationBase::SUCCESS . "|$title|{$group_content->getGroup()->label()}"; } } - /** * Method for checking our special content types against the Group to see if they are allowed. * @@ -270,4 +246,110 @@ public function groupAllowsBundle(string $bundle): mixed { }; } + + /** + * {@inheritDoc} + */ + public static function finished($success, array $results, array $operations): ?RedirectResponse { + if ($success) { + $separated = []; + foreach ($results['operations'] as $item) { + $message_parts = explode('|', $item['message']); + if (empty($message_parts[0])) { + // Something errored or otherwise. + continue; + } + + $bundle_or_web_area = trim($message_parts[2]); + if (str_contains($message_parts[0], self::CONFIG_DENIED)) { + $separated[self::CONFIG_DENIED][$bundle_or_web_area][] = $message_parts[1]; + continue; + } + + if (str_contains($message_parts[0], self::SPECIAL_DENIED)) { + $separated[self::SPECIAL_DENIED][$bundle_or_web_area][] = $message_parts[1]; + continue; + } + + if (str_contains($message_parts[0], self::DENIED)) { + $separated[self::DENIED][$bundle_or_web_area][] = $message_parts[1]; + continue; + } + + if (str_contains($message_parts[0], self::SUCCESS)) { + $separated[self::SUCCESS][$bundle_or_web_area][] = $message_parts[1]; + } + } + + $config_denied_string = "Denied: Unable to move @items as we don't allow changing the Web Area for @bundle content type."; + $denied_string = 'Denied: Unable to move @items as as you do not have access to content within the @web_areas Web Area(s)'; + $special_denied_string = "Denied: Unable to move @items as the target Web Area does not support @bundle content type."; + $success_string = "Success: Moved @items to the @web_areas Web Area. Review the menu links from the previously associated Web Area."; + foreach($separated as $issue_type => $issues) { + switch($issue_type) { + case self::CONFIG_DENIED: + self::processMessages(self::CONFIG_DENIED, $config_denied_string, $separated[self::CONFIG_DENIED]); + break; + case self::DENIED: + self::processMessages(self::DENIED, $denied_string, $separated[self::DENIED]); + break; + case self::SPECIAL_DENIED: + self::processMessages(self::SPECIAL_DENIED, $special_denied_string, $separated[self::SPECIAL_DENIED]); + break; + case self::SUCCESS: + self::processMessages(self::SUCCESS, $success_string, $separated[self::SUCCESS]); + break; + } + } + } + else { + $message = static::translate('Finished with an error.'); + static::message($message, 'error'); + } + return NULL; + } + + /** + * Process messages for a specific context key. + * + * @param string $key + * The key in $this->context to process. + * @param string $message + * The message to display when processing messages. + * @param array $results + * The result items after the bulk update. + */ + public static function processMessages($key, $message, array $results) { + foreach ($results as $type => $individual_group) { + $first_five = array_slice($individual_group, 0, 5); + $items = implode(', ', $first_five); + $items_message = rtrim($items, ', '); + + if (count($individual_group) > 5) { + $total_remaining = count($individual_group) - 5; + $items_message .= " and $total_remaining more..."; + } + $bundle = array_keys($results); + $bundle = implode(", ", $bundle); + $bundle = rtrim($bundle); + + // Based on message type display error or success message. + switch ($key) { + case UpdateGroupAssociationBase::DENIED: + $message = str_replace(['@items', '@web_areas'], [$items_message, $bundle], $message); + self::message($message, 'error'); + break; + case UpdateGroupAssociationBase::CONFIG_DENIED: + case UpdateGroupAssociationBase::SPECIAL_DENIED: + $message = str_replace(['@items', '@bundle'], [$items_message, $bundle], $message); + self::message($message, 'error'); + break; + case UpdateGroupAssociationBase::SUCCESS: + $message = str_replace(['@items', '@web_areas'], [$items_message, $bundle], $message); + self::message($message); + break; + } + } + } + } From 4f8c667982d0c855c4201f59a05e224e8f33d332 Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Tue, 13 Feb 2024 23:49:47 -0700 Subject: [PATCH 16/52] EPAD8-2322 clear console errors --- .../epa_theme/js/src/sitewide-alert.es6.js | 24 ++++++++++--------- .../themes/epa_theme/js/src/vid-copy.es6.js | 21 +++++++++------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/js/src/sitewide-alert.es6.js b/services/drupal/web/themes/epa_theme/js/src/sitewide-alert.es6.js index 6579b31e86..c6d54b0bc5 100644 --- a/services/drupal/web/themes/epa_theme/js/src/sitewide-alert.es6.js +++ b/services/drupal/web/themes/epa_theme/js/src/sitewide-alert.es6.js @@ -23,17 +23,19 @@ import Drupal from 'drupal'; alert.classList.remove('u-hidden'); } - closeButton.addEventListener('click', event => { - const timestamp = Date.now(); - closedHashes = getClosedAlerts(); - closedHashes[alertHash] = timestamp; - - // Hide alert when close button clicked. - alert.classList.add('u-hidden'); - - // Add alert hash to localStorage. - setClosedAlerts(closedHashes); - }); + if (closeButton !== null) { + closeButton.addEventListener('click', event => { + const timestamp = Date.now(); + closedHashes = getClosedAlerts(); + closedHashes[alertHash] = timestamp; + + // Hide alert when close button clicked. + alert.classList.add('u-hidden'); + + // Add alert hash to localStorage. + setClosedAlerts(closedHashes); + }); + } }); function getClosedAlerts() { diff --git a/services/drupal/web/themes/epa_theme/js/src/vid-copy.es6.js b/services/drupal/web/themes/epa_theme/js/src/vid-copy.es6.js index 06d039fb6c..eef84273f2 100644 --- a/services/drupal/web/themes/epa_theme/js/src/vid-copy.es6.js +++ b/services/drupal/web/themes/epa_theme/js/src/vid-copy.es6.js @@ -5,17 +5,20 @@ import Drupal from 'drupal'; Drupal.behaviors.vidCopy = { attach(context) { const windowHost = window.location.hostname; - const vidCopyURL = context - .querySelector('.revision-link') - .getAttribute('href'); + const vidCopy = context.querySelector('.revision-link'); - once('vid-copy', '.js-vid-copy', context).forEach(button => { - button.addEventListener('click', function(e) { - e.preventDefault(); - const vidWriteText = `https://${windowHost}${vidCopyURL}`; - navigator.clipboard.writeText(vidWriteText); + if (vidCopy !== null) { + const vidCopyURL = context + .querySelector('.revision-link') + .getAttribute('href'); + once('vid-copy', '.js-vid-copy', context).forEach(button => { + button.addEventListener('click', function(e) { + e.preventDefault(); + const vidWriteText = `https://${windowHost}${vidCopyURL}`; + navigator.clipboard.writeText(vidWriteText); + }); }); - }); + } }, }; })(Drupal); From 3842e64b0275e7190a543ea93930f21555052607 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 22 Feb 2024 10:10:51 -0600 Subject: [PATCH 17/52] [EPAD8-2322] Adding logic to slideshow to prevent private items from displaying in slideshow. --- .../drupal/web/themes/epa_theme/includes/paragraph.inc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/services/drupal/web/themes/epa_theme/includes/paragraph.inc b/services/drupal/web/themes/epa_theme/includes/paragraph.inc index 2e6c5eb90d..175a8a9f8f 100644 --- a/services/drupal/web/themes/epa_theme/includes/paragraph.inc +++ b/services/drupal/web/themes/epa_theme/includes/paragraph.inc @@ -13,8 +13,15 @@ use Drupal\Core\Template\Attribute; */ function epa_theme_preprocess_paragraph__slideshow(&$variables) { $slides = $variables['content']['field_slides']; - foreach (Element::children($slides) as $key) { + // If media item is private and user is anonymous we should remove it from display. + /** @var \Drupal\media\MediaInterface $media_item */ + $media_item = $slides[$key]['#paragraph']->field_slide_image->entity; + if (\Drupal::currentUser()->isAnonymous() && + $media_item->get('field_limit_file_accessibility')->value == 1 + ) { + continue; + } $variables['slides'][$key]['caption'] = $slides[$key]['#paragraph']->field_caption; $variables['slides'][$key]['media'] = $slides[$key]['#paragraph']->field_slide_image; } From a10571ab3b9e0377edaebe0cdc7d92ae8dacbd64 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 22 Feb 2024 11:15:28 -0600 Subject: [PATCH 18/52] [EPAD8-2322] Adding logic to check if media item has field. --- services/drupal/web/themes/epa_theme/includes/paragraph.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/drupal/web/themes/epa_theme/includes/paragraph.inc b/services/drupal/web/themes/epa_theme/includes/paragraph.inc index 175a8a9f8f..bf60f0d52e 100644 --- a/services/drupal/web/themes/epa_theme/includes/paragraph.inc +++ b/services/drupal/web/themes/epa_theme/includes/paragraph.inc @@ -18,9 +18,11 @@ function epa_theme_preprocess_paragraph__slideshow(&$variables) { /** @var \Drupal\media\MediaInterface $media_item */ $media_item = $slides[$key]['#paragraph']->field_slide_image->entity; if (\Drupal::currentUser()->isAnonymous() && - $media_item->get('field_limit_file_accessibility')->value == 1 + $media_item->hasField('field_limit_file_accessibility') ) { + if ($media_item->get('field_limit_file_accessibility')->value == 1) { continue; + } } $variables['slides'][$key]['caption'] = $slides[$key]['#paragraph']->field_caption; $variables['slides'][$key]['media'] = $slides[$key]['#paragraph']->field_slide_image; From fef1125646913b4b060a1e8dbc087a5b5cbb1d0b Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 27 Feb 2024 10:20:48 -0600 Subject: [PATCH 19/52] [EPAD8-2012] Removing author field from displaying in all dashboards. --- .../es/views.view.moderated_content.yml | 3 - .../views.view.group_moderated_content.yml | 65 -- .../config/sync/views.view.group_nodes.yml | 774 +---------------- .../sync/views.view.moderated_content.yml | 819 ++---------------- .../sync/views.view.published_content.yml | 471 +--------- 5 files changed, 97 insertions(+), 2035 deletions(-) diff --git a/services/drupal/config/sync/language/es/views.view.moderated_content.yml b/services/drupal/config/sync/language/es/views.view.moderated_content.yml index 831f2623a0..e3963dffe6 100644 --- a/services/drupal/config/sync/language/es/views.view.moderated_content.yml +++ b/services/drupal/config/sync/language/es/views.view.moderated_content.yml @@ -12,9 +12,6 @@ display: type: label: 'Tipo de contenido' separator: ', ' - name: - label: Autor - separator: ', ' moderation_state: label: 'Estado de moderación' separator: ', ' diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index 612c6d362d..2fa34d6018 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -546,71 +546,6 @@ display: multi_type: separator separator: ', ' field_api_classes: false - name: - id: name - table: users_field_data - field: name - relationship: uid - group_type: group - admin_label: '' - entity_type: user - entity_field: name - plugin_id: field - label: Author - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: user_name - settings: - link_to_entity: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false operations: id: operations table: node_revision diff --git a/services/drupal/config/sync/views.view.group_nodes.yml b/services/drupal/config/sync/views.view.group_nodes.yml index eaf62df20c..307eeac432 100644 --- a/services/drupal/config/sync/views.view.group_nodes.yml +++ b/services/drupal/config/sync/views.view.group_nodes.yml @@ -491,71 +491,6 @@ display: multi_type: separator separator: ', ' field_api_classes: false - uid: - id: uid - table: node_field_data - field: uid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: uid - plugin_id: field - label: Author - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false operations: id: operations table: node @@ -1302,679 +1237,44 @@ display: position: 1 display_options: enabled: true - fields: - nid: - id: nid - table: node_field_data - field: nid - relationship: none + arguments: + gid: + id: gid + table: group_content_field_data + field: gid + relationship: group_content group_type: group admin_label: '' - entity_type: node - entity_field: nid - plugin_id: field - label: ID - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: number_integer - settings: - thousand_separator: '' - prefix_suffix: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - title: - id: title - table: node_field_data - field: title - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: title - plugin_id: field - label: Title - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: false - ellipsis: false - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: string - settings: - link_to_entity: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - type: - id: type - table: node_field_data - field: type - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: type - plugin_id: field - label: 'Content type' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: false - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - field_owning_office: - id: field_owning_office - table: node__field_owning_office - field: field_owning_office - relationship: none - group_type: group - admin_label: '' - plugin_id: field - label: 'Owning Office' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: false - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_field - label: Status - exclude: false - alter: - alter_text: false - text: '{{ moderation_state }} {{ field_scheduled_transition }}' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: content_moderation_state - settings: { } - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - changed: - id: changed - table: node_field_data - field: changed - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: changed - plugin_id: field - label: Updated - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: timestamp - settings: - date_format: short - custom_date_format: '' - timezone: '' - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - field_review_deadline: - id: field_review_deadline - table: node__field_review_deadline - field: field_review_deadline - relationship: none - group_type: group - admin_label: '' - plugin_id: field - label: 'Review Deadline' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: datetime_default - settings: - timezone_override: '' - format_type: medium - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - uid: - id: uid - table: node_field_data - field: uid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: uid - plugin_id: field - label: Author - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: revision_uid - plugin_id: field - label: 'Published By' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - operations: - id: operations - table: node - field: operations - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: entity_operations - label: Operations - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - destination: false - arguments: - gid: - id: gid - table: group_content_field_data - field: gid - relationship: group_content - group_type: group - admin_label: '' - entity_type: group_content - entity_field: gid - plugin_id: numeric - default_action: default - exception: - value: all - title_enable: false - title: All - title_enable: true - title: '{{ arguments.gid|placeholder }} content' - default_argument_type: group_id_from_url - default_argument_options: { } - default_argument_skip_url: false - summary_options: - base_path: '' - count: true - override: false - items_per_page: 25 - summary: - sort_order: asc - number_of_records: 0 - format: default_summary - specify_validation: false - validate: - type: none - fail: 'not found' - validate_options: { } - break_phrase: false - not: false - filters: + entity_type: group_content + entity_field: gid + plugin_id: numeric + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: true + title: '{{ arguments.gid|placeholder }} content' + default_argument_type: group_id_from_url + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + filters: title: id: title table: node_field_data @@ -2484,7 +1784,7 @@ display: groups: 1: AND defaults: - fields: false + fields: true arguments: false filters: false filter_groups: false diff --git a/services/drupal/config/sync/views.view.moderated_content.yml b/services/drupal/config/sync/views.view.moderated_content.yml index efb5d784ac..97738cbaff 100644 --- a/services/drupal/config/sync/views.view.moderated_content.yml +++ b/services/drupal/config/sync/views.view.moderated_content.yml @@ -373,71 +373,6 @@ display: multi_type: separator separator: ', ' field_api_classes: false - name: - id: name - table: users_field_data - field: name - relationship: uid - group_type: group - admin_label: '' - entity_type: user - entity_field: name - plugin_id: field - label: Author - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: user_name - settings: - link_to_entity: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false moderation_state: id: moderation_state table: node_field_revision @@ -2307,73 +2242,25 @@ display: position: 1 display_options: title: 'Latest Revisions' - fields: - nid: - id: nid - table: node_field_revision - field: nid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: nid - plugin_id: field - label: ID - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: number_integer - settings: - thousand_separator: '' - prefix_suffix: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false + pager: + type: mini + options: + offset: 0 + items_per_page: 50 + total_pages: null + id: 0 + tags: + next: 'Next ›' + previous: '‹ Previous' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + filters: title: id: title table: node_field_revision @@ -2383,632 +2270,44 @@ display: admin_label: '' entity_type: node entity_field: title - plugin_id: field - label: Title - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: false - ellipsis: false - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: string - settings: - link_to_entity: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - label: - id: label - table: groups_field_data - field: label - relationship: gid - group_type: group - admin_label: '' - entity_type: group - entity_field: label - plugin_id: field - label: 'Web Area' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: string - settings: - link_to_entity: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - type: - id: type - table: node_field_revision - field: type - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: type - plugin_id: field - label: 'Content type' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: false - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - name: - id: name - table: users_field_data - field: name - relationship: uid - group_type: group - admin_label: '' - entity_type: user - entity_field: name - plugin_id: field - label: Author - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: user_name - settings: - link_to_entity: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - moderation_state: - id: moderation_state - table: node_field_revision - field: moderation_state - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_field - label: 'Latest revision moderation state' - exclude: false - alter: - alter_text: false - text: '{{ moderation_state }} {{ field_scheduled_transition__revision_id }}' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: content_moderation_state - settings: { } - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - moderation_state_1: - id: moderation_state_1 - table: node_field_data - field: moderation_state - relationship: nid - group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_field - label: 'Current revision moderation state' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: content_moderation_state - settings: { } - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - changed: - id: changed - table: node_field_revision - field: changed - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: changed - plugin_id: field - label: Updated - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: false - ellipsis: false - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: timestamp - settings: - date_format: short - custom_date_format: '' - timezone: '' - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: revision_uid - plugin_id: field - label: 'Last Updated By' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - operations: - id: operations - table: node_revision - field: operations - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: entity_operations - label: Operations - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - destination: false - pager: - type: mini - options: - offset: 0 - items_per_page: 50 - total_pages: null - id: 0 - tags: - next: 'Next ›' - previous: '‹ Previous' - expose: - items_per_page: false - items_per_page_label: 'Items per page' - items_per_page_options: '5, 10, 25, 50' - items_per_page_options_all: false - items_per_page_options_all_label: '- All -' - offset: false - offset_label: Offset - filters: - title: - id: title - table: node_field_revision - field: title - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: title - plugin_id: string - operator: contains - value: '' - group: 1 - exposed: true - expose: - operator_id: title_op - label: Title - description: '' - use_operator: false - operator: title_op - operator_limit_selection: false - operator_list: { } - identifier: title - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - field_search_text_value: - id: field_search_text_value - table: node_revision__field_search_text - field: field_search_text_value - relationship: none + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_search_text_value: + id: field_search_text_value + table: node_revision__field_search_text + field: field_search_text_value + relationship: none group_type: group admin_label: '' plugin_id: views_autocomplete_filters_string @@ -3562,7 +2861,7 @@ display: defaults: title: false pager: false - fields: false + fields: true filters: false filter_groups: false header: false @@ -3598,7 +2897,7 @@ display: description: 'Find and manage content' weight: 0 cache_metadata: - max-age: -1 + max-age: 0 contexts: - 'languages:language_content' - 'languages:language_interface' diff --git a/services/drupal/config/sync/views.view.published_content.yml b/services/drupal/config/sync/views.view.published_content.yml index 94422f301a..fb88000279 100644 --- a/services/drupal/config/sync/views.view.published_content.yml +++ b/services/drupal/config/sync/views.view.published_content.yml @@ -398,25 +398,6 @@ display: multi_type: separator separator: ', ' field_api_classes: false - name: - id: name - table: users_field_data - field: name - relationship: uid - entity_type: user - entity_field: name - plugin_id: field - label: Author - exclude: false - alter: - alter_text: false - element_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - type: user_name pager: type: mini options: @@ -1423,456 +1404,6 @@ display: display_plugin: page position: 1 display_options: - fields: - nid: - id: nid - table: node_field_data - field: nid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: nid - plugin_id: field - label: ID - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: number_integer - settings: - thousand_separator: '' - prefix_suffix: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - title: - id: title - table: node_field_data - field: title - entity_type: node - entity_field: title - plugin_id: field - label: Title - exclude: false - alter: - alter_text: false - element_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - type: string - settings: - link_to_entity: true - label: - id: label - table: groups_field_data - field: label - relationship: gid - group_type: group - admin_label: '' - entity_type: group - entity_field: label - plugin_id: field - label: 'Web Area' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: string - settings: - link_to_entity: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - type: - id: type - table: node_field_data - field: type - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: type - plugin_id: field - label: 'Content type' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: false - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_field - label: Status - exclude: false - alter: - alter_text: false - text: '{{ moderation_state }} {{ field_scheduled_transition }}' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: content_moderation_state - settings: { } - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - changed: - id: changed - table: node_field_data - field: changed - entity_type: node - entity_field: changed - plugin_id: field - label: Updated - exclude: false - alter: - alter_text: false - element_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - type: timestamp - settings: - date_format: short - custom_date_format: '' - timezone: '' - field_review_deadline: - id: field_review_deadline - table: node__field_review_deadline - field: field_review_deadline - relationship: none - group_type: group - admin_label: '' - plugin_id: field - label: 'Review Deadline' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: datetime_default - settings: - timezone_override: '' - format_type: medium - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - name: - id: name - table: users_field_data - field: name - relationship: uid - entity_type: user - entity_field: name - plugin_id: field - label: Author - exclude: false - alter: - alter_text: false - element_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - type: user_name - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: revision_uid - plugin_id: field - label: 'Published By' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false filters: title: id: title @@ -2542,7 +2073,7 @@ display: 1: AND defaults: relationships: false - fields: false + fields: true filters: false filter_groups: false relationships: From 06fbb85f80b39e3483efb5d429277578ddaa6780 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 27 Feb 2024 10:35:23 -0600 Subject: [PATCH 20/52] [EPAD8-2012] Updating admin labels for last_update_by and author filters to be more concise. Swapping order of last_updated_by and author on all dashboard views. --- .../views.view.group_moderated_content.yml | 55 +- .../config/sync/views.view.group_nodes.yml | 56 +- .../sync/views.view.moderated_content.yml | 658 +------------- .../sync/views.view.published_content.yml | 825 ++---------------- 4 files changed, 170 insertions(+), 1424 deletions(-) diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index 2fa34d6018..4191dc343f 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -883,41 +883,44 @@ display: hierarchy: false limit: true error_message: true - uid: - id: uid - table: users_field_data - field: uid - relationship: uid + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid + relationship: none group_type: group - admin_label: '' - entity_type: user - entity_field: uid + admin_label: 'Last updated by' + entity_type: node + entity_field: revision_uid plugin_id: user_name operator: in value: { } group: 1 exposed: true expose: - operator_id: uid_op - label: Author - description: ' ' + operator_id: revision_uid_op + label: 'Last Updated By' + description: '' use_operator: false - operator: uid_op + operator: revision_uid_op operator_limit_selection: false operator_list: { } - identifier: uid + identifier: revision_uid required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' system_editor: '0' system_webmaster: '0' + menu_admin: '0' administrator: '0' + beta_tester: '0' reduce: false is_grouped: false group_info: @@ -1066,29 +1069,29 @@ display: default_group: All default_group_multiple: { } group_items: { } - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid - relationship: none + uid: + id: uid + table: users_field_data + field: uid + relationship: uid group_type: group - admin_label: '' - entity_type: node - entity_field: revision_uid + admin_label: Author + entity_type: user + entity_field: uid plugin_id: user_name operator: in value: { } group: 1 exposed: true expose: - operator_id: revision_uid_op - label: 'Last Updated By' - description: '' + operator_id: uid_op + label: Author + description: ' ' use_operator: false - operator: revision_uid_op + operator: uid_op operator_limit_selection: false operator_list: { } - identifier: revision_uid + identifier: uid required: false remember: false multiple: false diff --git a/services/drupal/config/sync/views.view.group_nodes.yml b/services/drupal/config/sync/views.view.group_nodes.yml index 307eeac432..333207b69b 100644 --- a/services/drupal/config/sync/views.view.group_nodes.yml +++ b/services/drupal/config/sync/views.view.group_nodes.yml @@ -1524,41 +1524,44 @@ display: default_group: All default_group_multiple: { } group_items: { } - uid: - id: uid - table: users_field_data - field: uid - relationship: uid + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid + relationship: none group_type: group - admin_label: '' - entity_type: user - entity_field: uid + admin_label: 'Last updated by' + entity_type: node + entity_field: revision_uid plugin_id: user_name operator: in value: { } group: 1 exposed: true expose: - operator_id: uid_op - label: Author - description: ' ' + operator_id: revision_uid_op + label: 'Published By' + description: '' use_operator: false - operator: uid_op + operator: revision_uid_op operator_limit_selection: false operator_list: { } - identifier: uid + identifier: revision_uid required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' system_editor: '0' system_webmaster: '0' + menu_admin: '0' administrator: '0' + beta_tester: '0' reduce: false is_grouped: false group_info: @@ -1729,29 +1732,29 @@ display: default_group: All default_group_multiple: { } group_items: { } - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid - relationship: none + uid: + id: uid + table: users_field_data + field: uid + relationship: uid group_type: group - admin_label: '' - entity_type: node - entity_field: revision_uid + admin_label: Author + entity_type: user + entity_field: uid plugin_id: user_name operator: in value: { } group: 1 exposed: true expose: - operator_id: revision_uid_op - label: 'Published By' - description: '' + operator_id: uid_op + label: Author + description: ' ' use_operator: false - operator: revision_uid_op + operator: uid_op operator_limit_selection: false operator_list: { } - identifier: revision_uid + identifier: uid required: false remember: false multiple: false @@ -1766,6 +1769,7 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' + beta_tester: '0' reduce: false is_grouped: false group_info: diff --git a/services/drupal/config/sync/views.view.moderated_content.yml b/services/drupal/config/sync/views.view.moderated_content.yml index 97738cbaff..e21106a2f5 100644 --- a/services/drupal/config/sync/views.view.moderated_content.yml +++ b/services/drupal/config/sync/views.view.moderated_content.yml @@ -939,41 +939,44 @@ display: default_group: All default_group_multiple: { } group_items: { } - uid_1: - id: uid_1 - table: users_field_data - field: uid - relationship: uid + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid + relationship: none group_type: group - admin_label: '' - entity_type: user - entity_field: uid + admin_label: 'Last updated by' + entity_type: node + entity_field: revision_uid plugin_id: user_name operator: in value: { } group: 1 exposed: true expose: - operator_id: uid_1_op - label: Author - description: ' ' + operator_id: revision_uid_op + label: 'Last Updated By' + description: '' use_operator: false - operator: uid_1_op + operator: revision_uid_op operator_limit_selection: false operator_list: { } - identifier: uid_1 + identifier: revision_uid required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' system_editor: '0' system_webmaster: '0' + menu_admin: '0' administrator: '0' + beta_tester: '0' reduce: false is_grouped: false group_info: @@ -1278,29 +1281,29 @@ display: default_group: All default_group_multiple: { } group_items: { } - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid - relationship: none + uid_1: + id: uid_1 + table: users_field_data + field: uid + relationship: uid group_type: group - admin_label: '' - entity_type: node - entity_field: revision_uid + admin_label: Author + entity_type: user + entity_field: uid plugin_id: user_name operator: in value: { } group: 1 exposed: true expose: - operator_id: revision_uid_op - label: 'Last Updated By' - description: '' + operator_id: uid_1_op + label: Author + description: ' ' use_operator: false - operator: revision_uid_op + operator: uid_1_op operator_limit_selection: false operator_list: { } - identifier: revision_uid + identifier: uid_1 required: false remember: false multiple: false @@ -1315,6 +1318,7 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' + beta_tester: '0' reduce: false is_grouped: false group_info: @@ -2260,610 +2264,12 @@ display: items_per_page_options_all_label: '- All -' offset: false offset_label: Offset - filters: - title: - id: title - table: node_field_revision - field: title - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: title - plugin_id: string - operator: contains - value: '' - group: 1 - exposed: true - expose: - operator_id: title_op - label: Title - description: '' - use_operator: false - operator: title_op - operator_limit_selection: false - operator_list: { } - identifier: title - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - field_search_text_value: - id: field_search_text_value - table: node_revision__field_search_text - field: field_search_text_value - relationship: none - group_type: group - admin_label: '' - plugin_id: views_autocomplete_filters_string - operator: contains - value: '' - group: 1 - exposed: true - expose: - operator_id: field_search_text_value_op - label: 'Contains text' - description: '' - use_operator: false - operator: field_search_text_value_op - operator_limit_selection: false - operator_list: { } - identifier: field_search_text_value - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - placeholder: '' - autocomplete_filter: 0 - autocomplete_min_chars: '0' - autocomplete_items: '10' - autocomplete_field: '' - autocomplete_raw_suggestion: 1 - autocomplete_raw_dropdown: 1 - autocomplete_dependent: 0 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - gid: - id: gid - table: group_content_field_data - field: gid - relationship: group_content - group_type: group - admin_label: '' - entity_type: group_content - entity_field: gid - plugin_id: entity_reference - operator: or - value: { } - group: 1 - exposed: true - expose: - operator_id: gid_op - label: 'Web Area' - description: '' - use_operator: false - operator: gid_op - operator_limit_selection: false - operator_list: { } - identifier: gid - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - administrator: '0' - 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: { } - reduce_duplicates: false - handler: 'default:group' - widget: autocomplete - handler_settings: - target_bundles: - web_area: web_area - sort: - field: _none - direction: ASC - auto_create: false - auto_create_bundle: '' - type: - id: type - table: node_field_revision - field: type - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: type - plugin_id: bundle - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: type_op - label: Type - description: '' - use_operator: false - operator: type_op - operator_limit_selection: false - operator_list: { } - identifier: type - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - administrator: '0' - 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: { } - uid_1: - id: uid_1 - table: users_field_data - field: uid - relationship: uid - group_type: group - admin_label: '' - entity_type: user - entity_field: uid - plugin_id: user_name - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: uid_1_op - label: Author - description: ' ' - use_operator: false - operator: uid_1_op - operator_limit_selection: false - operator_list: { } - identifier: uid_1 - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - administrator: '0' - 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: { } - field_publisher_target_id: - id: field_publisher_target_id - table: group__field_publisher - field: field_publisher_target_id - relationship: gid - group_type: group - admin_label: '' - plugin_id: taxonomy_index_tid - operator: or - value: { } - group: 1 - exposed: true - expose: - operator_id: field_publisher_target_id_op - label: Publisher - description: '' - use_operator: false - operator: field_publisher_target_id_op - operator_limit_selection: false - operator_list: { } - identifier: field_publisher_target_id - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - 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: { } - reduce_duplicates: false - vid: epa_organization - type: textfield - hierarchy: false - limit: true - error_message: true - field_owning_office_target_id: - id: field_owning_office_target_id - table: node_revision__field_owning_office - field: field_owning_office_target_id - relationship: none - group_type: group - admin_label: '' - plugin_id: taxonomy_index_tid - operator: or - value: { } - group: 1 - exposed: true - expose: - operator_id: field_owning_office_target_id_op - label: 'Owning Office' - description: '' - use_operator: false - operator: field_owning_office_target_id_op - operator_limit_selection: false - operator_list: { } - identifier: field_owning_office_target_id - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - beta_tester: '0' - 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: { } - reduce_duplicates: false - vid: epa_organization - type: textfield - hierarchy: false - limit: true - error_message: true - moderation_state: - id: moderation_state - table: node_field_revision - field: moderation_state - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: moderation_state_op - label: 'Latest revision moderation state' - description: '' - use_operator: false - operator: moderation_state_op - operator_limit_selection: false - operator_list: { } - identifier: moderation_state - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - reduce: false - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - moderation_state_1: - id: moderation_state_1 - table: node_field_data - field: moderation_state - relationship: nid - group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: moderation_state_1_op - label: 'Current revision moderation state' - description: '' - use_operator: false - operator: moderation_state_1_op - operator_limit_selection: false - operator_list: { } - identifier: moderation_state_1 - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - 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: { } - users_in_groups: - id: users_in_groups - table: group_content_field_data - field: users_in_groups - relationship: group_content - group_type: group - admin_label: '' - operator: in - value: null - group: 1 - exposed: true - expose: - operator_id: users_in_groups_op - label: 'Web area filter' - description: '' - use_operator: 0 - operator: users_in_groups_op - operator_limit_selection: 0 - operator_list: { } - identifier: users_in_groups - required: 0 - remember: 0 - multiple: 0 - remember_roles: - authenticated: authenticated - anonymous: 0 - layout_editor: 0 - alerts_manager: 0 - block_manager: 0 - system_editor: 0 - system_webmaster: 0 - menu_admin: 0 - administrator: 0 - reduce: 0 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: 0 - default_group: All - default_group_multiple: { } - group_items: { } - entity_type: group_content - plugin_id: epa_web_areas_users_groups - latest_revision: - id: latest_revision - table: node_revision - field: latest_revision - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: latest_revision - operator: '=' - value: '' - 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 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: revision_uid - plugin_id: user_name - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: revision_uid_op - label: 'Last Updated By' - description: '' - use_operator: false - operator: revision_uid_op - operator_limit_selection: false - operator_list: { } - identifier: revision_uid - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - 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: { } - filter_groups: - operator: AND - groups: - 1: AND defaults: title: false pager: false fields: true - filters: false - filter_groups: false + filters: true + filter_groups: true header: false display_description: '' header: diff --git a/services/drupal/config/sync/views.view.published_content.yml b/services/drupal/config/sync/views.view.published_content.yml index fb88000279..9653f4159a 100644 --- a/services/drupal/config/sync/views.view.published_content.yml +++ b/services/drupal/config/sync/views.view.published_content.yml @@ -443,6 +443,46 @@ display: sorts: { } arguments: { } filters: + status_1: + id: status_1 + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: status + plugin_id: boolean + operator: '=' + value: '1' + 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 + 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 @@ -635,38 +675,34 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state + field_owning_office_target_id: + id: field_owning_office_target_id + table: node__field_owning_office + field: field_owning_office_target_id relationship: none group_type: group admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - epa_default-published: epa_default-published - epa_default-published_needs_review: epa_default-published_needs_review - epa_default-published_expiring: epa_default-published_expiring - epa_default-published_day_til_expire: epa_default-published_day_til_expire + plugin_id: taxonomy_index_tid + operator: or + value: { } group: 1 exposed: true expose: - operator_id: moderation_state_op - label: 'Moderation state' + operator_id: field_owning_office_target_id_op + label: 'Owning Office' description: '' use_operator: false - operator: moderation_state_op + operator: field_owning_office_target_id_op operator_limit_selection: false operator_list: { } - identifier: moderation_state + identifier: field_owning_office_target_id required: false remember: false - multiple: true + multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -674,7 +710,8 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - reduce: true + beta_tester: '0' + reduce: false is_grouped: false group_info: label: '' @@ -687,74 +724,44 @@ display: default_group: All default_group_multiple: { } group_items: { } - status_1: - id: status_1 + reduce_duplicates: false + vid: epa_organization + type: textfield + hierarchy: false + limit: true + error_message: true + moderation_state: + id: moderation_state table: node_field_data - field: status + field: moderation_state relationship: none group_type: group admin_label: '' entity_type: node - entity_field: status - plugin_id: boolean - operator: '=' - value: '1' - 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 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - field_owning_office_target_id: - id: field_owning_office_target_id - table: node__field_owning_office - field: field_owning_office_target_id - relationship: none - group_type: group - admin_label: '' - plugin_id: taxonomy_index_tid - operator: or - value: { } + plugin_id: moderation_state_filter + operator: in + value: + epa_default-published: epa_default-published + epa_default-published_needs_review: epa_default-published_needs_review + epa_default-published_expiring: epa_default-published_expiring + epa_default-published_day_til_expire: epa_default-published_day_til_expire group: 1 exposed: true expose: - operator_id: field_owning_office_target_id_op - label: 'Owning Office' + operator_id: moderation_state_op + label: 'Moderation state' description: '' use_operator: false - operator: field_owning_office_target_id_op + operator: moderation_state_op operator_limit_selection: false operator_list: { } - identifier: field_owning_office_target_id + identifier: moderation_state required: false remember: false - multiple: false + multiple: true remember_roles: authenticated: authenticated anonymous: '0' - paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -762,8 +769,7 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - beta_tester: '0' - reduce: false + reduce: true is_grouped: false group_info: label: '' @@ -776,12 +782,6 @@ display: default_group: All default_group_multiple: { } group_items: { } - reduce_duplicates: false - vid: epa_organization - type: textfield - hierarchy: false - limit: true - error_message: true filter_groups: operator: AND groups: @@ -1404,678 +1404,11 @@ display: display_plugin: page position: 1 display_options: - filters: - title: - id: title - table: node_field_data - field: title - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: title - plugin_id: string - operator: contains - value: '' - group: 1 - exposed: true - expose: - operator_id: title_op - label: Title - description: '' - use_operator: false - operator: title_op - operator_limit_selection: false - operator_list: { } - identifier: title - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - field_search_text_value: - id: field_search_text_value - table: node__field_search_text - field: field_search_text_value - relationship: none - group_type: group - admin_label: '' - plugin_id: views_autocomplete_filters_string - operator: contains - value: '' - group: 1 - exposed: true - expose: - operator_id: field_search_text_value_op - label: 'Contains text' - description: '' - use_operator: false - operator: field_search_text_value_op - operator_limit_selection: false - operator_list: { } - identifier: field_search_text_value - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - placeholder: '' - autocomplete_filter: 0 - autocomplete_min_chars: '0' - autocomplete_items: '10' - autocomplete_field: '' - autocomplete_raw_suggestion: 1 - autocomplete_raw_dropdown: 1 - autocomplete_dependent: 0 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - gid: - id: gid - table: group_content_field_data - field: gid - relationship: group_content - group_type: group - admin_label: '' - entity_type: group_content - entity_field: gid - plugin_id: entity_reference - operator: or - value: { } - group: 1 - exposed: true - expose: - operator_id: gid_op - label: 'Web Area' - description: '' - use_operator: false - operator: gid_op - operator_limit_selection: false - operator_list: { } - identifier: gid - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - administrator: '0' - 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: { } - reduce_duplicates: false - handler: 'default:group' - widget: autocomplete - handler_settings: - target_bundles: - web_area: web_area - sort: - field: _none - direction: ASC - auto_create: false - auto_create_bundle: '' - type: - id: type - 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: { } - group: 1 - exposed: true - expose: - operator_id: type_op - label: 'Content type' - description: '' - use_operator: false - operator: type_op - operator_limit_selection: false - operator_list: { } - identifier: type - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - 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: { } - uid: - id: uid - table: users_field_data - field: uid - relationship: uid - group_type: group - admin_label: '' - entity_type: user - entity_field: uid - plugin_id: user_name - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: uid_op - label: Author - description: ' ' - use_operator: false - operator: uid_op - operator_limit_selection: false - operator_list: { } - identifier: uid - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - administrator: '0' - 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: { } - field_publisher_target_id: - id: field_publisher_target_id - table: group__field_publisher - field: field_publisher_target_id - relationship: gid - group_type: group - admin_label: '' - plugin_id: taxonomy_index_tid - operator: or - value: { } - group: 1 - exposed: true - expose: - operator_id: field_publisher_target_id_op - label: Publisher - description: '' - use_operator: false - operator: field_publisher_target_id_op - operator_limit_selection: false - operator_list: { } - identifier: field_publisher_target_id - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - 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: { } - reduce_duplicates: false - vid: epa_organization - type: textfield - hierarchy: false - limit: true - error_message: true - field_owning_office_target_id: - id: field_owning_office_target_id - table: node__field_owning_office - field: field_owning_office_target_id - relationship: none - group_type: group - admin_label: '' - plugin_id: taxonomy_index_tid - operator: or - value: { } - group: 1 - exposed: true - expose: - operator_id: field_owning_office_target_id_op - label: 'Owning Office' - description: '' - use_operator: false - operator: field_owning_office_target_id_op - operator_limit_selection: false - operator_list: { } - identifier: field_owning_office_target_id - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - beta_tester: '0' - 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: { } - reduce_duplicates: false - vid: epa_organization - type: textfield - hierarchy: false - limit: true - error_message: true - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - epa_default-published: epa_default-published - epa_default-published_needs_review: epa_default-published_needs_review - epa_default-published_expiring: epa_default-published_expiring - epa_default-published_day_til_expire: epa_default-published_day_til_expire - group: 1 - exposed: true - expose: - operator_id: moderation_state_op - label: 'Moderation state' - description: '' - use_operator: false - operator: moderation_state_op - operator_limit_selection: false - operator_list: { } - identifier: moderation_state - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - reduce: true - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - status_1: - id: status_1 - table: node_field_data - field: status - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: status - plugin_id: boolean - operator: '=' - value: '1' - group: 1 - exposed: false - expose: - operator_id: '' - label: 'Published status' - description: '' - use_operator: false - operator: status_1_op - operator_limit_selection: false - operator_list: { } - identifier: status_1 - required: true - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - field_review_deadline_value_1: - id: field_review_deadline_value_1 - table: node__field_review_deadline - field: field_review_deadline_value - relationship: none - group_type: group - admin_label: 'Review deadline (min)' - plugin_id: datetime - operator: '>=' - value: - min: '' - max: '' - value: '' - type: date - group: 1 - exposed: true - expose: - operator_id: field_review_deadline_value_1_op - label: 'Review Deadline (min)' - description: '' - use_operator: false - operator: field_review_deadline_value_1_op - operator_limit_selection: false - operator_list: { } - identifier: field_review_deadline_value_1 - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - paragraphs_library_editor: '0' - min_placeholder: '' - max_placeholder: '' - placeholder: '' - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - field_review_deadline_value: - id: field_review_deadline_value - table: node__field_review_deadline - field: field_review_deadline_value - relationship: none - group_type: group - admin_label: 'Review deadline (max)' - plugin_id: datetime - operator: '<=' - value: - min: '' - max: '' - value: '' - type: date - group: 1 - exposed: true - expose: - operator_id: field_review_deadline_value_op - label: 'Review Deadline (max)' - description: '' - use_operator: false - operator: field_review_deadline_value_op - operator_limit_selection: false - operator_list: { } - identifier: field_review_deadline_value - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - paragraphs_library_editor: '0' - min_placeholder: '' - max_placeholder: '' - placeholder: '' - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - users_in_groups: - id: users_in_groups - table: group_content_field_data - field: users_in_groups - relationship: group_content - group_type: group - admin_label: '' - operator: in - value: null - group: 1 - exposed: true - expose: - operator_id: users_in_groups_op - label: 'Web area filter' - description: '' - use_operator: 0 - operator: users_in_groups_op - operator_limit_selection: 0 - operator_list: { } - identifier: users_in_groups - required: 0 - remember: 0 - multiple: 0 - remember_roles: - authenticated: authenticated - anonymous: 0 - layout_editor: 0 - alerts_manager: 0 - block_manager: 0 - system_editor: 0 - system_webmaster: 0 - menu_admin: 0 - administrator: 0 - paragraphs_library_editor: 0 - reduce: 0 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: 0 - default_group: All - default_group_multiple: { } - group_items: { } - entity_type: group_content - plugin_id: epa_web_areas_users_groups - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid - relationship: none - group_type: group - admin_label: '' - entity_type: node - entity_field: revision_uid - plugin_id: user_name - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: revision_uid_op - label: 'Published By' - description: '' - use_operator: false - operator: revision_uid_op - operator_limit_selection: false - operator_list: { } - identifier: revision_uid - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - 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: { } - filter_groups: - operator: AND - groups: - 1: AND defaults: relationships: false fields: true - filters: false - filter_groups: false + filters: true + filter_groups: true relationships: uid: id: uid From 7e99e132a1e3c33b28636578455a9a15419c05b0 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 27 Feb 2024 10:52:53 -0600 Subject: [PATCH 21/52] [EPAD8-2012] Reordering all moderation state filters to be the last filters in all dashboards. Adjusting 'Publisher' filter to be labeled 'Office'. --- .../views.view.group_moderated_content.yml | 152 +++++------ .../config/sync/views.view.group_nodes.yml | 98 +++---- .../sync/views.view.moderated_content.yml | 246 +++++++++--------- 3 files changed, 250 insertions(+), 246 deletions(-) diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index 4191dc343f..263b19acea 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -683,6 +683,45 @@ display: break_phrase: false not: false filters: + latest_revision: + id: latest_revision + table: node_revision + field: latest_revision + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: latest_revision + operator: '=' + value: '' + 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 + 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_revision @@ -934,34 +973,36 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_revision - field: moderation_state - relationship: none + uid: + id: uid + table: users_field_data + field: uid + relationship: uid group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_filter + admin_label: Author + entity_type: user + entity_field: uid + plugin_id: user_name operator: in value: { } group: 1 exposed: true expose: - operator_id: moderation_state_op - label: 'Latest revision moderation state' - description: '' + operator_id: uid_op + label: Author + description: ' ' use_operator: false - operator: moderation_state_op + operator: uid_op operator_limit_selection: false operator_list: { } - identifier: moderation_state + identifier: uid required: false remember: false - multiple: true + multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -969,6 +1010,7 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' + beta_tester: '0' reduce: false is_grouped: false group_info: @@ -982,11 +1024,11 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state_1: - id: moderation_state_1 - table: node_field_data + moderation_state: + id: moderation_state + table: node_field_revision field: moderation_state - relationship: nid + relationship: none group_type: group admin_label: '' entity_type: node @@ -996,14 +1038,14 @@ display: group: 1 exposed: true expose: - operator_id: moderation_state_1_op - label: 'Current revision moderation state' + operator_id: moderation_state_op + label: 'Latest revision moderation state' description: '' use_operator: false - operator: moderation_state_1_op + operator: moderation_state_op operator_limit_selection: false operator_list: { } - identifier: moderation_state_1 + identifier: moderation_state required: false remember: false multiple: true @@ -1030,75 +1072,34 @@ display: default_group: All default_group_multiple: { } group_items: { } - latest_revision: - id: latest_revision - table: node_revision - field: latest_revision - relationship: none + moderation_state_1: + id: moderation_state_1 + table: node_field_data + field: moderation_state + relationship: nid group_type: group admin_label: '' entity_type: node - plugin_id: latest_revision - operator: '=' - value: '' - 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 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - uid: - id: uid - table: users_field_data - field: uid - relationship: uid - group_type: group - admin_label: Author - entity_type: user - entity_field: uid - plugin_id: user_name + plugin_id: moderation_state_filter operator: in value: { } group: 1 exposed: true expose: - operator_id: uid_op - label: Author - description: ' ' + operator_id: moderation_state_1_op + label: 'Current revision moderation state' + description: '' use_operator: false - operator: uid_op + operator: moderation_state_1_op operator_limit_selection: false operator_list: { } - identifier: uid + identifier: moderation_state_1 required: false remember: false - multiple: false + multiple: true remember_roles: authenticated: authenticated anonymous: '0' - paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -1106,7 +1107,6 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - beta_tester: '0' reduce: false is_grouped: false group_info: diff --git a/services/drupal/config/sync/views.view.group_nodes.yml b/services/drupal/config/sync/views.view.group_nodes.yml index 333207b69b..32cb2971e1 100644 --- a/services/drupal/config/sync/views.view.group_nodes.yml +++ b/services/drupal/config/sync/views.view.group_nodes.yml @@ -1575,55 +1575,6 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state: - id: moderation_state - table: node_field_data - field: moderation_state - relationship: none - group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: - epa_default-published: epa_default-published - epa_default-published_needs_review: epa_default-published_needs_review - epa_default-published_expiring: epa_default-published_expiring - epa_default-published_day_til_expire: epa_default-published_day_til_expire - group: 1 - exposed: true - expose: - operator_id: moderation_state_op - label: 'Moderation state' - description: '' - use_operator: false - operator: moderation_state_op - operator_limit_selection: false - operator_list: { } - identifier: moderation_state - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - layout_editor: '0' - system_editor: '0' - system_webmaster: '0' - administrator: '0' - reduce: true - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } field_review_deadline_value: id: field_review_deadline_value table: node__field_review_deadline @@ -1783,6 +1734,55 @@ display: default_group: All default_group_multiple: { } group_items: { } + moderation_state: + id: moderation_state + table: node_field_data + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: + epa_default-published: epa_default-published + epa_default-published_needs_review: epa_default-published_needs_review + epa_default-published_expiring: epa_default-published_expiring + epa_default-published_day_til_expire: epa_default-published_day_til_expire + group: 1 + exposed: true + expose: + operator_id: moderation_state_op + label: 'Moderation state' + description: '' + use_operator: false + operator: moderation_state_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + system_editor: '0' + system_webmaster: '0' + administrator: '0' + reduce: true + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } filter_groups: operator: AND groups: diff --git a/services/drupal/config/sync/views.view.moderated_content.yml b/services/drupal/config/sync/views.view.moderated_content.yml index e21106a2f5..d17c22861e 100644 --- a/services/drupal/config/sync/views.view.moderated_content.yml +++ b/services/drupal/config/sync/views.view.moderated_content.yml @@ -777,6 +777,45 @@ display: default_group: All default_group_multiple: { } group_items: { } + latest_revision: + id: latest_revision + table: node_revision + field: latest_revision + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: latest_revision + operator: '=' + value: '' + 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 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } field_search_text_value: id: field_search_text_value table: node_revision__field_search_text @@ -996,7 +1035,7 @@ display: field: field_publisher_target_id relationship: gid group_type: group - admin_label: '' + admin_label: Office plugin_id: taxonomy_index_tid operator: or value: { } @@ -1004,7 +1043,7 @@ display: exposed: true expose: operator_id: field_publisher_target_id_op - label: Publisher + label: Office description: '' use_operator: false operator: field_publisher_target_id_op @@ -1017,6 +1056,7 @@ display: remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -1024,6 +1064,7 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' + beta_tester: '0' reduce: false is_grouped: false group_info: @@ -1098,42 +1139,42 @@ display: hierarchy: false limit: true error_message: true - moderation_state: - id: moderation_state - table: node_field_revision - field: moderation_state - relationship: none + users_in_groups: + id: users_in_groups + table: group_content_field_data + field: users_in_groups + relationship: group_content group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_filter + admin_label: 'Web area filter' operator: in value: { } group: 1 exposed: true expose: - operator_id: moderation_state_op - label: 'Latest revision moderation state' + operator_id: users_in_groups_op + label: 'Web area filter' description: '' - use_operator: false - operator: moderation_state_op - operator_limit_selection: false + use_operator: 0 + operator: users_in_groups_op + operator_limit_selection: 0 operator_list: { } - identifier: moderation_state - required: false - remember: false - multiple: true + identifier: users_in_groups + required: 0 + remember: 0 + multiple: 0 remember_roles: authenticated: authenticated - anonymous: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - reduce: false + anonymous: 0 + paragraphs_library_contributor: 0 + layout_editor: 0 + alerts_manager: 0 + block_manager: 0 + system_editor: 0 + system_webmaster: 0 + menu_admin: 0 + administrator: 0 + beta_tester: 0 + reduce: 0 is_grouped: false group_info: label: '' @@ -1142,38 +1183,42 @@ display: optional: true widget: select multiple: false - remember: false + remember: 0 default_group: All default_group_multiple: { } group_items: { } - moderation_state_1: - id: moderation_state_1 - table: node_field_data - field: moderation_state - relationship: nid + entity_type: group_content + plugin_id: epa_web_areas_users_groups + uid_1: + id: uid_1 + table: users_field_data + field: uid + relationship: uid group_type: group - admin_label: '' - entity_type: node - plugin_id: moderation_state_filter + admin_label: Author + entity_type: user + entity_field: uid + plugin_id: user_name operator: in value: { } group: 1 exposed: true expose: - operator_id: moderation_state_1_op - label: 'Current revision moderation state' - description: '' + operator_id: uid_1_op + label: Author + description: ' ' use_operator: false - operator: moderation_state_1_op + operator: uid_1_op operator_limit_selection: false operator_list: { } - identifier: moderation_state_1 + identifier: uid_1 required: false remember: false - multiple: true + multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -1181,6 +1226,7 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' + beta_tester: '0' reduce: false is_grouped: false group_info: @@ -1194,81 +1240,42 @@ display: default_group: All default_group_multiple: { } group_items: { } - users_in_groups: - id: users_in_groups - table: group_content_field_data - field: users_in_groups - relationship: group_content - group_type: group - admin_label: '' - operator: in - value: null - group: 1 - exposed: true - expose: - operator_id: users_in_groups_op - label: 'Web area filter' - description: '' - use_operator: 0 - operator: users_in_groups_op - operator_limit_selection: 0 - operator_list: { } - identifier: users_in_groups - required: 0 - remember: 0 - multiple: 0 - remember_roles: - authenticated: authenticated - anonymous: 0 - layout_editor: 0 - alerts_manager: 0 - block_manager: 0 - system_editor: 0 - system_webmaster: 0 - menu_admin: 0 - administrator: 0 - reduce: 0 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: 0 - default_group: All - default_group_multiple: { } - group_items: { } - entity_type: group_content - plugin_id: epa_web_areas_users_groups - latest_revision: - id: latest_revision - table: node_revision - field: latest_revision + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state relationship: none group_type: group admin_label: '' entity_type: node - plugin_id: latest_revision - operator: '=' - value: '' + plugin_id: moderation_state_filter + operator: in + value: { } group: 1 - exposed: false + exposed: true expose: - operator_id: '' - label: '' + operator_id: moderation_state_op + label: 'Latest revision moderation state' description: '' use_operator: false - operator: '' + operator: moderation_state_op operator_limit_selection: false operator_list: { } - identifier: '' + identifier: moderation_state required: false remember: false - multiple: false + multiple: true remember_roles: authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + reduce: false is_grouped: false group_info: label: '' @@ -1281,36 +1288,34 @@ display: default_group: All default_group_multiple: { } group_items: { } - uid_1: - id: uid_1 - table: users_field_data - field: uid - relationship: uid + moderation_state_1: + id: moderation_state_1 + table: node_field_data + field: moderation_state + relationship: nid group_type: group - admin_label: Author - entity_type: user - entity_field: uid - plugin_id: user_name + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter operator: in value: { } group: 1 exposed: true expose: - operator_id: uid_1_op - label: Author - description: ' ' + operator_id: moderation_state_1_op + label: 'Current revision moderation state' + description: '' use_operator: false - operator: uid_1_op + operator: moderation_state_1_op operator_limit_selection: false operator_list: { } - identifier: uid_1 + identifier: moderation_state_1 required: false remember: false - multiple: false + multiple: true remember_roles: authenticated: authenticated anonymous: '0' - paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -1318,7 +1323,6 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - beta_tester: '0' reduce: false is_grouped: false group_info: From 12d8f6980d209ce701ca73d4a7689a61a779c5f7 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 27 Feb 2024 19:49:52 -0600 Subject: [PATCH 22/52] [EPAD8-2012] Adding combine filters moderated and published content views to allow for autocomplete searching against full name, email and username user fields. --- .../sync/views.view.moderated_content.yml | 3456 +++++++++++++++-- .../sync/views.view.published_content.yml | 238 +- 2 files changed, 3447 insertions(+), 247 deletions(-) diff --git a/services/drupal/config/sync/views.view.moderated_content.yml b/services/drupal/config/sync/views.view.moderated_content.yml index d17c22861e..4fa0e8536c 100644 --- a/services/drupal/config/sync/views.view.moderated_content.yml +++ b/services/drupal/config/sync/views.view.moderated_content.yml @@ -3,6 +3,7 @@ langcode: en status: true dependencies: config: + - field.storage.user.field_full_name - taxonomy.vocabulary.epa_organization module: - content_moderation @@ -631,17 +632,18 @@ display: multi_type: separator separator: ', ' field_api_classes: false - operations: - id: operations - table: node_revision - field: operations - relationship: none + mail: + id: mail + table: users_field_data + field: mail + relationship: uid group_type: group - admin_label: '' - entity_type: node - plugin_id: entity_operations - label: Operations - exclude: false + admin_label: 'Author Email' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: true alter: alter_text: false text: '' @@ -681,155 +683,538 @@ display: hide_empty: false empty_zero: false hide_alter_empty: true - destination: false - pager: - type: full - options: - offset: 0 - items_per_page: 50 - total_pages: null - id: 0 - tags: - next: 'Next ›' - previous: '‹ Previous' - first: '« First' - last: 'Last »' - expose: - items_per_page: false - items_per_page_label: 'Items per page' - items_per_page_options: '5, 10, 25, 50' - items_per_page_options_all: false - items_per_page_options_all_label: '- All -' - offset: false - offset_label: Offset - quantity: 9 - exposed_form: - type: basic - options: - submit_button: Filter - reset_button: true - reset_button_label: Reset - exposed_sorts_label: 'Sort by' - expose_sort_order: true - sort_asc_label: Asc - sort_desc_label: Desc - access: - type: perm - options: - perm: 'view any unpublished content' - cache: - type: tag - options: { } - empty: - area_text_custom: - id: area_text_custom - table: views - field: area_text_custom - relationship: none + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name: + id: field_full_name + table: user__field_full_name + field: field_full_name + relationship: uid group_type: group - admin_label: '' - plugin_id: text_custom - empty: true - content: 'No moderated content available. Only pending versions of content, such as drafts, are listed here.' - tokenize: false - sorts: { } - arguments: { } - filters: - title: - id: title - table: node_field_revision - field: title - relationship: none + admin_label: 'Author: Full name' + plugin_id: field + label: 'Full Name' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: users_field_data + field: name + relationship: uid group_type: group - admin_label: '' - entity_type: node - entity_field: title - plugin_id: string - operator: contains - value: '' - group: 1 - exposed: true - expose: - operator_id: title_op - label: Title - description: '' - use_operator: false - operator: title_op - operator_limit_selection: false - operator_list: { } - identifier: title - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - latest_revision: - id: latest_revision - table: node_revision - field: latest_revision - relationship: none + admin_label: 'Author: Username' + entity_type: user + entity_field: name + plugin_id: field + label: Name + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + mail_1: + id: mail_1 + table: users_field_data + field: mail + relationship: revision_uid group_type: group - admin_label: '' - entity_type: node - plugin_id: latest_revision - operator: '=' - value: '' - 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 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - field_search_text_value: - id: field_search_text_value - table: node_revision__field_search_text - field: field_search_text_value + admin_label: 'Revision User: Email' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name_1: + id: field_full_name_1 + table: user__field_full_name + field: field_full_name + relationship: revision_uid + group_type: group + admin_label: 'Revision User: Full Name' + plugin_id: field + label: 'Full Name' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name_1: + id: name_1 + table: users_field_data + field: name + relationship: revision_uid + group_type: group + admin_label: 'Revision User: Username' + entity_type: user + entity_field: name + plugin_id: field + label: Name + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: node_revision + field: operations relationship: none group_type: group admin_label: '' - plugin_id: views_autocomplete_filters_string - operator: contains - value: '' - group: 1 - exposed: true + entity_type: node + plugin_id: entity_operations + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + pager: + type: full + options: + offset: 0 + items_per_page: 50 + total_pages: null + id: 0 + tags: + next: 'Next ›' + previous: '‹ Previous' + first: '« First' + last: 'Last »' expose: - operator_id: field_search_text_value_op + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + exposed_form: + type: basic + options: + submit_button: Filter + reset_button: true + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'view any unpublished content' + cache: + type: tag + options: { } + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + plugin_id: text_custom + empty: true + content: 'No moderated content available. Only pending versions of content, such as drafts, are listed here.' + tokenize: false + sorts: { } + arguments: { } + filters: + title: + id: title + table: node_field_revision + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + latest_revision: + id: latest_revision + table: node_revision + field: latest_revision + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: latest_revision + operator: '=' + value: '' + 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 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_search_text_value: + id: field_search_text_value + table: node_revision__field_search_text + field: field_search_text_value + relationship: none + group_type: group + admin_label: '' + plugin_id: views_autocomplete_filters_string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: field_search_text_value_op label: 'Contains text' description: '' use_operator: false @@ -978,29 +1363,27 @@ display: default_group: All default_group_multiple: { } group_items: { } - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid + combine: + id: combine + table: views + field: combine relationship: none group_type: group admin_label: 'Last updated by' - entity_type: node - entity_field: revision_uid - plugin_id: user_name - operator: in - value: { } + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' group: 1 exposed: true expose: - operator_id: revision_uid_op - label: 'Last Updated By' + operator_id: combine_op + label: 'Last updated by' description: '' use_operator: false - operator: revision_uid_op + operator: combine_op operator_limit_selection: false operator_list: { } - identifier: revision_uid + identifier: combine required: false remember: false multiple: false @@ -1016,7 +1399,13 @@ display: menu_admin: '0' administrator: '0' beta_tester: '0' - reduce: false + placeholder: '' + autocomplete_filter: 1 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 is_grouped: false group_info: label: '' @@ -1029,6 +1418,10 @@ display: default_group: All default_group_multiple: { } group_items: { } + fields: + mail_1: mail_1 + field_full_name_1: field_full_name_1 + name_1: name_1 field_publisher_target_id: id: field_publisher_target_id table: group__field_publisher @@ -1189,29 +1582,27 @@ display: group_items: { } entity_type: group_content plugin_id: epa_web_areas_users_groups - uid_1: - id: uid_1 - table: users_field_data - field: uid - relationship: uid + combine_1: + id: combine_1 + table: views + field: combine + relationship: none group_type: group - admin_label: Author - entity_type: user - entity_field: uid - plugin_id: user_name - operator: in - value: { } + admin_label: 'Author (combined)' + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' group: 1 exposed: true expose: - operator_id: uid_1_op + operator_id: combine_1_op label: Author - description: ' ' + description: '' use_operator: false - operator: uid_1_op + operator: combine_1_op operator_limit_selection: false operator_list: { } - identifier: uid_1 + identifier: combine_1 required: false remember: false multiple: false @@ -1227,7 +1618,13 @@ display: menu_admin: '0' administrator: '0' beta_tester: '0' - reduce: false + placeholder: '' + autocomplete_filter: 1 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 is_grouped: false group_info: label: '' @@ -1240,6 +1637,10 @@ display: default_group: All default_group_multiple: { } group_items: { } + fields: + mail: mail + field_full_name: field_full_name + name: name moderation_state: id: moderation_state table: node_field_revision @@ -1496,6 +1897,17 @@ display: entity_field: gid plugin_id: standard required: false + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid + relationship: none + group_type: group + admin_label: 'Revision User' + entity_type: node + entity_field: revision_uid + plugin_id: standard + required: false use_more: false use_more_always: true use_more_text: 'Switch to Bulk Operations' @@ -1517,6 +1929,7 @@ display: - 'user.node_grants:view' - user.permissions tags: + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' data_export_1: id: data_export_1 @@ -2162,46 +2575,903 @@ display: text: view output_url_as_text: true absolute: true - style: - type: data_export - options: - formats: - csv: csv - csv_settings: - delimiter: ',' - enclosure: '"' - escape_char: \ + mail: + id: mail + table: users_field_data + field: mail + relationship: revision_uid + group_type: group + admin_label: 'Revision User: Email' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' strip_tags: false - trim: true - encoding: utf8 - utf8_bom: '0' - use_serializer_encode_only: false - row: - type: data_field - options: - field_options: - nid: - alias: '' - raw_output: false - title: - alias: '' - raw_output: true - gid: - alias: '' - raw_output: false - label: - alias: web_area - raw_output: false - type: - alias: '' - raw_output: false - name: - alias: '' - raw_output: false - moderation_state: - alias: '' - raw_output: false - moderation_state_1: + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name: + id: field_full_name + table: user__field_full_name + field: field_full_name + relationship: revision_uid + group_type: group + admin_label: 'Revision User: Full Name' + plugin_id: field + label: 'Full Name' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name_1: + id: name_1 + table: users_field_data + field: name + relationship: revision_uid + group_type: group + admin_label: 'Revision User: Username' + entity_type: user + entity_field: name + plugin_id: field + label: Name + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + title: + id: title + table: node_field_revision + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + latest_revision: + id: latest_revision + table: node_revision + field: latest_revision + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: latest_revision + operator: '=' + value: '' + 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 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_search_text_value: + id: field_search_text_value + table: node_revision__field_search_text + field: field_search_text_value + relationship: none + group_type: group + admin_label: '' + plugin_id: views_autocomplete_filters_string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: field_search_text_value_op + label: 'Contains text' + description: '' + use_operator: false + operator: field_search_text_value_op + operator_limit_selection: false + operator_list: { } + identifier: field_search_text_value + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + placeholder: '' + autocomplete_filter: 0 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_field: '' + autocomplete_raw_suggestion: 1 + autocomplete_raw_dropdown: 1 + autocomplete_dependent: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + gid: + id: gid + table: group_content_field_data + field: gid + relationship: group_content + group_type: group + admin_label: '' + entity_type: group_content + entity_field: gid + plugin_id: entity_reference + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: gid_op + label: 'Web Area' + description: '' + use_operator: false + operator: gid_op + operator_limit_selection: false + operator_list: { } + identifier: gid + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + administrator: '0' + 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: { } + reduce_duplicates: false + handler: 'default:group' + widget: autocomplete + handler_settings: + target_bundles: + web_area: web_area + sort: + field: _none + direction: ASC + auto_create: false + auto_create_bundle: '' + type: + id: type + table: node_field_revision + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + operator_limit_selection: false + operator_list: { } + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + administrator: '0' + 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: { } + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid + relationship: none + group_type: group + admin_label: 'Last updated by' + entity_type: node + entity_field: revision_uid + plugin_id: user_name + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: revision_uid_op + label: 'Last Updated By' + description: '' + use_operator: false + operator: revision_uid_op + operator_limit_selection: false + operator_list: { } + identifier: revision_uid + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + 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: { } + combine: + id: combine + table: views + field: combine + relationship: none + group_type: group + admin_label: 'Last updated by' + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' + group: 1 + exposed: true + expose: + operator_id: combine_op + label: 'Last updated by (combined)' + description: '' + use_operator: false + operator: combine_op + operator_limit_selection: false + operator_list: { } + identifier: combine + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + placeholder: '' + autocomplete_filter: 1 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + fields: + mail: mail + field_full_name: field_full_name + name_1: name_1 + field_publisher_target_id: + id: field_publisher_target_id + table: group__field_publisher + field: field_publisher_target_id + relationship: gid + group_type: group + admin_label: Office + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_publisher_target_id_op + label: Office + description: '' + use_operator: false + operator: field_publisher_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_publisher_target_id + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + 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: { } + reduce_duplicates: false + vid: epa_organization + type: textfield + hierarchy: false + limit: true + error_message: true + field_owning_office_target_id: + id: field_owning_office_target_id + table: node_revision__field_owning_office + field: field_owning_office_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_owning_office_target_id_op + label: 'Owning Office' + description: '' + use_operator: false + operator: field_owning_office_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_owning_office_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + 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: { } + reduce_duplicates: false + vid: epa_organization + type: textfield + hierarchy: false + limit: true + error_message: true + users_in_groups: + id: users_in_groups + table: group_content_field_data + field: users_in_groups + relationship: group_content + group_type: group + admin_label: 'Web area filter' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: users_in_groups_op + label: 'Web area filter' + description: '' + use_operator: 0 + operator: users_in_groups_op + operator_limit_selection: 0 + operator_list: { } + identifier: users_in_groups + required: 0 + remember: 0 + multiple: 0 + remember_roles: + authenticated: authenticated + anonymous: 0 + paragraphs_library_contributor: 0 + layout_editor: 0 + alerts_manager: 0 + block_manager: 0 + system_editor: 0 + system_webmaster: 0 + menu_admin: 0 + administrator: 0 + beta_tester: 0 + reduce: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: 0 + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: group_content + plugin_id: epa_web_areas_users_groups + uid_1: + id: uid_1 + table: users_field_data + field: uid + relationship: uid + group_type: group + admin_label: Author + entity_type: user + entity_field: uid + plugin_id: user_name + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: uid_1_op + label: Author + description: ' ' + use_operator: false + operator: uid_1_op + operator_limit_selection: false + operator_list: { } + identifier: uid_1 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: moderation_state_op + label: 'Latest revision moderation state' + description: '' + use_operator: false + operator: moderation_state_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + moderation_state_1: + id: moderation_state_1 + table: node_field_data + field: moderation_state + relationship: nid + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: moderation_state_1_op + label: 'Current revision moderation state' + description: '' + use_operator: false + operator: moderation_state_1_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state_1 + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + 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: { } + filter_groups: + operator: AND + groups: + 1: AND + style: + type: data_export + options: + formats: + csv: csv + csv_settings: + delimiter: ',' + enclosure: '"' + escape_char: \ + strip_tags: false + trim: true + encoding: utf8 + utf8_bom: '0' + use_serializer_encode_only: false + row: + type: data_field + options: + field_options: + nid: + alias: '' + raw_output: false + title: + alias: '' + raw_output: true + gid: + alias: '' + raw_output: false + label: + alias: web_area + raw_output: false + type: + alias: '' + raw_output: false + name: + alias: '' + raw_output: false + moderation_state: + alias: '' + raw_output: false + moderation_state_1: alias: '' raw_output: false revision_uid: @@ -2215,6 +3485,8 @@ display: raw_output: false defaults: fields: false + filters: false + filter_groups: false display_extenders: views_ajax_get: ajax_get: false @@ -2242,6 +3514,7 @@ display: - 'user.node_grants:view' - user.permissions tags: + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' moderated_content: id: moderated_content @@ -2250,6 +3523,1038 @@ display: position: 1 display_options: title: 'Latest Revisions' + fields: + views_bulk_operations_bulk_form: + id: views_bulk_operations_bulk_form + table: views + field: views_bulk_operations_bulk_form + relationship: none + group_type: group + admin_label: '' + plugin_id: views_bulk_operations_bulk_form + label: 'Views bulk operations' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + batch: true + batch_size: 10 + form_step: true + buttons: false + action_title: Action + clear_on_exposed: true + force_selection_info: false + selected_actions: + 0: + action_id: 'moderation_state_change:node' + preconfiguration: + add_confirmation: false + 1: + action_id: epa_workflow_bulk_republish + preconfiguration: + add_confirmation: false + 2: + action_id: 'flag_action:notification_opt_in_flag' + preconfiguration: + add_confirmation: false + 3: + action_id: 'flag_action:notification_opt_in_unflag' + preconfiguration: + add_confirmation: false + 6: + action_id: node_assign_owner_action + preconfiguration: + add_confirmation: false + nid: + id: nid + table: node_field_revision + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: field + label: ID + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + title: + id: title + table: node_field_revision + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: Title + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + label: + id: label + table: groups_field_data + field: label + relationship: gid + group_type: group + admin_label: '' + entity_type: group + entity_field: label + plugin_id: field + label: 'Web Area' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + type: + id: type + table: node_field_revision + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: field + label: 'Content type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_field + label: 'Latest revision moderation state' + exclude: false + alter: + alter_text: false + text: '{{ moderation_state }} {{ field_scheduled_transition__revision_id }}' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: content_moderation_state + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + moderation_state_1: + id: moderation_state_1 + table: node_field_data + field: moderation_state + relationship: nid + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_field + label: 'Current revision moderation state' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: content_moderation_state + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + changed: + id: changed + table: node_field_revision + field: changed + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: changed + plugin_id: field + label: Updated + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: short + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: revision_uid + plugin_id: field + label: 'Last Updated By' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name: + id: field_full_name + table: user__field_full_name + field: field_full_name + relationship: revision_uid + group_type: group + admin_label: 'Revision User: Full Name' + plugin_id: field + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + mail_1: + id: mail_1 + table: users_field_data + field: mail + relationship: revision_uid + group_type: group + admin_label: 'Revision User: Email' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: users_field_data + field: name + relationship: revision_uid + group_type: group + admin_label: 'Revision User: Username' + entity_type: user + entity_field: name + plugin_id: field + label: Name + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name_1: + id: name_1 + table: users_field_data + field: name + relationship: uid + group_type: group + admin_label: '' + entity_type: user + entity_field: name + plugin_id: field + label: Author + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + mail_2: + id: mail_2 + table: users_field_data + field: mail + relationship: uid + group_type: group + admin_label: '' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name_1: + id: field_full_name_1 + table: user__field_full_name + field: field_full_name + relationship: uid + group_type: group + admin_label: '' + plugin_id: field + label: 'Full Name' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: node_revision + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_operations + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false pager: type: mini options: @@ -2261,20 +4566,707 @@ display: next: 'Next ›' previous: '‹ Previous' expose: - items_per_page: false - items_per_page_label: 'Items per page' - items_per_page_options: '5, 10, 25, 50' - items_per_page_options_all: false - items_per_page_options_all_label: '- All -' - offset: false - offset_label: Offset + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + filters: + title: + id: title + table: node_field_revision + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + latest_revision: + id: latest_revision + table: node_revision + field: latest_revision + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: latest_revision + operator: '=' + value: '' + 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 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_search_text_value: + id: field_search_text_value + table: node_revision__field_search_text + field: field_search_text_value + relationship: none + group_type: group + admin_label: '' + plugin_id: views_autocomplete_filters_string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: field_search_text_value_op + label: 'Contains text' + description: '' + use_operator: false + operator: field_search_text_value_op + operator_limit_selection: false + operator_list: { } + identifier: field_search_text_value + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + placeholder: '' + autocomplete_filter: 0 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_field: '' + autocomplete_raw_suggestion: 1 + autocomplete_raw_dropdown: 1 + autocomplete_dependent: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + gid: + id: gid + table: group_content_field_data + field: gid + relationship: group_content + group_type: group + admin_label: '' + entity_type: group_content + entity_field: gid + plugin_id: entity_reference + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: gid_op + label: 'Web Area' + description: '' + use_operator: false + operator: gid_op + operator_limit_selection: false + operator_list: { } + identifier: gid + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + administrator: '0' + 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: { } + reduce_duplicates: false + handler: 'default:group' + widget: autocomplete + handler_settings: + target_bundles: + web_area: web_area + sort: + field: _none + direction: ASC + auto_create: false + auto_create_bundle: '' + type: + id: type + table: node_field_revision + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + operator_limit_selection: false + operator_list: { } + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + administrator: '0' + 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: { } + combine: + id: combine + table: views + field: combine + relationship: none + group_type: group + admin_label: 'Last Updated By (combined)' + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' + group: 1 + exposed: true + expose: + operator_id: combine_op + label: 'Last updated by' + description: '' + use_operator: false + operator: combine_op + operator_limit_selection: false + operator_list: { } + identifier: combine + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + placeholder: '' + autocomplete_filter: 1 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + fields: + field_full_name: field_full_name + mail_1: mail_1 + name: name + field_publisher_target_id: + id: field_publisher_target_id + table: group__field_publisher + field: field_publisher_target_id + relationship: gid + group_type: group + admin_label: Office + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_publisher_target_id_op + label: Office + description: '' + use_operator: false + operator: field_publisher_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_publisher_target_id + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + 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: { } + reduce_duplicates: false + vid: epa_organization + type: textfield + hierarchy: false + limit: true + error_message: true + field_owning_office_target_id: + id: field_owning_office_target_id + table: node_revision__field_owning_office + field: field_owning_office_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_owning_office_target_id_op + label: 'Owning Office' + description: '' + use_operator: false + operator: field_owning_office_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_owning_office_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + 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: { } + reduce_duplicates: false + vid: epa_organization + type: textfield + hierarchy: false + limit: true + error_message: true + users_in_groups: + id: users_in_groups + table: group_content_field_data + field: users_in_groups + relationship: group_content + group_type: group + admin_label: 'Web area filter' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: users_in_groups_op + label: 'Web area filter' + description: '' + use_operator: 0 + operator: users_in_groups_op + operator_limit_selection: 0 + operator_list: { } + identifier: users_in_groups + required: 0 + remember: 0 + multiple: 0 + remember_roles: + authenticated: authenticated + anonymous: 0 + paragraphs_library_contributor: 0 + layout_editor: 0 + alerts_manager: 0 + block_manager: 0 + system_editor: 0 + system_webmaster: 0 + menu_admin: 0 + administrator: 0 + beta_tester: 0 + reduce: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: 0 + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: group_content + plugin_id: epa_web_areas_users_groups + combine_1: + id: combine_1 + table: views + field: combine + relationship: none + group_type: group + admin_label: 'Author (combined)' + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' + group: 1 + exposed: true + expose: + operator_id: combine_1_op + label: Author + description: '' + use_operator: false + operator: combine_1_op + operator_limit_selection: false + operator_list: { } + identifier: combine_author + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + placeholder: '' + autocomplete_filter: 1 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + fields: + name_1: name_1 + mail_2: mail_2 + field_full_name_1: field_full_name_1 + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: moderation_state_op + label: 'Latest revision moderation state' + description: '' + use_operator: false + operator: moderation_state_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + moderation_state_1: + id: moderation_state_1 + table: node_field_data + field: moderation_state + relationship: nid + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: moderation_state_1_op + label: 'Current revision moderation state' + description: '' + use_operator: false + operator: moderation_state_1_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state_1 + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + 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: { } + filter_groups: + operator: AND + groups: + 1: AND defaults: title: false pager: false - fields: true - filters: true - filter_groups: true + relationships: false + fields: false + filters: false + filter_groups: false header: false + relationships: + nid: + id: nid + table: node_field_revision + field: nid + relationship: none + group_type: group + admin_label: Node + entity_type: node + entity_field: nid + plugin_id: standard + required: false + uid: + id: uid + table: node_field_revision + field: uid + relationship: none + group_type: group + admin_label: User + entity_type: node + entity_field: uid + plugin_id: standard + required: false + group_content: + id: group_content + table: node_field_data + field: group_content + relationship: nid + group_type: group + admin_label: 'Content group content' + entity_type: node + plugin_id: group_content_to_entity_reverse + required: false + group_content_plugins: + 'group_node:event': '0' + 'group_node:faq': '0' + 'group_node:news_release': '0' + 'group_node:page': '0' + 'group_node:public_notice': '0' + 'group_node:regulation': '0' + 'group_node:webform': '0' + 'group_node:web_area': '0' + gid: + id: gid + table: group_content_field_data + field: gid + relationship: group_content + group_type: group + admin_label: Group + entity_type: group_content + entity_field: gid + plugin_id: standard + required: false + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid + relationship: nid + group_type: group + admin_label: 'Revision User' + entity_type: node + entity_field: revision_uid + plugin_id: standard + required: false display_description: '' header: display_link: @@ -2317,6 +5309,7 @@ display: - 'user.node_grants:view' - user.permissions tags: + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' page_1: id: page_1 @@ -2340,4 +5333,5 @@ display: - 'user.node_grants:view' - user.permissions tags: + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' diff --git a/services/drupal/config/sync/views.view.published_content.yml b/services/drupal/config/sync/views.view.published_content.yml index 9653f4159a..13334fe04a 100644 --- a/services/drupal/config/sync/views.view.published_content.yml +++ b/services/drupal/config/sync/views.view.published_content.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.storage.node.field_review_deadline + - field.storage.user.field_full_name - taxonomy.vocabulary.epa_organization - workflows.workflow.epa_default module: @@ -398,6 +399,198 @@ display: multi_type: separator separator: ', ' field_api_classes: false + mail: + id: mail + table: users_field_data + field: mail + relationship: uid + group_type: group + admin_label: '' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name: + id: field_full_name + table: user__field_full_name + field: field_full_name + relationship: uid + group_type: group + admin_label: '' + plugin_id: field + label: 'Full Name' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: users_field_data + field: name + relationship: uid + group_type: group + admin_label: '' + entity_type: user + entity_field: name + plugin_id: field + label: Name + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false pager: type: mini options: @@ -627,42 +820,49 @@ display: default_group: All default_group_multiple: { } group_items: { } - uid: - id: uid - table: users_field_data - field: uid - relationship: uid + combine: + id: combine + table: views + field: combine + relationship: none group_type: group - admin_label: '' - entity_type: user - entity_field: uid - plugin_id: user_name - operator: in - value: { } + admin_label: 'Author (combined)' + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' group: 1 exposed: true expose: - operator_id: uid_op + operator_id: combine_op label: Author - description: ' ' + description: '' use_operator: false - operator: uid_op + operator: combine_op operator_limit_selection: false operator_list: { } - identifier: uid + identifier: combine required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' system_editor: '0' system_webmaster: '0' + menu_admin: '0' administrator: '0' - reduce: false + beta_tester: '0' + placeholder: '' + autocomplete_filter: 1 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 is_grouped: false group_info: label: '' @@ -675,6 +875,10 @@ display: default_group: All default_group_multiple: { } group_items: { } + fields: + mail: mail + field_full_name: field_full_name + name: name field_owning_office_target_id: id: field_owning_office_target_id table: node__field_owning_office @@ -936,6 +1140,7 @@ display: - user.permissions tags: - 'config:field.storage.node.field_review_deadline' + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' block_1: id: block_1 @@ -1479,4 +1684,5 @@ display: - user.permissions tags: - 'config:field.storage.node.field_review_deadline' + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' From fdf70ca923396470ef426f0a17484030a94a2eda Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 27 Feb 2024 19:50:27 -0600 Subject: [PATCH 23/52] [EPAD8-2012] Adding hook_alter to remove the help text from last_updated_by views. --- .../modules/custom/epa_core/epa_core.module | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_core/epa_core.module b/services/drupal/web/modules/custom/epa_core/epa_core.module index 46980f4019..f6d0d687e2 100644 --- a/services/drupal/web/modules/custom/epa_core/epa_core.module +++ b/services/drupal/web/modules/custom/epa_core/epa_core.module @@ -11,7 +11,6 @@ use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Link; use Drupal\Core\Render\Markup; -use Drupal\Core\Session\AnonymousUserSession; use Drupal\Core\Url; use Drupal\Core\Cache\Cache; use Drupal\Core\Datetime\DrupalDateTime; @@ -20,14 +19,10 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Field\FieldFilteredMarkup; use Drupal\Core\Render\BubbleableMetadata; use Drupal\Core\StringTranslation\TranslatableMarkup; -use Drupal\media\Entity\Media; -use Drupal\node\NodeInterface; use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Cache\RefinableCacheableDependencyInterface; use Drupal\Core\Entity\Display\EntityViewDisplayInterface; -use Drupal\search_api\Utility\Utility; use Drupal\taxonomy\Entity\Term; -use Drupal\Component\Utility\UrlHelper; /** * Implements hook_theme(). @@ -823,6 +818,19 @@ function epa_core_form_views_exposed_form_alter(&$form, &$form_state, $form_id) if (!empty($form["field_search_text_value"])) { $form["field_search_text_value"]['#field_suffix'] = t('Note: searches most fields'); } + + $views_exposed_forms = [ + 'views-exposed-form-moderated-content-moderated-content', + 'views-exposed-form-moderated-content-page-1', + 'views-exposed-form-group-moderated-content-block-1', + 'views-exposed-form-group-nodes-block-1', + ]; + + if (in_array($form['#id'], $views_exposed_forms) && isset($form['revision_uid'])) { + if ($form['revision_uid']['#description']) { + unset($form['revision_uid']['#description']); + } + } } /** From 4b6d025b6b9628c4f36835d1cc74533122c72952 Mon Sep 17 00:00:00 2001 From: julianamincey Date: Thu, 29 Feb 2024 10:32:29 -0500 Subject: [PATCH 24/52] EPAD8-2012 removed author fields and filters --- .../views.view.group_moderated_content.yml | 51 -------- .../config/sync/views.view.group_nodes.yml | 51 -------- .../sync/views.view.moderated_content.yml | 118 ------------------ .../sync/views.view.published_content.yml | 59 --------- 4 files changed, 279 deletions(-) diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index 263b19acea..70026993e3 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -973,57 +973,6 @@ display: default_group: All default_group_multiple: { } group_items: { } - uid: - id: uid - table: users_field_data - field: uid - relationship: uid - group_type: group - admin_label: Author - entity_type: user - entity_field: uid - plugin_id: user_name - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: uid_op - label: Author - description: ' ' - use_operator: false - operator: uid_op - operator_limit_selection: false - operator_list: { } - identifier: uid - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - beta_tester: '0' - reduce: false - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } moderation_state: id: moderation_state table: node_field_revision diff --git a/services/drupal/config/sync/views.view.group_nodes.yml b/services/drupal/config/sync/views.view.group_nodes.yml index 32cb2971e1..5c055dd874 100644 --- a/services/drupal/config/sync/views.view.group_nodes.yml +++ b/services/drupal/config/sync/views.view.group_nodes.yml @@ -1683,57 +1683,6 @@ display: default_group: All default_group_multiple: { } group_items: { } - uid: - id: uid - table: users_field_data - field: uid - relationship: uid - group_type: group - admin_label: Author - entity_type: user - entity_field: uid - plugin_id: user_name - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: uid_op - label: Author - description: ' ' - use_operator: false - operator: uid_op - operator_limit_selection: false - operator_list: { } - identifier: uid - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - beta_tester: '0' - reduce: false - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } moderation_state: id: moderation_state table: node_field_data diff --git a/services/drupal/config/sync/views.view.moderated_content.yml b/services/drupal/config/sync/views.view.moderated_content.yml index 4fa0e8536c..ce3a0840f9 100644 --- a/services/drupal/config/sync/views.view.moderated_content.yml +++ b/services/drupal/config/sync/views.view.moderated_content.yml @@ -1582,65 +1582,6 @@ display: group_items: { } entity_type: group_content plugin_id: epa_web_areas_users_groups - combine_1: - id: combine_1 - table: views - field: combine - relationship: none - group_type: group - admin_label: 'Author (combined)' - plugin_id: views_autocomplete_filters_combine - operator: allwords - value: '' - group: 1 - exposed: true - expose: - operator_id: combine_1_op - label: Author - description: '' - use_operator: false - operator: combine_1_op - operator_limit_selection: false - operator_list: { } - identifier: combine_1 - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - beta_tester: '0' - placeholder: '' - autocomplete_filter: 1 - autocomplete_min_chars: '0' - autocomplete_items: '10' - autocomplete_raw_suggestion: 0 - autocomplete_raw_dropdown: 0 - autocomplete_dependent: 0 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - fields: - mail: mail - field_full_name: field_full_name - name: name moderation_state: id: moderation_state table: node_field_revision @@ -5036,65 +4977,6 @@ display: group_items: { } entity_type: group_content plugin_id: epa_web_areas_users_groups - combine_1: - id: combine_1 - table: views - field: combine - relationship: none - group_type: group - admin_label: 'Author (combined)' - plugin_id: views_autocomplete_filters_combine - operator: allwords - value: '' - group: 1 - exposed: true - expose: - operator_id: combine_1_op - label: Author - description: '' - use_operator: false - operator: combine_1_op - operator_limit_selection: false - operator_list: { } - identifier: combine_author - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - beta_tester: '0' - placeholder: '' - autocomplete_filter: 1 - autocomplete_min_chars: '0' - autocomplete_items: '10' - autocomplete_raw_suggestion: 0 - autocomplete_raw_dropdown: 0 - autocomplete_dependent: 0 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - fields: - name_1: name_1 - mail_2: mail_2 - field_full_name_1: field_full_name_1 moderation_state: id: moderation_state table: node_field_revision diff --git a/services/drupal/config/sync/views.view.published_content.yml b/services/drupal/config/sync/views.view.published_content.yml index 13334fe04a..5f930c600a 100644 --- a/services/drupal/config/sync/views.view.published_content.yml +++ b/services/drupal/config/sync/views.view.published_content.yml @@ -820,65 +820,6 @@ display: default_group: All default_group_multiple: { } group_items: { } - combine: - id: combine - table: views - field: combine - relationship: none - group_type: group - admin_label: 'Author (combined)' - plugin_id: views_autocomplete_filters_combine - operator: allwords - value: '' - group: 1 - exposed: true - expose: - operator_id: combine_op - label: Author - description: '' - use_operator: false - operator: combine_op - operator_limit_selection: false - operator_list: { } - identifier: combine - required: false - remember: false - multiple: false - remember_roles: - authenticated: authenticated - anonymous: '0' - paragraphs_library_contributor: '0' - layout_editor: '0' - alerts_manager: '0' - block_manager: '0' - system_editor: '0' - system_webmaster: '0' - menu_admin: '0' - administrator: '0' - beta_tester: '0' - placeholder: '' - autocomplete_filter: 1 - autocomplete_min_chars: '0' - autocomplete_items: '10' - autocomplete_raw_suggestion: 0 - autocomplete_raw_dropdown: 0 - autocomplete_dependent: 0 - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - fields: - mail: mail - field_full_name: field_full_name - name: name field_owning_office_target_id: id: field_owning_office_target_id table: node__field_owning_office From 3fc0c85d15dc10c1a21cddb7e3b07824b6e285c5 Mon Sep 17 00:00:00 2001 From: julianamincey Date: Thu, 29 Feb 2024 13:09:57 -0500 Subject: [PATCH 25/52] EPAD8-2012 Added last updated by to group dashboards --- ...ant.dashboard_overview-block_display-0.yml | 2 + .../views.view.group_moderated_content.yml | 1443 ++++++++++++++++- .../config/sync/views.view.group_nodes.yml | 774 ++++++++- 3 files changed, 2163 insertions(+), 56 deletions(-) diff --git a/services/drupal/config/sync/page_manager.page_variant.dashboard_overview-block_display-0.yml b/services/drupal/config/sync/page_manager.page_variant.dashboard_overview-block_display-0.yml index 06f740a4eb..745ffad079 100644 --- a/services/drupal/config/sync/page_manager.page_variant.dashboard_overview-block_display-0.yml +++ b/services/drupal/config/sync/page_manager.page_variant.dashboard_overview-block_display-0.yml @@ -26,6 +26,7 @@ variant_settings: context_mapping: { } views_label: '' items_per_page: none + exposed: { } region: top weight: 0 uuid: 6f7a550c-463c-4be8-9593-c9c2145e42f9 @@ -37,6 +38,7 @@ variant_settings: context_mapping: { } views_label: '' items_per_page: none + exposed: { } region: bottom weight: 0 uuid: 4fb74c60-de0a-422f-82c1-b6027e4bd4df diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index 70026993e3..5d2f1675d6 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.storage.node.field_owning_office + - field.storage.user.field_full_name - taxonomy.vocabulary.epa_organization module: - content_moderation @@ -597,6 +598,198 @@ display: empty_zero: false hide_alter_empty: true destination: false + mail: + id: mail + table: users_field_data + field: mail + relationship: uid_1 + group_type: group + admin_label: '' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name: + id: field_full_name + table: user__field_full_name + field: field_full_name + relationship: uid_1 + group_type: group + admin_label: '' + plugin_id: field + label: 'Full Name' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: users_field_data + field: name + relationship: uid_1 + group_type: group + admin_label: '' + entity_type: user + entity_field: name + plugin_id: field + label: Name + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false pager: type: mini options: @@ -1216,6 +1409,17 @@ display: entity_field: uid plugin_id: standard required: false + uid_1: + id: uid_1 + table: node_field_revision + field: uid + relationship: none + group_type: group + admin_label: 'Revision User' + entity_type: node + entity_field: uid + plugin_id: standard + required: false header: { } footer: { } display_extenders: @@ -1235,6 +1439,7 @@ display: - 'user.node_grants:view' tags: - 'config:field.storage.node.field_owning_office' + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' block_1: id: block_1 @@ -1242,48 +1447,1204 @@ display: display_plugin: block position: 1 display_options: - arguments: - gid: - id: gid - table: group_content_field_data - field: gid - relationship: group_content + fields: + node_bulk_form: + id: node_bulk_form + table: node + field: node_bulk_form + relationship: nid group_type: group admin_label: '' - entity_type: group_content - entity_field: gid - plugin_id: group_id - default_action: default - exception: - value: all - title_enable: false - title: All - title_enable: false - title: '' - default_argument_type: group_id_from_url - default_argument_options: { } - default_argument_skip_url: false - summary_options: - base_path: '' - count: true - override: false - items_per_page: 25 - summary: - sort_order: asc - number_of_records: 0 - format: default_summary - specify_validation: false - validate: - type: none - fail: 'not found' - validate_options: { } - break_phrase: false - not: false - defaults: - fields: true - arguments: false - filters: true - filter_groups: true + entity_type: node + plugin_id: node_bulk_form + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + action_title: Action + include_exclude: include + selected_actions: + - create_new_draft + - create_new_draft_approved + - create_new_draft_needs_review + - set_to_published + - set_to_published_needs_review + - set_to_published_scheduled_for_expiration + - set_to_unpublished + nid: + id: nid + table: node_field_data + field: nid + relationship: nid + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: field + label: ID + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + title: + id: title + table: node_field_revision + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: Title + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + type: + id: type + table: node_field_data + field: type + relationship: nid + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: field + label: 'Content type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_owning_office__revision_id: + id: field_owning_office__revision_id + table: node_revision__field_owning_office + field: field_owning_office__revision_id + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Owning Office' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_field + label: 'Latest revision moderation state' + exclude: false + alter: + alter_text: false + text: '{{ moderation_state }} {{ field_scheduled_transition__revision_id }}' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: content_moderation_state + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + moderation_state_1: + id: moderation_state_1 + table: node_field_data + field: moderation_state + relationship: nid + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_field + label: 'Current revision moderation state' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: content_moderation_state + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + changed: + id: changed + table: node_field_revision + field: changed + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: changed + plugin_id: field + label: Updated + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: short + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + mail: + id: mail + table: users_field_data + field: mail + relationship: uid_1 + group_type: group + admin_label: 'Revision User:Email' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name: + id: field_full_name + table: user__field_full_name + field: field_full_name + relationship: uid_1 + group_type: group + admin_label: 'Revision User:Full Name' + plugin_id: field + label: 'Full Name' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: users_field_data + field: name + relationship: uid_1 + group_type: group + admin_label: 'Revision User:UserName' + entity_type: user + entity_field: name + plugin_id: field + label: Name + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: node_revision + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_operations + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false + arguments: + gid: + id: gid + table: group_content_field_data + field: gid + relationship: group_content + group_type: group + admin_label: '' + entity_type: group_content + entity_field: gid + plugin_id: group_id + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: group_id_from_url + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + filters: + latest_revision: + id: latest_revision + table: node_revision + field: latest_revision + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: latest_revision + operator: '=' + value: '' + 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 + 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_revision + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_search_text_value: + id: field_search_text_value + table: node_revision__field_search_text + field: field_search_text_value + relationship: none + group_type: group + admin_label: '' + plugin_id: views_autocomplete_filters_string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: field_search_text_value_op + label: 'Contains text' + description: '' + use_operator: false + operator: field_search_text_value_op + operator_limit_selection: false + operator_list: { } + identifier: field_search_text_value + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + placeholder: '' + autocomplete_filter: 0 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_field: '' + autocomplete_raw_suggestion: 1 + autocomplete_raw_dropdown: 1 + autocomplete_dependent: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + type_1: + id: type_1 + table: node_field_revision + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: bundle + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_1_op + label: 'Content type' + description: '' + use_operator: false + operator: type_1_op + operator_limit_selection: false + operator_list: { } + identifier: type_1 + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + administrator: '0' + 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: { } + field_owning_office_target_id: + id: field_owning_office_target_id + table: node_revision__field_owning_office + field: field_owning_office_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_owning_office_target_id_op + label: 'Owning Office' + description: '' + use_operator: false + operator: field_owning_office_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_owning_office_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + 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: { } + reduce_duplicates: false + vid: epa_organization + type: textfield + hierarchy: false + limit: true + error_message: true + combine: + id: combine + table: views + field: combine + relationship: none + group_type: group + admin_label: 'Last Updated By' + plugin_id: views_autocomplete_filters_combine + operator: word + value: '' + group: 1 + exposed: true + expose: + operator_id: combine_op + label: 'Last Updated By' + description: '' + use_operator: false + operator: combine_op + operator_limit_selection: false + operator_list: { } + identifier: combine + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + placeholder: '' + autocomplete_filter: 0 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 1 + autocomplete_raw_dropdown: 1 + autocomplete_dependent: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + fields: + mail: mail + field_full_name: field_full_name + name: name + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: moderation_state_op + label: 'Latest revision moderation state' + description: '' + use_operator: false + operator: moderation_state_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + moderation_state_1: + id: moderation_state_1 + table: node_field_data + field: moderation_state + relationship: nid + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: moderation_state_1_op + label: 'Current revision moderation state' + description: '' + use_operator: false + operator: moderation_state_1_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state_1 + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + 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: { } + filter_groups: + operator: AND + groups: + 1: AND + defaults: + relationships: true + fields: false + arguments: false + filters: false + filter_groups: false display_description: '' display_extenders: views_ajax_get: @@ -1302,6 +2663,7 @@ display: - 'user.node_grants:view' tags: - 'config:field.storage.node.field_owning_office' + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' data_export_1: id: data_export_1 @@ -2077,4 +3439,5 @@ display: - 'user.node_grants:view' tags: - 'config:field.storage.node.field_owning_office' + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' diff --git a/services/drupal/config/sync/views.view.group_nodes.yml b/services/drupal/config/sync/views.view.group_nodes.yml index 5c055dd874..5117c91b93 100644 --- a/services/drupal/config/sync/views.view.group_nodes.yml +++ b/services/drupal/config/sync/views.view.group_nodes.yml @@ -5,6 +5,7 @@ dependencies: config: - field.storage.node.field_owning_office - field.storage.node.field_review_deadline + - field.storage.user.field_full_name - taxonomy.vocabulary.epa_organization - workflows.workflow.epa_default module: @@ -1237,6 +1238,703 @@ display: position: 1 display_options: enabled: true + fields: + nid: + id: nid + table: node_field_data + field: nid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: nid + plugin_id: field + label: ID + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: Title + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: field + label: 'Content type' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_owning_office: + id: field_owning_office + table: node__field_owning_office + field: field_owning_office + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Owning Office' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + moderation_state: + id: moderation_state + table: node_field_data + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_field + label: Status + exclude: false + alter: + alter_text: false + text: '{{ moderation_state }} {{ field_scheduled_transition }}' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: content_moderation_state + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + changed: + id: changed + table: node_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: changed + plugin_id: field + label: Updated + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: short + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_review_deadline: + id: field_review_deadline + table: node__field_review_deadline + field: field_review_deadline + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Review Deadline' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: datetime_default + settings: + timezone_override: '' + format_type: medium + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_full_name: + id: field_full_name + table: user__field_full_name + field: field_full_name + relationship: uid_1 + group_type: group + admin_label: 'Revision User:Full Name' + plugin_id: field + label: 'Full Name' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + mail: + id: mail + table: users_field_data + field: mail + relationship: uid_1 + group_type: group + admin_label: 'Revision User:Email' + entity_type: user + entity_field: mail + plugin_id: field + label: Email + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: basic_string + settings: { } + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + name: + id: name + table: users_field_data + field: name + relationship: uid_1 + group_type: group + admin_label: 'Revision User:Username' + entity_type: user + entity_field: name + plugin_id: field + label: Username + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + operations: + id: operations + table: node + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_operations + label: Operations + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + destination: false arguments: gid: id: gid @@ -1524,29 +2222,27 @@ display: default_group: All default_group_multiple: { } group_items: { } - revision_uid: - id: revision_uid - table: node_revision - field: revision_uid + combine: + id: combine + table: views + field: combine relationship: none group_type: group - admin_label: 'Last updated by' - entity_type: node - entity_field: revision_uid - plugin_id: user_name - operator: in - value: { } + admin_label: 'Last Updated By' + plugin_id: views_autocomplete_filters_combine + operator: word + value: '' group: 1 exposed: true expose: - operator_id: revision_uid_op - label: 'Published By' + operator_id: combine_op + label: 'Last Updated By' description: '' use_operator: false - operator: revision_uid_op + operator: combine_op operator_limit_selection: false operator_list: { } - identifier: revision_uid + identifier: combine required: false remember: false multiple: false @@ -1562,7 +2258,13 @@ display: menu_admin: '0' administrator: '0' beta_tester: '0' - reduce: false + placeholder: '' + autocomplete_filter: 0 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 is_grouped: false group_info: label: '' @@ -1575,6 +2277,10 @@ display: default_group: All default_group_multiple: { } group_items: { } + fields: + field_full_name: field_full_name + mail: mail + name: name field_review_deadline_value: id: field_review_deadline_value table: node__field_review_deadline @@ -1737,10 +2443,45 @@ display: groups: 1: AND defaults: - fields: true + relationships: false + fields: false arguments: false filters: false filter_groups: false + relationships: + group_content: + id: group_content + table: node_field_data + field: group_content + relationship: none + group_type: group + admin_label: 'Content relation' + entity_type: node + plugin_id: group_content_to_entity_reverse + required: true + group_content_plugins: { } + uid: + id: uid + table: node_field_data + field: uid + relationship: none + group_type: group + admin_label: author + entity_type: node + entity_field: uid + plugin_id: standard + required: false + uid_1: + id: uid_1 + table: node_field_revision + field: uid + relationship: none + group_type: group + admin_label: 'Revision User' + entity_type: node + entity_field: uid + plugin_id: standard + required: false display_extenders: views_ajax_get: ajax_get: false @@ -1759,6 +2500,7 @@ display: tags: - 'config:field.storage.node.field_owning_office' - 'config:field.storage.node.field_review_deadline' + - 'config:field.storage.user.field_full_name' - 'config:workflow_list' data_export_1: id: data_export_1 From 91f0f111e263456b3174eee11e24a1ae71d1c154 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Mon, 11 Mar 2024 10:22:59 -0500 Subject: [PATCH 26/52] [EPAD8-2012] Adjusting the group dashboard view. Renaming things. --- .../views.view.group_moderated_content.yml | 109 +++++++++--------- 1 file changed, 55 insertions(+), 54 deletions(-) diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index 5d2f1675d6..764e77c96e 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -1966,7 +1966,7 @@ display: field: mail relationship: uid_1 group_type: group - admin_label: 'Revision User:Email' + admin_label: 'Revision User: Email' entity_type: user entity_field: mail plugin_id: field @@ -2030,7 +2030,7 @@ display: field: field_full_name relationship: uid_1 group_type: group - admin_label: 'Revision User:Full Name' + admin_label: 'Revision User: Full Name' plugin_id: field label: 'Full Name' exclude: true @@ -2093,12 +2093,12 @@ display: field: name relationship: uid_1 group_type: group - admin_label: 'Revision User:UserName' + admin_label: 'Revision User: Username' entity_type: user entity_field: name plugin_id: field - label: Name - exclude: true + label: 'Last updated by' + exclude: false alter: alter_text: false text: '' @@ -2480,34 +2480,34 @@ display: hierarchy: false limit: true error_message: true - combine: - id: combine - table: views - field: combine + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state relationship: none group_type: group - admin_label: 'Last Updated By' - plugin_id: views_autocomplete_filters_combine - operator: word - value: '' + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: { } group: 1 exposed: true expose: - operator_id: combine_op - label: 'Last Updated By' + operator_id: moderation_state_op + label: 'Latest revision moderation state' description: '' use_operator: false - operator: combine_op + operator: moderation_state_op operator_limit_selection: false operator_list: { } - identifier: combine + identifier: moderation_state required: false remember: false - multiple: false + multiple: true remember_roles: authenticated: authenticated anonymous: '0' - paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -2515,14 +2515,7 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - beta_tester: '0' - placeholder: '' - autocomplete_filter: 0 - autocomplete_min_chars: '0' - autocomplete_items: '10' - autocomplete_raw_suggestion: 1 - autocomplete_raw_dropdown: 1 - autocomplete_dependent: 0 + reduce: false is_grouped: false group_info: label: '' @@ -2535,15 +2528,11 @@ display: default_group: All default_group_multiple: { } group_items: { } - fields: - mail: mail - field_full_name: field_full_name - name: name - moderation_state: - id: moderation_state - table: node_field_revision + moderation_state_1: + id: moderation_state_1 + table: node_field_data field: moderation_state - relationship: none + relationship: nid group_type: group admin_label: '' entity_type: node @@ -2553,14 +2542,14 @@ display: group: 1 exposed: true expose: - operator_id: moderation_state_op - label: 'Latest revision moderation state' + operator_id: moderation_state_1_op + label: 'Current revision moderation state' description: '' use_operator: false - operator: moderation_state_op + operator: moderation_state_1_op operator_limit_selection: false operator_list: { } - identifier: moderation_state + identifier: moderation_state_1 required: false remember: false multiple: true @@ -2587,34 +2576,34 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state_1: - id: moderation_state_1 - table: node_field_data - field: moderation_state - relationship: nid + combine: + id: combine + table: views + field: combine + relationship: none group_type: group admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: { } + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' group: 1 exposed: true expose: - operator_id: moderation_state_1_op - label: 'Current revision moderation state' + operator_id: combine_op + label: 'Last updated by (combined)' description: '' use_operator: false - operator: moderation_state_1_op + operator: combine_op operator_limit_selection: false operator_list: { } - identifier: moderation_state_1 + identifier: combine required: false remember: false - multiple: true + multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -2622,7 +2611,15 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - reduce: false + beta_tester: '0' + placeholder: '' + autocomplete_filter: 0 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 + autocomplete_contextual: 0 is_grouped: false group_info: label: '' @@ -2635,6 +2632,10 @@ display: default_group: All default_group_multiple: { } group_items: { } + fields: + mail: mail + field_full_name: field_full_name + name: name filter_groups: operator: AND groups: From dd5f0aa528340ecc804459511d749c69fad15c5e Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 12 Mar 2024 09:18:22 -0500 Subject: [PATCH 27/52] [EPAD8-2012] Adjusting admin label for fields. Adding description for group searches. --- .../views.view.group_moderated_content.yml | 100 +++++++++--------- .../config/sync/views.view.group_nodes.yml | 9 +- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index 764e77c96e..d1aa625657 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -2480,34 +2480,34 @@ display: hierarchy: false limit: true error_message: true - moderation_state: - id: moderation_state - table: node_field_revision - field: moderation_state + combine: + id: combine + table: views + field: combine relationship: none group_type: group admin_label: '' - entity_type: node - plugin_id: moderation_state_filter - operator: in - value: { } + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' group: 1 exposed: true expose: - operator_id: moderation_state_op - label: 'Latest revision moderation state' - description: '' + operator_id: combine_op + label: 'Last updated by' + description: 'Searches username, email and full name' use_operator: false - operator: moderation_state_op + operator: combine_op operator_limit_selection: false operator_list: { } - identifier: moderation_state + identifier: combine required: false remember: false - multiple: true + multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -2515,7 +2515,15 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - reduce: false + beta_tester: '0' + placeholder: '' + autocomplete_filter: 0 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 + autocomplete_contextual: 0 is_grouped: false group_info: label: '' @@ -2528,11 +2536,15 @@ display: default_group: All default_group_multiple: { } group_items: { } - moderation_state_1: - id: moderation_state_1 - table: node_field_data + fields: + mail: mail + field_full_name: field_full_name + name: name + moderation_state: + id: moderation_state + table: node_field_revision field: moderation_state - relationship: nid + relationship: none group_type: group admin_label: '' entity_type: node @@ -2542,14 +2554,14 @@ display: group: 1 exposed: true expose: - operator_id: moderation_state_1_op - label: 'Current revision moderation state' + operator_id: moderation_state_op + label: 'Latest revision moderation state' description: '' use_operator: false - operator: moderation_state_1_op + operator: moderation_state_op operator_limit_selection: false operator_list: { } - identifier: moderation_state_1 + identifier: moderation_state required: false remember: false multiple: true @@ -2576,34 +2588,34 @@ display: default_group: All default_group_multiple: { } group_items: { } - combine: - id: combine - table: views - field: combine - relationship: none + moderation_state_1: + id: moderation_state_1 + table: node_field_data + field: moderation_state + relationship: nid group_type: group admin_label: '' - plugin_id: views_autocomplete_filters_combine - operator: allwords - value: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: { } group: 1 exposed: true expose: - operator_id: combine_op - label: 'Last updated by (combined)' + operator_id: moderation_state_1_op + label: 'Current revision moderation state' description: '' use_operator: false - operator: combine_op + operator: moderation_state_1_op operator_limit_selection: false operator_list: { } - identifier: combine + identifier: moderation_state_1 required: false remember: false - multiple: false + multiple: true remember_roles: authenticated: authenticated anonymous: '0' - paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -2611,15 +2623,7 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - beta_tester: '0' - placeholder: '' - autocomplete_filter: 0 - autocomplete_min_chars: '0' - autocomplete_items: '10' - autocomplete_raw_suggestion: 0 - autocomplete_raw_dropdown: 0 - autocomplete_dependent: 0 - autocomplete_contextual: 0 + reduce: false is_grouped: false group_info: label: '' @@ -2632,10 +2636,6 @@ display: default_group: All default_group_multiple: { } group_items: { } - fields: - mail: mail - field_full_name: field_full_name - name: name filter_groups: operator: AND groups: diff --git a/services/drupal/config/sync/views.view.group_nodes.yml b/services/drupal/config/sync/views.view.group_nodes.yml index 5117c91b93..552bef604c 100644 --- a/services/drupal/config/sync/views.view.group_nodes.yml +++ b/services/drupal/config/sync/views.view.group_nodes.yml @@ -1698,7 +1698,7 @@ display: field: field_full_name relationship: uid_1 group_type: group - admin_label: 'Revision User:Full Name' + admin_label: 'Revision User: Full Name' plugin_id: field label: 'Full Name' exclude: true @@ -1761,7 +1761,7 @@ display: field: mail relationship: uid_1 group_type: group - admin_label: 'Revision User:Email' + admin_label: 'Revision User: Email' entity_type: user entity_field: mail plugin_id: field @@ -1825,7 +1825,7 @@ display: field: name relationship: uid_1 group_type: group - admin_label: 'Revision User:Username' + admin_label: 'Revision User: Username' entity_type: user entity_field: name plugin_id: field @@ -2237,7 +2237,7 @@ display: expose: operator_id: combine_op label: 'Last Updated By' - description: '' + description: 'Searches username, email and full name' use_operator: false operator: combine_op operator_limit_selection: false @@ -2265,6 +2265,7 @@ display: autocomplete_raw_suggestion: 0 autocomplete_raw_dropdown: 0 autocomplete_dependent: 0 + autocomplete_contextual: 0 is_grouped: false group_info: label: '' From 40abe461c46fe6443ae23870c64d401883f4e035 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 12 Mar 2024 11:53:14 -0500 Subject: [PATCH 28/52] [EPAD8-2012] Adjusting order of filters, adding last update by column to Published Content group dashboard. --- .../config/sync/views.view.group_nodes.yml | 112 +++++++++--------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/services/drupal/config/sync/views.view.group_nodes.yml b/services/drupal/config/sync/views.view.group_nodes.yml index 552bef604c..e64917f041 100644 --- a/services/drupal/config/sync/views.view.group_nodes.yml +++ b/services/drupal/config/sync/views.view.group_nodes.yml @@ -1829,8 +1829,8 @@ display: entity_type: user entity_field: name plugin_id: field - label: Username - exclude: true + label: 'Last updated by' + exclude: false alter: alter_text: false text: '' @@ -2222,34 +2222,37 @@ display: default_group: All default_group_multiple: { } group_items: { } - combine: - id: combine - table: views - field: combine + field_review_deadline_value: + id: field_review_deadline_value + table: node__field_review_deadline + field: field_review_deadline_value relationship: none group_type: group - admin_label: 'Last Updated By' - plugin_id: views_autocomplete_filters_combine - operator: word - value: '' + admin_label: 'Review deadline (min)' + plugin_id: datetime + operator: '>=' + value: + min: '' + max: '' + value: '' + type: date group: 1 exposed: true expose: - operator_id: combine_op - label: 'Last Updated By' - description: 'Searches username, email and full name' + operator_id: field_review_deadline_value_op + label: 'Review Deadline (min)' + description: '' use_operator: false - operator: combine_op + operator: field_review_deadline_value_op operator_limit_selection: false operator_list: { } - identifier: combine + identifier: field_review_deadline_value required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' - paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -2257,15 +2260,10 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - beta_tester: '0' + paragraphs_library_editor: '0' + min_placeholder: '' + max_placeholder: '' placeholder: '' - autocomplete_filter: 0 - autocomplete_min_chars: '0' - autocomplete_items: '10' - autocomplete_raw_suggestion: 0 - autocomplete_raw_dropdown: 0 - autocomplete_dependent: 0 - autocomplete_contextual: 0 is_grouped: false group_info: label: '' @@ -2278,19 +2276,15 @@ display: default_group: All default_group_multiple: { } group_items: { } - fields: - field_full_name: field_full_name - mail: mail - name: name - field_review_deadline_value: - id: field_review_deadline_value + field_review_deadline_value_1: + id: field_review_deadline_value_1 table: node__field_review_deadline field: field_review_deadline_value relationship: none group_type: group - admin_label: 'Review deadline (min)' + admin_label: 'Review deadline (max)' plugin_id: datetime - operator: '>=' + operator: '<=' value: min: '' max: '' @@ -2299,14 +2293,14 @@ display: group: 1 exposed: true expose: - operator_id: field_review_deadline_value_op - label: 'Review Deadline (min)' + operator_id: field_review_deadline_value_1_op + label: 'Review Deadline (max)' description: '' use_operator: false - operator: field_review_deadline_value_op + operator: field_review_deadline_value_1_op operator_limit_selection: false operator_list: { } - identifier: field_review_deadline_value + identifier: field_review_deadline_value_1 required: false remember: false multiple: false @@ -2336,37 +2330,34 @@ display: default_group: All default_group_multiple: { } group_items: { } - field_review_deadline_value_1: - id: field_review_deadline_value_1 - table: node__field_review_deadline - field: field_review_deadline_value + combine: + id: combine + table: views + field: combine relationship: none group_type: group - admin_label: 'Review deadline (max)' - plugin_id: datetime - operator: '<=' - value: - min: '' - max: '' - value: '' - type: date + admin_label: 'Last Updated By' + plugin_id: views_autocomplete_filters_combine + operator: word + value: '' group: 1 exposed: true expose: - operator_id: field_review_deadline_value_1_op - label: 'Review Deadline (max)' - description: '' + operator_id: combine_op + label: 'Last Updated By' + description: 'Searches username, email and full name' use_operator: false - operator: field_review_deadline_value_1_op + operator: combine_op operator_limit_selection: false operator_list: { } - identifier: field_review_deadline_value_1 + identifier: combine required: false remember: false multiple: false remember_roles: authenticated: authenticated anonymous: '0' + paragraphs_library_contributor: '0' layout_editor: '0' alerts_manager: '0' block_manager: '0' @@ -2374,10 +2365,15 @@ display: system_webmaster: '0' menu_admin: '0' administrator: '0' - paragraphs_library_editor: '0' - min_placeholder: '' - max_placeholder: '' + beta_tester: '0' placeholder: '' + autocomplete_filter: 0 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 + autocomplete_contextual: 0 is_grouped: false group_info: label: '' @@ -2390,6 +2386,10 @@ display: default_group: All default_group_multiple: { } group_items: { } + fields: + field_full_name: field_full_name + mail: mail + name: name moderation_state: id: moderation_state table: node_field_data From 3489890eb1d2c57cd662d28529834dde15b366dd Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 13 Mar 2024 13:04:07 -0500 Subject: [PATCH 29/52] [EPAD8-2012] Adding author autocomplete and author column back to the Published Content admin dashboard. --- .../sync/views.view.published_content.yml | 383 +++++++++++++++++- 1 file changed, 377 insertions(+), 6 deletions(-) diff --git a/services/drupal/config/sync/views.view.published_content.yml b/services/drupal/config/sync/views.view.published_content.yml index 5f930c600a..0015970a5e 100644 --- a/services/drupal/config/sync/views.view.published_content.yml +++ b/services/drupal/config/sync/views.view.published_content.yml @@ -536,8 +536,8 @@ display: entity_type: user entity_field: name plugin_id: field - label: Name - exclude: true + label: Author + exclude: false alter: alter_text: false text: '' @@ -580,7 +580,7 @@ display: click_sort_column: value type: user_name settings: - link_to_entity: false + link_to_entity: true group_column: value group_columns: { } group_rows: true @@ -945,6 +945,8 @@ display: moderation_state: moderation_state changed: changed field_review_deadline: field_review_deadline + mail: mail + field_full_name: field_full_name name: name default: changed info: @@ -997,13 +999,27 @@ display: separator: '' empty_column: false responsive: priority-low - name: + mail: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_full_name: sortable: false default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' + name: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' override: true sticky: true summary: '' @@ -1550,11 +1566,366 @@ display: display_plugin: page position: 1 display_options: + filters: + status_1: + id: status_1 + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: status + plugin_id: boolean + operator: '=' + value: '1' + 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 + 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 + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + gid: + id: gid + table: group_content_field_data + field: gid + relationship: group_content + group_type: group + admin_label: '' + entity_type: group_content + entity_field: gid + plugin_id: entity_reference + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: gid_op + label: 'Web Area' + description: '' + use_operator: false + operator: gid_op + operator_limit_selection: false + operator_list: { } + identifier: gid + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + administrator: '0' + 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: { } + reduce_duplicates: false + handler: 'default:group' + widget: autocomplete + handler_settings: + target_bundles: + web_area: web_area + sort: + field: _none + direction: ASC + auto_create: false + auto_create_bundle: '' + type: + id: type + 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: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: 'Content type' + description: '' + use_operator: false + operator: type_op + operator_limit_selection: false + operator_list: { } + identifier: type + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + 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: { } + field_owning_office_target_id: + id: field_owning_office_target_id + table: node__field_owning_office + field: field_owning_office_target_id + relationship: none + group_type: group + admin_label: '' + plugin_id: taxonomy_index_tid + operator: or + value: { } + group: 1 + exposed: true + expose: + operator_id: field_owning_office_target_id_op + label: 'Owning Office' + description: '' + use_operator: false + operator: field_owning_office_target_id_op + operator_limit_selection: false + operator_list: { } + identifier: field_owning_office_target_id + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + 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: { } + reduce_duplicates: false + vid: epa_organization + type: textfield + hierarchy: false + limit: true + error_message: true + combine: + id: combine + table: views + field: combine + relationship: none + group_type: group + admin_label: Author + plugin_id: views_autocomplete_filters_combine + operator: allwords + value: '' + group: 1 + exposed: true + expose: + operator_id: combine_op + label: Author + description: '' + use_operator: false + operator: combine_op + operator_limit_selection: false + operator_list: { } + identifier: combine + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + paragraphs_library_contributor: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + beta_tester: '0' + placeholder: '' + autocomplete_filter: 1 + autocomplete_min_chars: '0' + autocomplete_items: '10' + autocomplete_raw_suggestion: 0 + autocomplete_raw_dropdown: 0 + autocomplete_dependent: 0 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + fields: + mail: mail + field_full_name: field_full_name + name: name + moderation_state: + id: moderation_state + table: node_field_data + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: + epa_default-published: epa_default-published + epa_default-published_needs_review: epa_default-published_needs_review + epa_default-published_expiring: epa_default-published_expiring + epa_default-published_day_til_expire: epa_default-published_day_til_expire + group: 1 + exposed: true + expose: + operator_id: moderation_state_op + label: 'Moderation state' + description: '' + use_operator: false + operator: moderation_state_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + layout_editor: '0' + alerts_manager: '0' + block_manager: '0' + system_editor: '0' + system_webmaster: '0' + menu_admin: '0' + administrator: '0' + reduce: true + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND defaults: relationships: false fields: true - filters: true - filter_groups: true + filters: false + filter_groups: false relationships: uid: id: uid From 663ee1b5a22621f6cba09814490c8d13ba7fb6d9 Mon Sep 17 00:00:00 2001 From: julianamincey Date: Wed, 27 Mar 2024 17:46:07 -0400 Subject: [PATCH 30/52] EPAD8-2391 [BED] Disable coffee module --- services/drupal/config/sync/coffee.configuration.yml | 5 ----- services/drupal/config/sync/core.extension.yml | 1 - services/drupal/config/sync/user.role.authenticated.yml | 2 -- 3 files changed, 8 deletions(-) delete mode 100644 services/drupal/config/sync/coffee.configuration.yml diff --git a/services/drupal/config/sync/coffee.configuration.yml b/services/drupal/config/sync/coffee.configuration.yml deleted file mode 100644 index 9948edc1c0..0000000000 --- a/services/drupal/config/sync/coffee.configuration.yml +++ /dev/null @@ -1,5 +0,0 @@ -_core: - default_config_hash: cOqVnz_7pbb_0R31nQwih4Gh8XkmIbyFagFp6uUPaOc -coffee_menus: - admin: admin -max_results: 7 diff --git a/services/drupal/config/sync/core.extension.yml b/services/drupal/config/sync/core.extension.yml index 4adbcb0316..2c5fd44218 100644 --- a/services/drupal/config/sync/core.extension.yml +++ b/services/drupal/config/sync/core.extension.yml @@ -31,7 +31,6 @@ module: ckeditor_resize: 0 ckeditor_specialchars: 0 cloudfront_cache_path_invalidate: 0 - coffee: 0 components: 0 config_filter: 0 config_ignore: 0 diff --git a/services/drupal/config/sync/user.role.authenticated.yml b/services/drupal/config/sync/user.role.authenticated.yml index c235460c6d..7d95a84c55 100644 --- a/services/drupal/config/sync/user.role.authenticated.yml +++ b/services/drupal/config/sync/user.role.authenticated.yml @@ -22,7 +22,6 @@ dependencies: module: - actions_permissions - admin_toolbar_search - - coffee - content_moderation - content_moderation_revert - contextual @@ -54,7 +53,6 @@ weight: -9 is_admin: false permissions: - 'access administration pages' - - 'access coffee' - 'access content' - 'access content overview' - 'access contextual links' From 2beb7207a118e8999cbec10cf03cdcc1e701161a Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 4 Apr 2024 12:30:50 -0500 Subject: [PATCH 31/52] [EPAD8-2249] Adjusting bug with calling invalid method for media items. --- .../src/Plugin/Action/UpdateGroupAssociationBase.php | 4 ++-- .../src/Plugin/Action/UpdateNodeGroupAssociation.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index d184ac1104..b2b880c47b 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -209,7 +209,7 @@ public function execute($entity = NULL) { $group_content->get('gid')->setValue($this->configuration['updated_group']); $group_content->save(); } - $title = $entity instanceof NodeInterface ? $entity->getTitle() : $entity->name(); + $title = $entity instanceof NodeInterface ? $entity->getTitle() : $entity->getName(); return UpdateGroupAssociationBase::SUCCESS . "|$title|{$group_content->getGroup()->label()}"; } else { @@ -223,7 +223,7 @@ public function execute($entity = NULL) { ]; // Means it was never associated with a group $group_content = GroupContent::create($values)->save(); - $title = $entity instanceof NodeInterface ? $entity->getTitle() : $entity->name(); + $title = $entity instanceof NodeInterface ? $entity->getTitle() : $entity->getName(); return UpdateGroupAssociationBase::SUCCESS . "|$title|{$group_content->getGroup()->label()}"; } } diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php index df85514676..a9afcc95a0 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateNodeGroupAssociation.php @@ -21,7 +21,7 @@ * * @Action( * id = "epa_web_areas_update_node_group_association", - * label = @Translation("Change Web Area association of nodes"), + * label = @Translation("Change Web Area association of Nodes"), * type = "node", * category = @Translation("Custom") * ) From 1ba5b1931887f94798dce0a88e84f3387f6b1b39 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 4 Apr 2024 13:33:52 -0500 Subject: [PATCH 32/52] [EPAD8-2249] Adjusting logic of messaging to prevent duplicate messages from showing. --- .../Action/UpdateGroupAssociationBase.php | 61 +++++++++---------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index b2b880c47b..93321eac39 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -282,7 +282,7 @@ public static function finished($success, array $results, array $operations): ?R } $config_denied_string = "Denied: Unable to move @items as we don't allow changing the Web Area for @bundle content type."; - $denied_string = 'Denied: Unable to move @items as as you do not have access to content within the @web_areas Web Area(s)'; + $denied_string = 'Denied: Unable to move @items as you do not have access to content within the @web_areas Web Area(s)'; $special_denied_string = "Denied: Unable to move @items as the target Web Area does not support @bundle content type."; $success_string = "Success: Moved @items to the @web_areas Web Area. Review the menu links from the previously associated Web Area."; foreach($separated as $issue_type => $issues) { @@ -320,36 +320,35 @@ public static function finished($success, array $results, array $operations): ?R * The result items after the bulk update. */ public static function processMessages($key, $message, array $results) { - foreach ($results as $type => $individual_group) { - $first_five = array_slice($individual_group, 0, 5); - $items = implode(', ', $first_five); - $items_message = rtrim($items, ', '); - - if (count($individual_group) > 5) { - $total_remaining = count($individual_group) - 5; - $items_message .= " and $total_remaining more..."; - } - $bundle = array_keys($results); - $bundle = implode(", ", $bundle); - $bundle = rtrim($bundle); - - // Based on message type display error or success message. - switch ($key) { - case UpdateGroupAssociationBase::DENIED: - $message = str_replace(['@items', '@web_areas'], [$items_message, $bundle], $message); - self::message($message, 'error'); - break; - case UpdateGroupAssociationBase::CONFIG_DENIED: - case UpdateGroupAssociationBase::SPECIAL_DENIED: - $message = str_replace(['@items', '@bundle'], [$items_message, $bundle], $message); - self::message($message, 'error'); - break; - case UpdateGroupAssociationBase::SUCCESS: - $message = str_replace(['@items', '@web_areas'], [$items_message, $bundle], $message); - self::message($message); - break; - } + $all = array_values($results); + $flattened = array_merge(...$all); + $first_five_values = array_splice($flattened, 0, 5); + $bundle = array_keys($results); + $bundle = implode(", ", $bundle); + $bundle = rtrim($bundle); + + $items = implode(', ', $first_five_values); + $items_message = rtrim($items, ', '); + if (count($results) > 5) { + $total_remaining = count($results) - 5; + $items_message .= " and $total_remaining more..."; } - } + // Based on message type display error or success message. + switch ($key) { + case UpdateGroupAssociationBase::DENIED: + $message = str_replace(['@items', '@web_areas'], [$items_message, $bundle], $message); + self::message($message, 'error'); + break; + case UpdateGroupAssociationBase::CONFIG_DENIED: + case UpdateGroupAssociationBase::SPECIAL_DENIED: + $message = str_replace(['@items', '@bundle'], [$items_message, $bundle], $message); + self::message($message, 'error'); + break; + case UpdateGroupAssociationBase::SUCCESS: + $message = str_replace(['@items', '@web_areas'], [$items_message, $bundle], $message); + self::message($message); + break; + } + } } From 8adddbbf9172d6f9a7b3a4b050c4a52b5da1e91a Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 10 Apr 2024 15:21:45 -0500 Subject: [PATCH 33/52] [EPAD8-2249] Fixing issue where object was assumed to be a node. --- .../src/Plugin/Action/UpdateGroupAssociationBase.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index 93321eac39..92bc587820 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -165,7 +165,8 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj $group = Group::load($this->configuration['updated_group']); // $object is not allowed based on config. if ($config->get($object->getEntityTypeId()) && !in_array($object->bundle(), $config->get($object->getEntityTypeId()))) { - return $return_as_object ? new AccessResultForbidden(UpdateGroupAssociationBase::CONFIG_DENIED . "|{$object->getTitle()}|{$bundle->label()}") : FALSE; + $title = $object->getEntityTypeId() == 'media' ? $object->getName() : $object->getTitle(); + return $return_as_object ? new AccessResultForbidden(UpdateGroupAssociationBase::CONFIG_DENIED . "|$title|{$bundle->label()}") : FALSE; } // News Releases, Perspectives, and Speeches & Remarks are special in that @@ -189,7 +190,8 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj $gc_item = reset($group_contents); $access = $object->access('update', $account, TRUE); if ($access instanceof AccessResultForbidden) { - $access->setReason(UpdateGroupAssociationBase::DENIED . "|{$object->getTitle()}|{$gc_item->getGroup()->label()}"); + $title = $object->getEntityTypeId() == 'media' ? $object->getName() : $object->getTitle(); + $access->setReason(UpdateGroupAssociationBase::DENIED . "|{$title}|{$gc_item->getGroup()->label()}"); } return $return_as_object ? $access : $access->isAllowed(); } @@ -219,7 +221,7 @@ public function execute($entity = NULL) { 'gid' => $this->configuration['updated_group'], 'entity_id' => $entity->id(), 'entity_type' => $entity->getEntityTypeId(), - 'label' => $entity->getEntityTypeId() == 'node' ? $entity->getTitle() : $entity->label(), + 'label' => $entity->getEntityTypeId() == 'node' ? $entity->getTitle() : $entity->getName(), ]; // Means it was never associated with a group $group_content = GroupContent::create($values)->save(); From 7e9de64930b4621615930d91bb2cfda3dfaeb221 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 10 Apr 2024 15:22:08 -0500 Subject: [PATCH 34/52] [EPAD8-2249] Fixing issue where object was assumed to be a node. --- .../src/Plugin/Action/UpdateGroupAssociationBase.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index 92bc587820..df7b025f18 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -165,7 +165,7 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj $group = Group::load($this->configuration['updated_group']); // $object is not allowed based on config. if ($config->get($object->getEntityTypeId()) && !in_array($object->bundle(), $config->get($object->getEntityTypeId()))) { - $title = $object->getEntityTypeId() == 'media' ? $object->getName() : $object->getTitle(); + $title = $object->getEntityTypeId() == 'node' ? $object->getTitle() : $object->getName(); return $return_as_object ? new AccessResultForbidden(UpdateGroupAssociationBase::CONFIG_DENIED . "|$title|{$bundle->label()}") : FALSE; } @@ -190,7 +190,7 @@ public function access($object, AccountInterface $account = NULL, $return_as_obj $gc_item = reset($group_contents); $access = $object->access('update', $account, TRUE); if ($access instanceof AccessResultForbidden) { - $title = $object->getEntityTypeId() == 'media' ? $object->getName() : $object->getTitle(); + $title = $object->getEntityTypeId() == 'node' ? $object->getTitle() : $object->getName(); $access->setReason(UpdateGroupAssociationBase::DENIED . "|{$title}|{$gc_item->getGroup()->label()}"); } return $return_as_object ? $access : $access->isAllowed(); From 54f6d69f291f429fb337b80efe3d4aab25a328d5 Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Thu, 11 Apr 2024 22:00:16 -0600 Subject: [PATCH 35/52] EPAD8-2356 remove report violation box and styles from code base --- .../_patterns/05-components/box/_index.scss | 1 - .../_box--report-violation.scss | 35 ------------------- .../box--report-violation.md | 25 ------------- .../box--report-violation.twig | 12 ------- .../box--report-violation.yml | 19 ---------- 5 files changed, 92 deletions(-) delete mode 100644 services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/_box--report-violation.scss delete mode 100644 services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.md delete mode 100644 services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.twig delete mode 100644 services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.yml diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/_index.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/_index.scss index 4d8f32fc4a..f61baf33c4 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/_index.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/_index.scss @@ -5,6 +5,5 @@ @forward 'box--multipurpose/box--multipurpose'; @forward 'box--news/box--news'; @forward 'box--related-info/box--related-info'; -@forward 'box--report-violation/box--report-violation'; @forward 'box--rss/box--rss'; @forward 'box--special/box--special'; diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/_box--report-violation.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/_box--report-violation.scss deleted file mode 100644 index 645a800687..0000000000 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/_box--report-violation.scss +++ /dev/null @@ -1,35 +0,0 @@ -// @file -// Styles for a Report a Violation Box. - -@use '../../../00-config' as *; -@use '../box' as *; - -$image-height: 76px; -$image-width: 75px; - -.box--report-violation { - background-image: url('../images/report-a-violation.png'); - background-repeat: no-repeat; - min-height: rem($image-height); - padding-top: rem($image-height) + gesso-spacing(2); - - @include breakpoint(240px) { - padding-left: rem($image-width) + gesso-spacing(2); - padding-top: 0; - } - - @include breakpoint(gesso-breakpoint(tablet)) { - &.u-align-left, - &.u-align-right { - width: rem(300px); - } - } - - > .box__title { - font-weight: gesso-font-weight(bold); - } - - > .box__content { - font-size: 80%; - } -} diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.md b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.md deleted file mode 100644 index e607759eeb..0000000000 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -el: .box--report-violation -title: Report a Violation Box -state: complete ---- - -__Variables:__ -* modifier_classes: [string] Classes to modify the default component styling. -* title: [array] Title properties. - * tag: [string] HTML element used to wrap the title. - * url: [string] URL for title link. - * icon: [string] Name of icon to the left of the title. - * text: [string] Title text. -* img: [array] Image properties. - * small: [array] Small image properties. - * src: [string] Small image source. - * alt: [string] Alt text for image. - * medium: [array] Medium image properties. - * src: [string] Medium image source. -* image: [string] Responsive image. -* content: [object] Content of the box. -* footer: [array] Footer properties. - * url: [string] URL for footer link. - * icon: [string] Name of icon to the left of the footer text. - * text: [string] Footer text. diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.twig b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.twig deleted file mode 100644 index 0f135c4d1b..0000000000 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.twig +++ /dev/null @@ -1,12 +0,0 @@ -{% set classes = [ - 'box--report-violation', - modifier_classes ? modifier_classes, -]|join(' ')|trim %} - -{% include '@components/box/box.twig' with { - 'modifier_classes': classes, - 'title': title, - 'image': image, - 'content': content, - 'footer': footer, -} %} diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.yml b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.yml deleted file mode 100644 index 170c1bc6f7..0000000000 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--report-violation/box--report-violation.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -modifier_classes: '' -title: - tag: 'div' - text: 'Report a Violation' - url: '/enforcement/report-environmental-violations' - icon: '' -img: - small: - src: '' - alt: '' - medium: - src: '' -content: |- -

Report possible violations of environmental laws and regulations.

-footer: - text: '' - url: '#' - icon: '' From 4a70fca654c5dc89748854202214c0a7e25ed761 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 12 Apr 2024 08:38:31 -0500 Subject: [PATCH 36/52] [EPAD8-2012] Updating the last updated by filter to not be an autocomplete. --- .../drupal/config/sync/views.view.group_moderated_content.yml | 2 +- services/drupal/config/sync/views.view.moderated_content.yml | 4 ++-- services/drupal/config/sync/views.view.published_content.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index d1aa625657..df03e3f8de 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -2486,7 +2486,7 @@ display: field: combine relationship: none group_type: group - admin_label: '' + admin_label: 'Last updated by' plugin_id: views_autocomplete_filters_combine operator: allwords value: '' diff --git a/services/drupal/config/sync/views.view.moderated_content.yml b/services/drupal/config/sync/views.view.moderated_content.yml index ce3a0840f9..1f27cf7902 100644 --- a/services/drupal/config/sync/views.view.moderated_content.yml +++ b/services/drupal/config/sync/views.view.moderated_content.yml @@ -1400,7 +1400,7 @@ display: administrator: '0' beta_tester: '0' placeholder: '' - autocomplete_filter: 1 + autocomplete_filter: 0 autocomplete_min_chars: '0' autocomplete_items: '10' autocomplete_raw_suggestion: 0 @@ -4795,7 +4795,7 @@ display: administrator: '0' beta_tester: '0' placeholder: '' - autocomplete_filter: 1 + autocomplete_filter: 0 autocomplete_min_chars: '0' autocomplete_items: '10' autocomplete_raw_suggestion: 0 diff --git a/services/drupal/config/sync/views.view.published_content.yml b/services/drupal/config/sync/views.view.published_content.yml index 0015970a5e..351ac71611 100644 --- a/services/drupal/config/sync/views.view.published_content.yml +++ b/services/drupal/config/sync/views.view.published_content.yml @@ -1843,7 +1843,7 @@ display: administrator: '0' beta_tester: '0' placeholder: '' - autocomplete_filter: 1 + autocomplete_filter: 0 autocomplete_min_chars: '0' autocomplete_items: '10' autocomplete_raw_suggestion: 0 From 57c0df5d58d3bb3bada193ca082f401a2b72e274 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 12 Apr 2024 09:51:32 -0500 Subject: [PATCH 37/52] [EPAD8-2403] Adding fixed block for footer language bar. --- ...ent.fixed_block_content.footer_language_bar.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 services/drupal/config/sync/fixed_block_content.fixed_block_content.footer_language_bar.yml diff --git a/services/drupal/config/sync/fixed_block_content.fixed_block_content.footer_language_bar.yml b/services/drupal/config/sync/fixed_block_content.fixed_block_content.footer_language_bar.yml new file mode 100644 index 0000000000..f7ec491cb8 --- /dev/null +++ b/services/drupal/config/sync/fixed_block_content.fixed_block_content.footer_language_bar.yml @@ -0,0 +1,14 @@ +uuid: 6871ca9d-4c33-4889-bc5e-c60ce998899a +langcode: en +status: true +dependencies: + config: + - block_content.type.custom_html + content: + - 'block_content:custom_html:775319d5-c60f-4ee0-961f-f2a56e9b850e' +id: footer_language_bar +title: 'Footer language bar' +block_content_bundle: custom_html +default_content: '{"_links":{"self":{"href":"https:\/\/epa.ddev.site\/block\/250088?_format=hal_json"},"type":{"href":"http:\/\/fixed_block_content.drupal.org\/rest\/type\/block_content\/custom_html"},"http:\/\/fixed_block_content.drupal.org\/rest\/relation\/block_content\/custom_html\/revision_user":[{"href":"https:\/\/epa.ddev.site\/user\/1?_format=hal_json"}]},"langcode":[{"value":"en","lang":"en"}],"type":[{"target_id":"custom_html"}],"_embedded":{"http:\/\/fixed_block_content.drupal.org\/rest\/relation\/block_content\/custom_html\/revision_user":[{"_links":{"self":{"href":"https:\/\/epa.ddev.site\/user\/1?_format=hal_json"},"type":{"href":"http:\/\/fixed_block_content.drupal.org\/rest\/type\/user\/user"}},"uuid":[{"value":"4d920095-c6ce-4c2f-818d-ecc78d491423"}]}]},"status":[{"value":true,"lang":"en"}],"info":[{"value":"Footer language bar","lang":"en"}],"reusable":[{"value":true}],"default_langcode":[{"value":true,"lang":"en"}],"revision_translation_affected":[{"value":true,"lang":"en"}],"metatag":[{"value":{"canonical_url":"https:\/\/epa.ddev.site\/block\/250088","shortlink":"https:\/\/epa.ddev.site\/block\/250088","title":"| US EPA","og_site_name":"US EPA","og_url":"https:\/\/epa.ddev.site\/block\/250088","og_image_0":"https:\/\/epa.ddev.site\/sites\/all\/themes\/epa\/img\/epa-standard-og.jpg","og_image_width":"1200","og_image_height":"630","og_image_alt":"U.S. Environmental Protection Agency","twitter_cards_type":"summary_large_image","twitter_cards_image_alt":"U.S. Environmental Protection Agency","twitter_cards_image_height":"600","twitter_cards_image_width":"1200","twitter_cards_image":"https:\/\/epa.ddev.site\/sites\/all\/themes\/epa\/img\/epa-standard-twitter.jpg"}}],"body":[{"value":"\u003Cul class=\u0022list list--footer-language-bar\u0022\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance\u0022\u003EAssistance\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#esp\u0022\u003EAyuda\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#ar\u0022\u003E\u0645\u0633\u0627\u0639\u062f\u0629\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#chi-s\u0022\u003E\u5e2e\u52a9 (\u7b80\u4f53\u7248)\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#chi-tr\u0022\u003E\u5e6b\u52a9 (\u7e41\u9ad4\u7248)\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#fr\u0022\u003EAide\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#hc\u0022\u003EAsistans\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#kor\u0022\u003E\uc9c0\uc6d0\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#port\u0022\u003EAssist\u00eancia\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#rus\u0022\u003E\u041f\u043e\u043c\u043e\u0449\u044c\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#tag\u0022\u003ETulong\u003C\/a\u003E\u003C\/li\u003E\r\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#viet\u0022\u003ETr\u1ee3 Gi\u00fap\u003C\/a\u003E\u003C\/li\u003E\r\n\u003C\/ul\u003E","format":"full_html","processed":"\u003Cul class=\u0022list list--footer-language-bar\u0022\u003E\u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance\u0022\u003EAssistance\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#esp\u0022\u003EAyuda\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#ar\u0022\u003E\u0645\u0633\u0627\u0639\u062f\u0629\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#chi-s\u0022\u003E\u5e2e\u52a9 (\u7b80\u4f53\u7248)\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#chi-tr\u0022\u003E\u5e6b\u52a9 (\u7e41\u9ad4\u7248)\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#fr\u0022\u003EAide\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#hc\u0022\u003EAsistans\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#kor\u0022\u003E\uc9c0\uc6d0\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#port\u0022\u003EAssist\u00eancia\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#rus\u0022\u003E\u041f\u043e\u043c\u043e\u0449\u044c\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#tag\u0022\u003ETulong\u003C\/a\u003E\u003C\/li\u003E\n \u003Cli\u003E\u003Ca href=\u0022https:\/\/www.epa.gov\/lep\/assistance#viet\u0022\u003ETr\u1ee3 Gi\u00fap\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E","summary":"","lang":"en"}]}' +auto_export: 1 +protected: false From 2a57d38844abfc5f213a7d789403d0fbef8d77f1 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 12 Apr 2024 09:55:49 -0500 Subject: [PATCH 38/52] [EPAD8-2403] Adding footer language bar fixed block to footer region. --- .../sync/block.block.footerlanguagebar.yml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 services/drupal/config/sync/block.block.footerlanguagebar.yml diff --git a/services/drupal/config/sync/block.block.footerlanguagebar.yml b/services/drupal/config/sync/block.block.footerlanguagebar.yml new file mode 100644 index 0000000000..3503b10945 --- /dev/null +++ b/services/drupal/config/sync/block.block.footerlanguagebar.yml @@ -0,0 +1,23 @@ +uuid: 43ef2b86-96d9-4a31-9b88-e7daebdcca79 +langcode: en +status: true +dependencies: + config: + - fixed_block_content.fixed_block_content.footer_language_bar + module: + - fixed_block_content + theme: + - epa_theme +id: footerlanguagebar +theme: epa_theme +region: footer +weight: 0 +provider: null +plugin: 'fixed_block_content:footer_language_bar' +settings: + id: 'fixed_block_content:footer_language_bar' + label: 'Footer language bar' + label_display: '0' + provider: fixed_block_content + view_mode: '' +visibility: { } From 876826fe225b9664319eaa38296b710819340627 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 12 Apr 2024 09:56:33 -0500 Subject: [PATCH 39/52] [EPAD8-2408] Preventing CKEditor 5 test from being used in blocks as there's some sort of error in just having it enabled. --- .../field.field.block_content.custom_html.body.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/services/drupal/config/sync/field.field.block_content.custom_html.body.yml b/services/drupal/config/sync/field.field.block_content.custom_html.body.yml index b27e413fae..34ef2d3bb6 100644 --- a/services/drupal/config/sync/field.field.block_content.custom_html.body.yml +++ b/services/drupal/config/sync/field.field.block_content.custom_html.body.yml @@ -6,12 +6,18 @@ dependencies: - block_content.type.custom_html - field.storage.block_content.body module: - - custom_add_another + - allowed_formats - text third_party_settings: - custom_add_another: - custom_add_another: '' - custom_remove: '' + allowed_formats: + allowed_formats: + - filtered_html + - full_html + - inline + - restricted_html + - restricted_html_no_links + - unprocessed + - plain_text id: block_content.custom_html.body field_name: body entity_type: block_content From e89348a790244c78a44efac03329990261d37f3f Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 12 Apr 2024 12:29:19 -0500 Subject: [PATCH 40/52] [EPAD8-2403] Adding new pre-footer region to our theme. --- services/drupal/web/themes/epa_theme/epa_theme.info.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/services/drupal/web/themes/epa_theme/epa_theme.info.yml b/services/drupal/web/themes/epa_theme/epa_theme.info.yml index d96d5e3f56..29a0d6c96a 100644 --- a/services/drupal/web/themes/epa_theme/epa_theme.info.yml +++ b/services/drupal/web/themes/epa_theme/epa_theme.info.yml @@ -45,6 +45,7 @@ regions: title: Title content: Content sidebar: Sidebar + pre_footer: 'Pre-Footer' footer: Footer disabled: Disabled page_bottom: 'Page bottom' From 9ec7494077798ab0d656e03ee72773d5475eac19 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 12 Apr 2024 12:29:48 -0500 Subject: [PATCH 41/52] [EPAD8-2403] Modifying page and footer templates to account for new 'pre-footer' region and content. --- .../source/_patterns/05-components/footer/footer.twig | 5 +++++ .../web/themes/epa_theme/templates/layout/page.html.twig | 3 +++ 2 files changed, 8 insertions(+) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/footer/footer.twig b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/footer/footer.twig index 3847636fbc..126f229886 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/footer/footer.twig +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/footer/footer.twig @@ -5,6 +5,11 @@