Add workflow name editing capability

[MAILPOET-4422]
This commit is contained in:
alex-mailpoet
2022-07-13 18:59:50 +03:00
committed by Jan Jakeš
parent 3bbb662857
commit 5ac27d125b
5 changed files with 49 additions and 4 deletions

View File

@ -27,6 +27,12 @@ class UpdateWorkflowController {
throw Exceptions::workflowNotFound($id);
}
if (array_key_exists('name', $data)) {
$this->checkWorkflowName($data['name']);
$workflow->setName($data['name']);
$this->storage->updateWorkflow($workflow);
}
if (array_key_exists('status', $data)) {
$this->checkWorkflowStatus($data['status']);
$workflow->setStatus($data['status']);
@ -40,6 +46,12 @@ class UpdateWorkflowController {
return $workflow;
}
private function checkWorkflowName(string $name): void {
if (empty($name)) {
throw UnexpectedValueException::create()->withMessage(__('Workflow name must not be empty', 'mailpoet'));
}
}
private function checkWorkflowStatus(string $status): void {
if (!in_array($status, [Workflow::STATUS_ACTIVE, Workflow::STATUS_INACTIVE, Workflow::STATUS_DRAFT], true)) {
throw UnexpectedValueException::create()->withMessage(__(sprintf('Invalid status: %s', $status), 'mailpoet'));