Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
namespace Xentral\Modules\Resubmission\Exception;
|
||||
|
||||
use DomainException;
|
||||
|
||||
class TaskMustBeCompletedException extends DomainException implements ResubmissionExceptionInterface
|
||||
{
|
||||
/** @var string $requiredStageName */
|
||||
private $requiredStageName;
|
||||
|
||||
/** @var string $currentStageName */
|
||||
private $currentStageName;
|
||||
|
||||
/**
|
||||
* Exception wird geworfen wenn eine Aufgabe als "offen" angelegt werden soll
|
||||
* und die aktuelle Stage und die Einstellung in "Pflichtfeld ab Stage" das nicht zulässt.
|
||||
*
|
||||
* @param string $requiredStageName
|
||||
* @param string $currentStageName
|
||||
*
|
||||
* @return TaskMustBeCompletedException
|
||||
*/
|
||||
public static function onCreation($requiredStageName, $currentStageName)
|
||||
{
|
||||
$instance = new self(sprintf(
|
||||
'The Task cannot be created. The task must be completed from stage "%s" on. ' .
|
||||
'The resubmission is currently in stage "%s".',
|
||||
$requiredStageName,
|
||||
$currentStageName
|
||||
));
|
||||
|
||||
$instance->requiredStageName = $requiredStageName;
|
||||
$instance->currentStageName = $currentStageName;
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Exception wird geworfen wenn eine Aufgabe beim Bearbeiten auf "offen" angelegt werden soll
|
||||
* und die aktuelle Stage und die Einstellung in "Pflichtfeld ab Stage" das nicht zulässt.
|
||||
*
|
||||
* @param string $requiredStageName
|
||||
* @param string $currentStageName
|
||||
*
|
||||
* @return TaskMustBeCompletedException
|
||||
*/
|
||||
public static function onModification($requiredStageName, $currentStageName)
|
||||
{
|
||||
$instance = new self(sprintf(
|
||||
'The Task modification is invalid. The task must be completed from stage "%s" on. ' .
|
||||
'The resubmission is currently in stage "%s".',
|
||||
$requiredStageName,
|
||||
$currentStageName
|
||||
));
|
||||
|
||||
$instance->requiredStageName = $requiredStageName;
|
||||
$instance->currentStageName = $currentStageName;
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Exception wird geworfen wenn eine abgeschlossene Aufgabe zurück auf "offen" gestellt werden soll
|
||||
* und die aktuelle Stage und die Einstellung in "Pflichtfeld ab Stage" das nicht zulässt.
|
||||
*
|
||||
* @param $requiredStageName
|
||||
* @param $currentStageName
|
||||
*
|
||||
* @return TaskMustBeCompletedException
|
||||
*/
|
||||
public static function onChangingStateToOpen($requiredStageName, $currentStageName)
|
||||
{
|
||||
$instance = new self(sprintf(
|
||||
'The Task cannot be changed to "open". The task needs to be completed from stage "%s" on. ' .
|
||||
'The resubmission is currently in stage "%s".',
|
||||
$requiredStageName,
|
||||
$currentStageName
|
||||
));
|
||||
|
||||
$instance->requiredStageName = $requiredStageName;
|
||||
$instance->currentStageName = $currentStageName;
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getRequiredStageName()
|
||||
{
|
||||
return $this->requiredStageName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getCurrentStageName()
|
||||
{
|
||||
return $this->currentStageName;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user