Revert "Issue #3208247 by sukr_s, smustgrave, alexpott, Nikolay Shapovalov, orb, catch, quietone, pwolanin: After deleting a translated article, search wants to reindex it"

This reverts commit 249039adfc.

(cherry picked from commit 6980ddf0a7)
merge-requests/8200/head
catch 2024-05-23 13:51:54 +01:00
parent 344c809e05
commit 5ab5605228
2 changed files with 0 additions and 82 deletions

View File

@ -154,30 +154,10 @@ class Node extends EditorialContentEntityBase implements NodeInterface {
// Reindex the node when it is updated. The node is automatically indexed
// when it is added, simply by being added to the node table.
if ($update) {
$this->nodeSearchRemoveDeletedTranslations();
node_reindex_node_search($this->id());
}
}
/**
* Remove deleted translations from the search index.
*
* @return bool
* TRUE if a translation was removed, FALSE otherwise.
*/
private function nodeSearchRemoveDeletedTranslations(): bool {
$removed = FALSE;
if (\Drupal::moduleHandler()->moduleExists('search')) {
foreach ($this->translations as $langcode => $translation) {
if ($translation['status'] === static::TRANSLATION_REMOVED) {
\Drupal::service('search.index')->clear('node_search', $this->id(), $langcode);
$removed = TRUE;
}
}
}
return $removed;
}
/**
* {@inheritdoc}
*/

View File

@ -616,66 +616,4 @@ class NodeTranslationUITest extends ContentTranslationUITestBase {
}
}
/**
* Test deletion of translated content from search and index rebuild.
*/
public function testSearchIndexRebuildOnTranslationDeletion(): void {
\Drupal::service('module_installer')->install(['search']);
$admin_user = $this->drupalCreateUser([
'administer site configuration',
'access administration pages',
'administer content types',
'delete content translations',
'administer content translation',
'translate any entity',
'administer search',
'search content',
'delete any article content',
]);
$this->drupalLogin($admin_user);
// Create a node.
$node = $this->drupalCreateNode([
'type' => $this->bundle,
]);
// Add a French translation.
$translation = $node->addTranslation('fr');
$translation->title = 'First rev fr title';
$translation->setNewRevision(FALSE);
$translation->save();
// Check if 1 page is listed for indexing.
$this->drupalGet('admin/config/search/pages');
$this->assertSession()->pageTextContains('There is 1 item left to index.');
// Run cron.
$this->drupalGet('admin/config/system/cron');
$this->getSession()->getPage()->pressButton('Run cron');
// Assert no items are left for indexing.
$this->drupalGet('admin/config/search/pages');
$this->assertSession()->pageTextContains('There are 0 items left to index.');
// Search for French content.
$this->drupalGet('search/node', ['query' => ['keys' => urlencode('First rev fr title')]]);
$this->assertSession()->pageTextContains('First rev fr title');
// Delete translation.
$this->drupalGet('fr/node/' . $node->id() . '/delete');
$this->getSession()->getPage()->pressButton('Delete French translation');
// Run cron.
$this->drupalGet('admin/config/system/cron');
$this->getSession()->getPage()->pressButton('Run cron');
// Assert no items are left for indexing.
$this->drupalGet('admin/config/search/pages');
$this->assertSession()->pageTextContains('There are 0 items left to index.');
// Search for French content.
$this->drupalGet('search/node', ['query' => ['keys' => urlencode('First rev fr title')]]);
$this->assertSession()->pageTextNotContains('First rev fr title');
}
}