You are here

public function MaestroManualWebTask::performValidityCheck in Maestro 8.2

Same name and namespace in other branches
  1. 3.x src/Plugin/EngineTasks/MaestroManualWebTask.php \Drupal\maestro\Plugin\EngineTasks\MaestroManualWebTask::performValidityCheck()

Lets the task perform validation on itself. If the task is missing any internal requirements, it can flag itself as having an issue. Return array MUST be in the format of array( 'taskID' => the task machine name, 'taskLabel' => the human readable label for the task, 'reason' => the reason for the failure )

Parameters

array $validation_failure_tasks: The array of other validation failures.

array $validation_information_tasks: The array of informational messages.

array $task: The passed-in fully-loaded task from the template (array)

Overrides MaestroEngineTaskInterface::performValidityCheck

File

src/Plugin/EngineTasks/MaestroManualWebTask.php, line 149

Class

MaestroManualWebTask
Maestro Manual Web Task Plugin.

Namespace

Drupal\maestro\Plugin\EngineTasks

Code

public function performValidityCheck(array &$validation_failure_tasks, array &$validation_information_tasks, array $task) {
  if (array_key_exists('handler', $task) && $task['handler'] == '' || !array_key_exists('handler', $task)) {
    $validation_failure_tasks[] = [
      'taskID' => $task['id'],
      'taskLabel' => $task['label'],
      'reason' => t('The Manual Web Task has not been set up properly.  The handler is missing and thus the engine will be unable to execute this task.'),
    ];
  }
  if (array_key_exists('modal', $task['data']) && $task['data']['modal'] == '' || !array_key_exists('modal', $task['data'])) {
    $validation_failure_tasks[] = [
      'taskID' => $task['id'],
      'taskLabel' => $task['label'],
      'reason' => t('The Manual Web Task has not been set up properly.  The modal option is missing.
                      This is a critical error with the task that you are unable to fix with the UI.
                      Please try to remove the task and add it back into your workflow.'),
    ];
  }

  // This task should have assigned users
  // $task['assigned'] should have data.
  if (array_key_exists('assigned', $task) && $task['assigned'] == '' || !array_key_exists('assigned', $task)) {
    $validation_failure_tasks[] = [
      'taskID' => $task['id'],
      'taskLabel' => $task['label'],
      'reason' => t('The Manual Web Task has not been set up properly.  The Manual Web Task requires assignments to actors, roles or other assignment options.'),
    ];
  }
}