Loading src/Form/DatasetBatchOperations.php +25 −15 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ declare(strict_types=1); namespace Drupal\data_pipelines\Form; use Drupal\Component\Render\MarkupInterface; use Drupal\Core\Batch\BatchBuilder; use Drupal\Core\DependencyInjection\ContainerInjectionInterface; use Drupal\Core\Queue\QueueFactory; Loading Loading @@ -146,11 +147,11 @@ class DatasetBatchOperations implements ContainerInjectionInterface { $dataset->addLogMessage((string) $validation_error->getMessage(), FALSE); } $dataset->setPendingValidation(); $context['message'] = new TranslatableMarkup('Validation complete, validation errors exist'); $context['message'] = new TranslatableMarkup('Validation complete, validation errors exist for dataset (@dataset).', ['@dataset' => $dataset->label()]); return; } $dataset->setPendingIndex(); $context['message'] = new TranslatableMarkup('Validation complete'); $context['message'] = new TranslatableMarkup('Validation complete.'); } /** Loading Loading @@ -218,23 +219,32 @@ class DatasetBatchOperations implements ContainerInjectionInterface { $dataset = Dataset::load($results['dataset_id']); assert($dataset instanceof DatasetInterface); if ($dataset->isIndexed()) { \Drupal::messenger() ->addMessage(new TranslatableMarkup('Dataset %name was successfully indexed.', [ '%name' => $dataset->label(), ])); $message = new TranslatableMarkup('Dataset %name was successfully indexed.', ['%name' => $dataset->label()]); static::log($message); return; } \Drupal::messenger()->addError( new TranslatableMarkup('Dataset %name was unable to be indexed. Please check <a href=":url">the logs</a>.', [ $message = new TranslatableMarkup('Dataset %name was unable to be indexed. Please check <a href=":url">the logs</a>.', [ '%name' => $dataset->label(), ':url' => $dataset->toUrl()->toString(), ]) ); ]); static::log($message, TRUE); return; } \Drupal::messenger()->addError( new TranslatableMarkup('The validation and indexing operation did not complete.') ); $message = new TranslatableMarkup('The validation and indexing operation did not complete.'); static::log($message, TRUE); } /** * A method to facilitate logging. * * @param \Drupal\Component\Render\MarkupInterface $message * The message. * @param bool $error * A boolean indicating whether the log is an error. */ protected static function log(MarkupInterface $message, bool $error = FALSE): void { \Drupal::logger('data_pipelines')->{$error ? 'warning' : 'info'}($message); \Drupal::messenger()->{$error ? 'addError' : 'addMessage'}($message); } } tests/src/Kernel/Form/DatasetBatchOperationsTest.php +2 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ class DatasetBatchOperationsTest extends DatasetKernelTestBase { 'results' => [], ]; DatasetBatchOperations::operationValidate((int) $dataset->id(), $context); $this->assertEquals('Validation complete', (string) $context['message']); $this->assertEquals('Validation complete.', (string) $context['message']); $csv = <<<CSV should_we,firstname,lastname Y,jo,bloggs Loading @@ -52,7 +52,7 @@ CSV; ]); DatasetBatchOperations::operationValidate((int) $dataset->id(), $context); $dataset = $this->reloadDataset($dataset); $this->assertEquals('Validation complete, validation errors exist', (string) $context['message']); $this->assertEquals('Validation complete, validation errors exist for dataset (' . $dataset->label() . ').', (string) $context['message']); $this->assertEquals([ 'Firstname should be at least 3 characters', ], $dataset->getLogs()); Loading Loading
src/Form/DatasetBatchOperations.php +25 −15 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ declare(strict_types=1); namespace Drupal\data_pipelines\Form; use Drupal\Component\Render\MarkupInterface; use Drupal\Core\Batch\BatchBuilder; use Drupal\Core\DependencyInjection\ContainerInjectionInterface; use Drupal\Core\Queue\QueueFactory; Loading Loading @@ -146,11 +147,11 @@ class DatasetBatchOperations implements ContainerInjectionInterface { $dataset->addLogMessage((string) $validation_error->getMessage(), FALSE); } $dataset->setPendingValidation(); $context['message'] = new TranslatableMarkup('Validation complete, validation errors exist'); $context['message'] = new TranslatableMarkup('Validation complete, validation errors exist for dataset (@dataset).', ['@dataset' => $dataset->label()]); return; } $dataset->setPendingIndex(); $context['message'] = new TranslatableMarkup('Validation complete'); $context['message'] = new TranslatableMarkup('Validation complete.'); } /** Loading Loading @@ -218,23 +219,32 @@ class DatasetBatchOperations implements ContainerInjectionInterface { $dataset = Dataset::load($results['dataset_id']); assert($dataset instanceof DatasetInterface); if ($dataset->isIndexed()) { \Drupal::messenger() ->addMessage(new TranslatableMarkup('Dataset %name was successfully indexed.', [ '%name' => $dataset->label(), ])); $message = new TranslatableMarkup('Dataset %name was successfully indexed.', ['%name' => $dataset->label()]); static::log($message); return; } \Drupal::messenger()->addError( new TranslatableMarkup('Dataset %name was unable to be indexed. Please check <a href=":url">the logs</a>.', [ $message = new TranslatableMarkup('Dataset %name was unable to be indexed. Please check <a href=":url">the logs</a>.', [ '%name' => $dataset->label(), ':url' => $dataset->toUrl()->toString(), ]) ); ]); static::log($message, TRUE); return; } \Drupal::messenger()->addError( new TranslatableMarkup('The validation and indexing operation did not complete.') ); $message = new TranslatableMarkup('The validation and indexing operation did not complete.'); static::log($message, TRUE); } /** * A method to facilitate logging. * * @param \Drupal\Component\Render\MarkupInterface $message * The message. * @param bool $error * A boolean indicating whether the log is an error. */ protected static function log(MarkupInterface $message, bool $error = FALSE): void { \Drupal::logger('data_pipelines')->{$error ? 'warning' : 'info'}($message); \Drupal::messenger()->{$error ? 'addError' : 'addMessage'}($message); } }
tests/src/Kernel/Form/DatasetBatchOperationsTest.php +2 −2 Original line number Diff line number Diff line Loading @@ -41,7 +41,7 @@ class DatasetBatchOperationsTest extends DatasetKernelTestBase { 'results' => [], ]; DatasetBatchOperations::operationValidate((int) $dataset->id(), $context); $this->assertEquals('Validation complete', (string) $context['message']); $this->assertEquals('Validation complete.', (string) $context['message']); $csv = <<<CSV should_we,firstname,lastname Y,jo,bloggs Loading @@ -52,7 +52,7 @@ CSV; ]); DatasetBatchOperations::operationValidate((int) $dataset->id(), $context); $dataset = $this->reloadDataset($dataset); $this->assertEquals('Validation complete, validation errors exist', (string) $context['message']); $this->assertEquals('Validation complete, validation errors exist for dataset (' . $dataset->label() . ').', (string) $context['message']); $this->assertEquals([ 'Firstname should be at least 3 characters', ], $dataset->getLogs()); Loading