diff --git a/modules/dkan_datastore/dkan_datastore.module b/modules/dkan_datastore/dkan_datastore.module index 99fa44d398..02ba116c87 100644 --- a/modules/dkan_datastore/dkan_datastore.module +++ b/modules/dkan_datastore/dkan_datastore.module @@ -15,6 +15,7 @@ function dkan_datastore_theme($existing, $type, $theme, $path) { 'uuid' => NULL, 'title' => NULL, 'url' => NULL, + 'node_id' => NULL, ], ], 'dkan_datastore_dashboard_revision_cell' => [ diff --git a/modules/dkan_datastore/src/Form/DashboardForm.php b/modules/dkan_datastore/src/Form/DashboardForm.php index 0476269e05..c5cc25cec2 100644 --- a/modules/dkan_datastore/src/Form/DashboardForm.php +++ b/modules/dkan_datastore/src/Form/DashboardForm.php @@ -503,6 +503,7 @@ protected function buildRevisionRow(array $rev, int $resourceCount, string $harv if ($moderation_class == 'hidden') { $moderation_class = 'published-hidden'; } + return [ [ 'rowspan' => $resourceCount, @@ -511,6 +512,7 @@ protected function buildRevisionRow(array $rev, int $resourceCount, string $harv '#uuid' => $rev['uuid'], '#title' => $rev['title'], '#url' => Url::fromUri("internal:/dataset/$rev[uuid]"), + '#node_id' => $rev['node_id'], ], ], [ diff --git a/modules/dkan_datastore/templates/dkan-datastore-dashboard-dataset-cell.html.twig b/modules/dkan_datastore/templates/dkan-datastore-dashboard-dataset-cell.html.twig index 466214284e..1b0912791d 100644 --- a/modules/dkan_datastore/templates/dkan-datastore-dashboard-dataset-cell.html.twig +++ b/modules/dkan_datastore/templates/dkan-datastore-dashboard-dataset-cell.html.twig @@ -1,2 +1,8 @@ -
{{ uuid }}
- \ No newline at end of file + +
{{ uuid }}
diff --git a/modules/dkan_datastore/tests/src/Unit/Form/DashboardFormTest.php b/modules/dkan_datastore/tests/src/Unit/Form/DashboardFormTest.php index 260452cf7a..56c8bdd493 100644 --- a/modules/dkan_datastore/tests/src/Unit/Form/DashboardFormTest.php +++ b/modules/dkan_datastore/tests/src/Unit/Form/DashboardFormTest.php @@ -2,8 +2,12 @@ namespace Drupal\Tests\dkan_datastore\Unit\Form; +use Drupal\Core\Database\Connection; use Drupal\Core\Datetime\DateFormatter; use Drupal\Core\DependencyInjection\Container; +use Drupal\Core\Entity\EntityStorageInterface; +use Drupal\Core\Entity\EntityTypeManagerInterface; +use Drupal\Core\Entity\Query\QueryInterface; use Drupal\Core\Form\FormState; use Drupal\Core\Pager\Pager; use Drupal\Core\Pager\PagerManagerInterface; @@ -11,27 +15,23 @@ use Drupal\Core\StreamWrapper\PublicStream; use Drupal\Core\StreamWrapper\StreamWrapperManager; use Drupal\Core\StringTranslation\TranslationManager; -use Drupal\Tests\dkan_metastore\Unit\MetastoreServiceTest; +use Drupal\dkan_common\DataResource; use Drupal\dkan_common\DatasetInfo; -use Drupal\Core\Database\Connection; use Drupal\dkan_datastore\Form\DashboardForm; +use Drupal\dkan_datastore\PostImportResult; +use Drupal\dkan_datastore\PostImportResultFactory; use Drupal\dkan_datastore\Service\PostImport; use Drupal\dkan_harvest\Entity\HarvestRunRepository; use Drupal\dkan_harvest\HarvestService; use Drupal\dkan_metastore\MetastoreService; +use Drupal\dkan_metastore\ResourceMapper; +use Drupal\node\NodeInterface; +use Drupal\Tests\dkan_metastore\Unit\MetastoreServiceTest; use MockChain\Chain; use MockChain\Options; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; -use Drupal\dkan_metastore\ResourceMapper; -use Drupal\dkan_datastore\PostImportResult; -use Drupal\dkan_datastore\PostImportResultFactory; -use Drupal\dkan_common\DataResource; -use Drupal\Core\Entity\EntityStorageInterface; -use Drupal\Core\Entity\EntityTypeManagerInterface; -use Drupal\Core\Entity\Query\QueryInterface; -use Drupal\node\NodeInterface; /** * @group dkan @@ -110,6 +110,7 @@ public function testBuildTableRowsWithHarvestIdFilter() { 'moderation_state' => 'published', 'modified_date_metadata' => '2020-01-15', 'modified_date_dkan' => '2021-02-11', + 'node_id' => 1, ]; $distribution = [ 'distribution_uuid' => 'dist-1', @@ -154,6 +155,7 @@ public function testBuildTableRowsWithHarvestIdFilter() { $this->assertEquals('NEW', $form['table']['#rows'][0][2]['data']); $this->assertEquals('done', $form['table']['#rows'][0][6]['data']['#status']); $this->assertEquals(NULL, $form['table']['#rows'][0][6]['data']['#error']); + $this->assertEquals(1, $form['table']['#rows'][0][0]['data']['#node_id']); } /** @@ -167,6 +169,7 @@ public function testBuildTableRowsWithDatasetTitleFilter() { 'moderation_state' => 'published', 'modified_date_metadata' => '2020-01-15', 'modified_date_dkan' => '2021-02-11', + 'node_id' => 2, ]; $distribution = [ 'distribution_uuid' => 'dist-1', @@ -222,6 +225,7 @@ public function testBuildTableRowsWithDatasetTitleFilter() { $this->assertEquals('NEW', $form['table']['#rows'][0][2]['data']); $this->assertEquals('done', $form['table']['#rows'][0][6]['data']['#status']); $this->assertEquals(NULL, $form['table']['#rows'][0][6]['data']['#error']); + $this->assertEquals(2, $form['table']['#rows'][0][0]['data']['#node_id']); } /** @@ -235,6 +239,7 @@ public function testBuildTableRowsWithUuidFilter() { 'moderation_state' => 'published', 'modified_date_metadata' => '2020-01-15', 'modified_date_dkan' => '2021-02-11', + 'node_id' => 3, ]; $distribution = [ 'distribution_uuid' => 'dist-1', @@ -295,6 +300,7 @@ public function testBuildTableRowsWithAllDatasets() { 'title' => 'Dataset 1', 'modified_date_metadata' => '2019-08-12', 'modified_date_dkan' => '2021-07-08', + 'node_id' => 3, 'distributions' => [ [ 'distribution_uuid' => 'dist-1', @@ -320,6 +326,7 @@ public function testBuildTableRowsWithAllDatasets() { 'title' => 'Non-Harvest Dataset', 'modified_date_metadata' => '2019-08-12', 'modified_date_dkan' => '2021-07-08', + 'node_id' => 3, 'distributions' => [ [ 'distribution_uuid' => 'dist-2', @@ -395,6 +402,7 @@ public function testBuildTableRowsDatasetWithNoDistribution() { 'modified_date_metadata' => '2019-08-12', 'modified_date_dkan' => '2021-07-08', 'distributions' => ['Not found'], + 'node_id' => 1, ], ]; @@ -421,6 +429,7 @@ public function testBuildTableRowsWithUnsupportedResourceTypes() { 'title' => 'Dataset 1', 'modified_date_metadata' => '2019-08-12', 'modified_date_dkan' => '2021-07-08', + 'node_id' => 5, 'distributions' => [ [ 'distribution_uuid' => 'dist-1', @@ -510,6 +519,7 @@ public function testBuildTableRowsWithUnsupportedResourceTypes() { $this->assertEquals('done', $form["table"]["#rows"][1][3]["data"]["#status"]); // The second row post import class is correct. $this->assertEquals('done', $form["table"]["#rows"][1][3]["class"][0]); + $this->assertEquals(5, $form['table']['#rows'][0][0]['data']['#node_id']); } /** @@ -524,6 +534,7 @@ public function testBuildTableRowsDatasetMultipleDistribution() { 'title' => 'Dataset 1', 'modified_date_metadata' => '2019-08-12', 'modified_date_dkan' => '2021-07-08', + 'node_id' => 7, 'distributions' => [ [ 'distribution_uuid' => 'dist-1',