diff --git a/Admin/Installer.php b/Admin/Installer.php index 778b980..84dce4a 100644 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -114,6 +114,7 @@ class Installer extends InstallerAbstract `task_element_task` int(11) NOT NULL, `task_element_created_by` int(11) NOT NULL, `task_element_status` tinyint(1) NOT NULL, + `task_element_priority` tinyint(1) NOT NULL, `task_element_due` datetime NOT NULL, `task_element_forwarded` int(11) DEFAULT NULL, `task_element_created_at` datetime NOT NULL, diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 42df4df..cdecca4 100644 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -92,7 +92,12 @@ class ApiController extends Controller $task = $this->createTaskFromRequest($request); TaskMapper::create($task); - $response->set($request->getUri()->__toString(), $task->jsonSerialize()); + $response->set($request->getUri()->__toString(), [ + 'status' => NotificationLevel::OK, + 'title' => 'Task', + 'message' => 'Task successfully created.', + 'response' => $task->jsonSerialize() + ]); } /** @@ -114,12 +119,13 @@ class ApiController extends Controller $task->setDue(new \DateTime((string) ($request->getData('due') ?? 'now'))); $task->setStatus(TaskStatus::OPEN); $task->setType(TaskType::SINGLE); - $task->setPriority(TaskPriority::NONE); + $task->setPriority((int) $request->getData('priority')); $element = new TaskElement(); $element->setForwarded((int) ($request->getData('forward') ?? $request->getHeader()->getAccount())); $element->setCreatedBy($task->getCreatedBy()); $element->setDue($task->getDue()); + $element->setPriority($task->getPriority()); $element->setStatus(TaskStatus::OPEN); $task->addElement($element); diff --git a/Models/Task.php b/Models/Task.php index 7de9a41..2933670 100644 --- a/Models/Task.php +++ b/Models/Task.php @@ -146,7 +146,7 @@ class Task implements \JsonSerializable * @var int * @since 1.0.0 */ - protected $priority = TaskPriority::MEDIUM; + protected $priority = TaskPriority::NONE; /** * Media files diff --git a/Models/TaskElement.php b/Models/TaskElement.php index 205f5a0..745725d 100644 --- a/Models/TaskElement.php +++ b/Models/TaskElement.php @@ -91,6 +91,14 @@ class TaskElement implements \JsonSerializable */ private $due = null; + /** + * Priority + * + * @var int + * @since 1.0.0 + */ + protected $priority = TaskPriority::NONE; + /** * Forwarded to. * @@ -260,6 +268,38 @@ class TaskElement implements \JsonSerializable $this->due = $due; } + /** + * Get priority + * + * @return int + * + * @since 1.0.0 + */ + public function getPriority() : int + { + return $this->priority; + } + + /** + * Set priority + * + * @param int $priority Task priority + * + * @return void + * + * @throws InvalidEnumValue + * + * @since 1.0.0 + */ + public function setPriority(int $priority) : void + { + if (!TaskPriority::isValidValue($priority)) { + throw new InvalidEnumValue((string) $priority); + } + + $this->priority = $priority; + } + /** * Get forwarded * diff --git a/Models/TaskElementMapper.php b/Models/TaskElementMapper.php index a0fd814..95c4b97 100644 --- a/Models/TaskElementMapper.php +++ b/Models/TaskElementMapper.php @@ -41,6 +41,7 @@ class TaskElementMapper extends DataMapperAbstract 'task_element_desc' => ['name' => 'task_element_desc', 'type' => 'string', 'internal' => 'description'], 'task_element_desc_raw' => ['name' => 'task_element_desc_raw', 'type' => 'string', 'internal' => 'descriptionRaw'], 'task_element_status' => ['name' => 'task_element_status', 'type' => 'int', 'internal' => 'status'], + 'task_element_priority' => ['name' => 'task_element_priority', 'type' => 'int', 'internal' => 'priority'], 'task_element_due' => ['name' => 'task_element_due', 'type' => 'DateTime', 'internal' => 'due'], 'task_element_forwarded' => ['name' => 'task_element_forwarded', 'type' => 'int', 'internal' => 'forwarded'], 'task_element_task' => ['name' => 'task_element_task', 'type' => 'int', 'internal' => 'task'], diff --git a/Theme/Backend/Components/Tasks/list.tpl.php b/Theme/Backend/Components/Tasks/list.tpl.php index dc57fb8..6e1a1d2 100644 --- a/Theme/Backend/Components/Tasks/list.tpl.php +++ b/Theme/Backend/Components/Tasks/list.tpl.php @@ -2,7 +2,7 @@