ViewsBulkOperationsActionCompletedTrait.php in Views Bulk Operations (VBO) 8.3
File
src/Action/ViewsBulkOperationsActionCompletedTrait.php
View source
<?php
namespace Drupal\views_bulk_operations\Action;
use Symfony\Component\HttpFoundation\RedirectResponse;
trait ViewsBulkOperationsActionCompletedTrait {
public static function message($message = NULL, $type = 'status', $repeat = TRUE) {
\Drupal::messenger()
->addMessage($message, $type, $repeat);
}
public static function translate($string, array $args = [], array $options = []) {
return \Drupal::translation()
->translate($string, $args, $options);
}
public static function finished($success, array $results, array $operations) : ?RedirectResponse {
if ($success) {
$operations = array_count_values($results['operations']);
$details = [];
foreach ($operations as $op => $count) {
$details[] = $op . ' (' . $count . ')';
}
$message = static::translate('Action processing results: @operations.', [
'@operations' => implode(', ', $details),
]);
static::message($message);
if (isset($results['redirect_url'])) {
@trigger_error('Passing the redirect_url value to results is deprecated in views_bulk_operations:8.x-3.14 and will be removed before views_bulk_operations:4.0. To redirect when processing is finished, override this method in your VBO action plugin class.', E_USER_DEPRECATED);
return new RedirectResponse($results['redirect_url']
->setAbsolute()
->toString());
}
}
else {
$message = static::translate('Finished with an error.');
static::message($message, 'error');
}
return NULL;
}
}