diff --git a/modules/localgov_services_page/config/install/core.entity_form_display.node.localgov_services_page.default.yml b/modules/localgov_services_page/config/install/core.entity_form_display.node.localgov_services_page.default.yml index 8214731..59e1f96 100644 --- a/modules/localgov_services_page/config/install/core.entity_form_display.node.localgov_services_page.default.yml +++ b/modules/localgov_services_page/config/install/core.entity_form_display.node.localgov_services_page.default.yml @@ -6,7 +6,6 @@ dependencies: - field.field.node.localgov_services_page.localgov_common_tasks - field.field.node.localgov_services_page.localgov_download_links - field.field.node.localgov_services_page.localgov_hide_related_topics - - field.field.node.localgov_services_page.localgov_override_related_links - field.field.node.localgov_services_page.localgov_page_components - field.field.node.localgov_services_page.localgov_related_links - field.field.node.localgov_services_page.localgov_services_parent @@ -56,7 +55,6 @@ third_party_settings: children: - localgov_hide_related_topics - localgov_topic_classified - - localgov_override_related_links - localgov_related_links label: 'Related content' region: content @@ -120,13 +118,6 @@ content: settings: display_label: true third_party_settings: { } - localgov_override_related_links: - type: boolean_checkbox - weight: 10 - region: content - settings: - display_label: true - third_party_settings: { } localgov_page_components: type: entity_browser_entity_reference weight: 10 diff --git a/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.default.yml b/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.default.yml index d897eca..c95ba0a 100644 --- a/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.default.yml +++ b/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.default.yml @@ -6,7 +6,6 @@ dependencies: - field.field.node.localgov_services_page.localgov_common_tasks - field.field.node.localgov_services_page.localgov_download_links - field.field.node.localgov_services_page.localgov_hide_related_topics - - field.field.node.localgov_services_page.localgov_override_related_links - field.field.node.localgov_services_page.localgov_page_components - field.field.node.localgov_services_page.localgov_related_links - field.field.node.localgov_services_page.localgov_topic_classified @@ -40,7 +39,6 @@ hidden: localgov_common_tasks: true localgov_download_links: true localgov_hide_related_topics: true - localgov_override_related_links: true localgov_related_links: true localgov_topic_classified: true links: true diff --git a/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.search_index.yml b/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.search_index.yml index a5f9b91..1493b0f 100644 --- a/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.search_index.yml +++ b/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.search_index.yml @@ -7,7 +7,6 @@ dependencies: - field.field.node.localgov_services_page.localgov_common_tasks - field.field.node.localgov_services_page.localgov_download_links - field.field.node.localgov_services_page.localgov_hide_related_topics - - field.field.node.localgov_services_page.localgov_override_related_links - field.field.node.localgov_services_page.localgov_page_components - field.field.node.localgov_services_page.localgov_related_links - field.field.node.localgov_services_page.localgov_services_parent @@ -93,5 +92,4 @@ content: hidden: links: true localgov_hide_related_topics: true - localgov_override_related_links: true search_api_excerpt: true diff --git a/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.search_result.yml b/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.search_result.yml index 80e425b..6bb984b 100644 --- a/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.search_result.yml +++ b/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.search_result.yml @@ -7,7 +7,6 @@ dependencies: - field.field.node.localgov_services_page.localgov_common_tasks - field.field.node.localgov_services_page.localgov_download_links - field.field.node.localgov_services_page.localgov_hide_related_topics - - field.field.node.localgov_services_page.localgov_override_related_links - field.field.node.localgov_services_page.localgov_page_components - field.field.node.localgov_services_page.localgov_related_links - field.field.node.localgov_services_page.localgov_services_parent @@ -32,7 +31,6 @@ hidden: localgov_common_tasks: true localgov_download_links: true localgov_hide_related_topics: true - localgov_override_related_links: true localgov_page_components: true localgov_related_links: true localgov_services_parent: true diff --git a/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.teaser.yml b/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.teaser.yml index 7c556d2..db3475c 100644 --- a/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.teaser.yml +++ b/modules/localgov_services_page/config/install/core.entity_view_display.node.localgov_services_page.teaser.yml @@ -7,7 +7,6 @@ dependencies: - field.field.node.localgov_services_page.localgov_common_tasks - field.field.node.localgov_services_page.localgov_download_links - field.field.node.localgov_services_page.localgov_hide_related_topics - - field.field.node.localgov_services_page.localgov_override_related_links - field.field.node.localgov_services_page.localgov_page_components - field.field.node.localgov_services_page.localgov_related_links - field.field.node.localgov_services_page.localgov_topic_classified @@ -33,7 +32,6 @@ hidden: localgov_common_tasks: true localgov_download_links: true localgov_hide_related_topics: true - localgov_override_related_links: true localgov_page_components: true localgov_related_links: true localgov_topic_classified: true diff --git a/modules/localgov_services_page/config/install/field.field.node.localgov_services_page.localgov_override_related_links.yml b/modules/localgov_services_page/config/install/field.field.node.localgov_services_page.localgov_override_related_links.yml deleted file mode 100644 index 29e4f20..0000000 --- a/modules/localgov_services_page/config/install/field.field.node.localgov_services_page.localgov_override_related_links.yml +++ /dev/null @@ -1,22 +0,0 @@ -langcode: en -status: true -dependencies: - config: - - field.storage.node.localgov_override_related_links - - node.type.localgov_services_page -id: node.localgov_services_page.localgov_override_related_links -field_name: localgov_override_related_links -entity_type: node -bundle: localgov_services_page -label: 'Replace automatically generated links' -description: '' -required: false -translatable: false -default_value: - - - value: 0 -default_value_callback: '' -settings: - on_label: 'On' - off_label: 'Off' -field_type: boolean diff --git a/modules/localgov_services_page/config/install/field.storage.node.localgov_override_related_links.yml b/modules/localgov_services_page/config/install/field.storage.node.localgov_override_related_links.yml deleted file mode 100644 index ecde17f..0000000 --- a/modules/localgov_services_page/config/install/field.storage.node.localgov_override_related_links.yml +++ /dev/null @@ -1,17 +0,0 @@ -langcode: und -status: true -dependencies: - module: - - node -id: node.localgov_override_related_links -field_name: localgov_override_related_links -entity_type: node -type: boolean -settings: { } -module: core -locked: false -cardinality: 1 -translatable: true -indexes: { } -persist_with_no_fields: false -custom_storage: false diff --git a/modules/localgov_services_page/src/Plugin/Block/ServicesRelatedLinksBlock.php b/modules/localgov_services_page/src/Plugin/Block/ServicesRelatedLinksBlock.php index fde2f17..75482cb 100644 --- a/modules/localgov_services_page/src/Plugin/Block/ServicesRelatedLinksBlock.php +++ b/modules/localgov_services_page/src/Plugin/Block/ServicesRelatedLinksBlock.php @@ -5,8 +5,6 @@ use Drupal\Core\Plugin\ContainerFactoryPluginInterface; use Drupal\Core\Url; use Drupal\localgov_services\Plugin\Block\ServicesBlockBase; -use Drupal\node\Entity\Node; -use Drupal\taxonomy\TermInterface; /** * Provides a 'Services Related Links Block' block. @@ -23,12 +21,12 @@ class ServicesRelatedLinksBlock extends ServicesBlockBase implements ContainerFa /** * {@inheritdoc} */ - public function build() { + public function build(): array { $build = []; - $links = $this->getShouldUseManual() ? $this->buildManual() : $this->buildAutomated(); + $links = $this->displayLinks() ? $this->getLinks() : []; - if ($links) { + if (count($links)) { $build[] = [ '#theme' => 'services_related_links_block', '#links' => $links, @@ -44,7 +42,7 @@ public function build() { * @return array * Array of links. */ - private function buildManual() { + private function getLinks(): array { $links = []; if ($this->node->hasField('localgov_related_links')) { @@ -62,95 +60,20 @@ private function buildManual() { } /** - * Automatically builds a list of links based on the most relevant pages. + * Legacy: Decide if we should use a manual override. * - * @todo Decide how the automated link generation should work. - * - * @return array - * Array of links. - */ - private function buildAutomated() { - // Return an empty array for the time being. - return []; - - // @codingStandardsIgnoreStart - // Convert topics field into an array we can use in the query. - $topics = []; - - foreach ($this->getTopics() as $topic) { - $topics[] = $topic->id(); - } - - if ($topics) { - // Perform our query. - $query = $this->database->query('SELECT entity_id FROM node__localgov_topic_classified - LEFT JOIN node_field_data ON node_field_data.nid=node__localgov_topic_classified.entity_id - WHERE node__localgov_topic_classified.entity_id != :nid - AND node__localgov_topic_classified.localgov_topic_classified_target_id IN (:tids[]) - AND node_field_data.status=1 - GROUP BY node__localgov_topic_classified.entity_id - ORDER BY count(*) desc - LIMIT 6;', - [ - ':nid' => $this->node->id(), - ':tids[]' => $topics, - ] - ); - - $list = []; - foreach ($query->fetchAll() as $result) { - $node = Node::load($result->entity_id); - $list[] = [ - 'title' => $node->getTitle(), - 'url' => $node->toUrl(), - ]; - } - - return $list; - } - - return []; - // @codingStandardsIgnoreEnd - } - - /** - * Decide if we should use a manual override. + * Field has been removed from new installs. + * https://github.com/localgovdrupal/localgov_services/pull/291 * * @return bool * Should manual links be displayed? */ - private function getShouldUseManual() { + private function displayLinks(): bool { if ($this->node->hasField('localgov_override_related_links') && !$this->node->get('localgov_override_related_links')->isEmpty()) { return $this->node->get('localgov_override_related_links')->first()->getValue()['value']; } - return FALSE; - } - - /** - * Build links array for the related topics block. - * - * @return array - * Array of topics. - */ - private function getTopics() { - $topics = []; - - if ($this->node->hasField('localgov_topic_classified')) { - - /** @var \Drupal\taxonomy\TermInterface $term_info */ - foreach ($this->node->get('localgov_topic_classified')->getValue() as $term_info) { - $topicEntity = $this->entityTypeManager->getStorage('taxonomy_term')->load($term_info['target_id']); - - // Add topic only if an actual taxonomy term, - // deleted topics can return NULL if still present on the node. - if ($topicEntity instanceof TermInterface) { - $topics[] = $topicEntity; - } - } - } - - return $topics; + return TRUE; } } diff --git a/modules/localgov_services_page/tests/src/Functional/ServicesPageTest.php b/modules/localgov_services_page/tests/src/Functional/ServicesPageTest.php index 3a3e80d..32e2c50 100644 --- a/modules/localgov_services_page/tests/src/Functional/ServicesPageTest.php +++ b/modules/localgov_services_page/tests/src/Functional/ServicesPageTest.php @@ -64,7 +64,6 @@ public function testServicesPage() { $this->assertSession()->pageTextContains('localgov_hide_related_topics'); $this->assertSession()->pageTextContains('localgov_page_components'); $this->assertSession()->pageTextContains('localgov_related_links'); - $this->assertSession()->pageTextContains('localgov_override_related_links'); $this->assertSession()->pageTextContains('localgov_topic_classified'); $this->assertSession()->pageTextContains('localgov_services_parent'); diff --git a/tests/src/Functional/ServicesBlockTest.php b/tests/src/Functional/ServicesBlockTest.php index 99d8450..8b11492 100644 --- a/tests/src/Functional/ServicesBlockTest.php +++ b/tests/src/Functional/ServicesBlockTest.php @@ -78,7 +78,6 @@ public function testServiceCoreBlocksDisplay() { // Check manually added related links. $this->assertSession()->pageTextNotContains('Related Links'); - $services_page->set('localgov_override_related_links', ['value' => 1]); $services_page->set('localgov_related_links', [ 'uri' => 'http://test.com/', 'title' => 'Example related link',