You are here

function event_log_track_workflows_node_update in Events Log Track 8.2

Implements hook_node_update().

File

event_log_track_workflows/event_log_track_workflows.module, line 47
Logs workflows commands in the event_log_track module.

Code

function event_log_track_workflows_node_update($node) {

  /** @var \Drupal\node\NodeInterface $node */
  if (!$node
    ->hasField('moderation_state')) {
    return;
  }
  $new_state = $node
    ->get("moderation_state")
    ->getString();
  $old_state = $node->original
    ->get("moderation_state")
    ->getString();
  if ($old_state != $new_state) {
    $log = [
      'type' => 'workflows',
      'operation' => 'update',
      'description' => t('%type: %title - Workflow state changed from %old_state to %new_state', [
        '%type' => $node
          ->getType(),
        '%title' => $node
          ->getTitle(),
        '%old_state' => $old_state,
        '%new_state' => $new_state,
      ]),
      'ref_numeric' => $node
        ->id(),
      'ref_char' => $node
        ->getTitle(),
    ];
    event_log_track_insert($log);
  }
}