WorkflowNodeNextStateAction.php in Workflow 8
File
src/Plugin/Action/WorkflowNodeNextStateAction.php
View source
<?php
namespace Drupal\workflow\Plugin\Action;
use Drupal\Core\Form\FormStateInterface;
class WorkflowNodeNextStateAction extends WorkflowStateActionBase {
public function calculateDependencies() {
return [
'module' => [
'workflow',
'node',
],
];
}
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form = parent::buildConfigurationForm($form, $form_state);
unset($form['to_sid']);
return $form;
}
public function execute($object = NULL) {
if (!($transition = $this
->getTransitionForExecution($object))) {
$this
->messenger()
->addWarning('The object is not valid for this action.');
return;
}
$entity = $transition
->getTargetEntity();
$field_name = $transition
->getFieldName();
$user = $transition
->getOwner();
$force = $this->configuration['force'];
$to_sid = $transition
->getWorkflow()
->getNextSid($entity, $field_name, $user, $force);
$transition->to_sid = $to_sid;
workflow_execute_transition($transition, $force);
}
}