diff --git a/Controller/ApiController.php b/Controller/ApiController.php index a6fae29..aaa54a5 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -94,14 +94,14 @@ final class ApiController extends Controller public function apiTaskCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : void { if (!empty($val = $this->validateTaskCreate($request))) { - $response->set($request->getUri()->__toString(), new FormValidation($val)); - $response->getHeader()->setStatusCode(RequestStatusCode::R_400); + $response->set($request->uri->__toString(), new FormValidation($val)); + $response->header->status = RequestStatusCode::R_400; return; } $task = $this->createTaskFromRequest($request); - $this->createModel($request->getHeader()->getAccount(), $task, TaskMapper::class, 'task', $request->getOrigin()); + $this->createModel($request->header->account, $task, TaskMapper::class, 'task', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task', 'Task successfully created.', $task); } @@ -117,15 +117,15 @@ final class ApiController extends Controller private function createTaskFromRequest(RequestAbstract $request) : Task { $task = new Task(); - $task->setTitle((string) ($request->getData('title') ?? '')); - $task->setDescription(Markdown::parse((string) ($request->getData('plain') ?? ''))); - $task->setDescriptionRaw((string) ($request->getData('plain') ?? '')); - $task->setCreatedBy(new NullAccount($request->getHeader()->getAccount())); + $task->title = (string) ($request->getData('title') ?? ''); + $task->description = Markdown::parse((string) ($request->getData('plain') ?? '')); + $task->descriptionRaw = (string) ($request->getData('plain') ?? ''); + $task->setCreatedBy(new NullAccount($request->header->account)); $task->setStatus(TaskStatus::OPEN); $task->setType(TaskType::SINGLE); if (empty($request->getData('priority'))) { - $task->setDue(empty($request->getData('due')) ? null : new \DateTime($request->getData('due'))); + $task->due = empty($request->getData('due')) ? null : new \DateTime($request->getData('due')); } else { $task->setPriority((int) $request->getData('priority')); } @@ -139,7 +139,7 @@ final class ApiController extends Controller $internalResponse = new HttpResponse(); $this->app->moduleManager->get('Tag')->apiTagCreate($request, $internalResponse, null); - $task->addTag($internalResponse->get($request->getUri()->__toString())['response']); + $task->addTag($internalResponse->get($request->uri->__toString())['response']); } else { $task->addTag(new NullTag((int) $tag['id'])); } @@ -147,9 +147,9 @@ final class ApiController extends Controller } $element = new TaskElement(); - $element->addTo(new NullAccount((int) ($request->getData('forward') ?? $request->getHeader()->getAccount()))); - $element->setCreatedBy($task->getCreatedBy()); - $element->setDue($task->getDue()); + $element->addTo(new NullAccount((int) ($request->getData('forward') ?? $request->header->account))); + $element->createdBy = $task->getCreatedBy(); + $element->due = $task->due; $element->setPriority($task->getPriority()); $element->setStatus(TaskStatus::OPEN); @@ -194,7 +194,7 @@ final class ApiController extends Controller { $old = clone TaskMapper::get((int) $request->getData('id')); $new = $this->updateTaskFromRequest($request); - $this->updateModel($request->getHeader()->getAccount(), $old, $new, TaskMapper::class, 'task', $request->getOrigin()); + $this->updateModel($request->header->account, $old, $new, TaskMapper::class, 'task', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task', 'Task successfully updated.', $new); } @@ -210,10 +210,10 @@ final class ApiController extends Controller private function updateTaskFromRequest(RequestAbstract $request) : Task { $task = TaskMapper::get((int) ($request->getData('id'))); - $task->setTitle((string) ($request->getData('title') ?? $task->getTitle())); - $task->setDescription(Markdown::parse((string) ($request->getData('plain') ?? $task->getDescriptionRaw()))); - $task->setDescriptionRaw((string) ($request->getData('plain') ?? $task->getDescriptionRaw())); - $task->setDue(new \DateTime((string) ($request->getData('due') ?? $task->getDue()->format('Y-m-d H:i:s')))); + $task->title = (string) ($request->getData('title') ?? $task->title); + $task->description = Markdown::parse((string) ($request->getData('plain') ?? $task->descriptionRaw)); + $task->descriptionRaw = (string) ($request->getData('plain') ?? $task->descriptionRaw); + $task->due = new \DateTime((string) ($request->getData('due') ?? $task->due->format('Y-m-d H:i:s'))); $task->setStatus((int) ($request->getData('status') ?? $task->getStatus())); $task->setType((int) ($request->getData('type') ?? $task->getType())); $task->setPriority((int) ($request->getData('priority') ?? $task->getPriority())); @@ -236,7 +236,7 @@ final class ApiController extends Controller if (($val['status'] = !TaskStatus::isValidValue((int) $request->getData('status'))) || ($val['due'] = !((bool) \strtotime((string) $request->getData('due')))) || ($val['task'] = !(\is_numeric($request->getData('task')))) - || ($val['forward'] = !(\is_numeric(empty($request->getData('forward')) ? $request->getHeader()->getAccount() : $request->getData('forward')))) + || ($val['forward'] = !(\is_numeric(empty($request->getData('forward')) ? $request->header->account : $request->getData('forward')))) ) { return $val; } @@ -261,7 +261,7 @@ final class ApiController extends Controller { if (!empty($val = $this->validateTaskElementCreate($request))) { $response->set('task_element_create', new FormValidation($val)); - $response->getHeader()->setStatusCode(RequestStatusCode::R_400); + $response->header->status = RequestStatusCode::R_400; return; } @@ -275,10 +275,10 @@ final class ApiController extends Controller $element = $this->createTaskElementFromRequest($request, $task); $task->setStatus($element->getStatus()); $task->setPriority($element->getPriority()); - $task->setDue($element->getDue()); + $task->due = $element->due; - $this->createModel($request->getHeader()->getAccount(), $element, TaskElementMapper::class, 'taskelement', $request->getOrigin()); - $this->updateModel($request->getHeader()->getAccount(), $task, $task, TaskMapper::class, 'task', $request->getOrigin()); + $this->createModel($request->header->account, $element, TaskElementMapper::class, 'taskelement', $request->getOrigin()); + $this->updateModel($request->header->account, $task, $task, TaskMapper::class, 'task', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task element', 'Task element successfully created.', $element); } @@ -295,15 +295,15 @@ final class ApiController extends Controller private function createTaskElementFromRequest(RequestAbstract $request, Task $task) : TaskElement { $element = new TaskElement(); - $element->setCreatedBy(new NullAccount($request->getHeader()->getAccount())); - $element->setDue(!empty($request->getData('due')) ? new \DateTime((string) ($request->getData('due'))) : $task->getDue()); + $element->createdBy = new NullAccount($request->header->account); + $element->due = !empty($request->getData('due')) ? new \DateTime((string) ($request->getData('due'))) : $task->due; $element->setPriority((int) ($request->getData('priority') ?? $task->getPriority())); $element->setStatus((int) ($request->getData('status'))); - $element->setTask($task->getId()); - $element->setDescription(Markdown::parse((string) ($request->getData('plain') ?? ''))); - $element->setDescriptionRaw((string) ($request->getData('plain') ?? '')); + $element->task = $task->getId(); + $element->description = Markdown::parse((string) ($request->getData('plain') ?? '')); + $element->descriptionRaw = (string) ($request->getData('plain') ?? ''); - $tos = $request->getData('to') ?? $request->getHeader()->getAccount(); + $tos = $request->getData('to') ?? $request->header->account; if (!\is_array($tos)) { $tos = [$tos]; } @@ -360,7 +360,7 @@ final class ApiController extends Controller { $old = clone TaskElementMapper::get((int) $request->getData('id')); $new = $this->updateTaskElementFromRequest($request); - $this->updateModel($request->getHeader()->getAccount(), $old, $new, TaskElementMapper::class, 'taskelement', $request->getOrigin()); + $this->updateModel($request->header->account, $old, $new, TaskElementMapper::class, 'taskelement', $request->getOrigin()); /** * @todo Orange-Management/oms-Tasks#2 @@ -368,7 +368,7 @@ final class ApiController extends Controller * The task status is not normalized and relates to the last task element. * Depending on the task status of the last task element also the task status should change. */ - //$this->updateModel($request->getHeader()->getAccount(), $task, $task, TaskMapper::class, 'task', $request->getOrigin()); + //$this->updateModel($request->header->account, $task, $task, TaskMapper::class, 'task', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task element', 'Task element successfully updated.', $new); } @@ -384,12 +384,12 @@ final class ApiController extends Controller private function updateTaskElementFromRequest(RequestAbstract $request) : TaskElement { $element = TaskElementMapper::get((int) ($request->getData('id'))); - $element->setDue(new \DateTime((string) ($request->getData('due') ?? $element->getDue()->format('Y-m-d H:i:s')))); + $element->due = new \DateTime((string) ($request->getData('due') ?? $element->due->format('Y-m-d H:i:s'))); $element->setStatus((int) ($request->getData('status') ?? $element->getStatus())); - $element->setDescription(Markdown::parse((string) ($request->getData('plain') ?? $element->getDescriptionRaw()))); - $element->setDescriptionRaw((string) ($request->getData('plain') ?? $element->getDescriptionRaw())); + $element->description = Markdown::parse((string) ($request->getData('plain') ?? $element->descriptionRaw)); + $element->descriptionRaw = (string) ($request->getData('plain') ?? $element->descriptionRaw); - $tos = $request->getData('to') ?? $request->getHeader()->getAccount(); + $tos = $request->getData('to') ?? $request->header->account; if (!\is_array($tos)) { $tos = [$tos]; } diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 2894b5d..2673265 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -75,17 +75,17 @@ final class BackendController extends Controller implements DashboardElementInte if ($request->getData('ptype') === 'p') { $view->setData('tasks', TaskMapper::withConditional('language', $response->getLanguage()) - ::getAnyBeforePivot($request->getHeader()->getAccount(), (int) ($request->getData('id') ?? 0), null, 25) + ::getAnyBeforePivot($request->header->account, (int) ($request->getData('id') ?? 0), null, 25) ); } elseif ($request->getData('ptype') === 'n') { $view->setData('tasks', TaskMapper::withConditional('language', $response->getLanguage()) - ::getAnyAfterPivot($request->getHeader()->getAccount(), (int) ($request->getData('id') ?? 0), null, 25) + ::getAnyAfterPivot($request->header->account, (int) ($request->getData('id') ?? 0), null, 25) ); } else { $view->setData('tasks', TaskMapper::withConditional('language', $response->getLanguage()) - ::getAnyAfterPivot($request->getHeader()->getAccount(), 0, null, 25) + ::getAnyAfterPivot($request->header->account, 0, null, 25) ); } @@ -127,8 +127,8 @@ final class BackendController extends Controller implements DashboardElementInte { $view = new TaskView($this->app->l11nManager, $request, $response); - if (!TaskMapper::hasReadingPermission($request->getHeader()->getAccount(), (int) $request->getData('id'))) { - $response->getHeader()->setStatusCode(RequestStatusCode::R_403); + if (!TaskMapper::hasReadingPermission($request->header->account, (int) $request->getData('id'))) { + $response->header->status = RequestStatusCode::R_403; $view->setTemplate('/Web/Backend/Error/403'); $this->app->loadLanguageFromPath( @@ -144,7 +144,7 @@ final class BackendController extends Controller implements DashboardElementInte $head->addAsset(AssetType::CSS, 'Modules/Tasks/Theme/Backend/css/styles.css'); $task = TaskMapper::withConditional('language', $response->getLanguage())::get((int) $request->getData('id'), RelationType::ALL, 4); - $accountId = $request->getHeader()->getAccount(); + $accountId = $request->header->account; if (!($task->getCreatedBy()->getId() === $accountId || $task->isCCAccount($accountId) @@ -153,7 +153,7 @@ final class BackendController extends Controller implements DashboardElementInte PermissionType::READ, $this->app->orgId, $this->app->appName, self::MODULE_NAME, PermissionState::TASK, $task->getId()) ) { $view->setTemplate('/Web/Backend/Error/403_inline'); - $response->getHeader()->setStatusCode(RequestStatusCode::R_403); + $response->header->status = RequestStatusCode::R_403; return $view; } diff --git a/Models/Task.php b/Models/Task.php index 2101658..a55e2b8 100755 --- a/Models/Task.php +++ b/Models/Task.php @@ -46,7 +46,7 @@ class Task implements \JsonSerializable * @var string * @since 1.0.0 */ - protected string $title = ''; + public string $title = ''; /** * Creator. @@ -62,7 +62,7 @@ class Task implements \JsonSerializable * @var \DateTimeImmutable * @since 1.0.0 */ - protected \DateTimeImmutable $createdAt; + public \DateTimeImmutable $createdAt; /** * Description. @@ -70,7 +70,7 @@ class Task implements \JsonSerializable * @var string * @since 1.0.0 */ - protected string $description = ''; + public string $description = ''; /** * Description raw. @@ -78,7 +78,7 @@ class Task implements \JsonSerializable * @var string * @since 1.0.0 */ - protected string $descriptionRaw = ''; + public string $descriptionRaw = ''; /** * Type. @@ -99,18 +99,22 @@ class Task implements \JsonSerializable /** * Task can be closed by user. * - * @var bool - * @since 1.0.0 - */ - protected bool $isClosable = true; - - /** - * Task can be edited by user. + * Setting it to false will only allow other modules to close this task * * @var bool * @since 1.0.0 */ - protected bool $isEditable = true; + public bool $isClosable = true; + + /** + * Task can be edited by user. + * + * Setting it to false will only allow other modules to close this task + * + * @var bool + * @since 1.0.0 + */ + public bool $isEditable = true; /** * Start. @@ -118,7 +122,7 @@ class Task implements \JsonSerializable * @var null|\DateTime * @since 1.0.0 */ - protected ?\DateTime $start = null; + public ?\DateTime $start = null; /** * Due. @@ -126,7 +130,7 @@ class Task implements \JsonSerializable * @var null|\DateTime * @since 1.0.0 */ - protected ?\DateTime $due = null; + public ?\DateTime $due = null; /** * Done. @@ -134,7 +138,7 @@ class Task implements \JsonSerializable * @var null|\DateTime * @since 1.0.0 */ - protected ?\DateTime $done = null; + public ?\DateTime $done = null; /** * Task elements. @@ -203,62 +207,6 @@ class Task implements \JsonSerializable return $this->id; } - /** - * Set closable - * - * Setting it to false will only allow other modules to close this task - * - * @param bool $closable Is closable - * - * @return void - * - * @since 1.0.0 - */ - public function setClosable(bool $closable) : void - { - $this->isClosable = $closable; - } - - /** - * Is closable - * - * @return bool - * - * @since 1.0.0 - */ - public function isClosable() : bool - { - return $this->isClosable; - } - - /** - * Set editable - * - * Setting it to false will only allow other modules to close this task - * - * @param bool $editable Is editable - * - * @return void - * - * @since 1.0.0 - */ - public function setEditable(bool $editable) : void - { - $this->isEditable = $editable; - } - - /** - * Is editable - * - * @return bool - * - * @since 1.0.0 - */ - public function isEditable() : bool - { - return $this->isEditable; - } - /** * Adding new task element. * @@ -405,40 +353,6 @@ class Task implements \JsonSerializable return false; } - /** - * @return \DateTimeImmutable - * - * @since 1.0.0 - */ - public function getCreatedAt() : \DateTimeImmutable - { - return $this->createdAt; - } - - /** - * @return \DateTime - * - * @since 1.0.0 - */ - public function getStart() : \DateTime - { - return $this->start ?? new \DateTime(); - } - - /** - * Set start time of task - * - * @param \DateTime $start Start date of task - * - * @return void - * - * @since 1.0.0 - */ - public function setStart(\DateTime $start) : void - { - $this->start = $start; - } - /** * Get created by * @@ -463,111 +377,7 @@ class Task implements \JsonSerializable public function setCreatedBy(Account $account) : void { $this->createdBy = $account; - $this->schedule->setCreatedBy($account); - } - - /** - * Get description - * - * @return string - * - * @since 1.0.0 - */ - public function getDescription() : string - { - return $this->description; - } - - /** - * Set description - * - * @param string $description Description - * - * @return void - * - * @since 1.0.0 - */ - public function setDescription(string $description) : void - { - $this->description = $description; - } - - /** - * Get description - * - * @return string - * - * @since 1.0.0 - */ - public function getDescriptionRaw() : string - { - return $this->descriptionRaw; - } - - /** - * Set description - * - * @param string $description Description - * - * @return void - * - * @since 1.0.0 - */ - public function setDescriptionRaw(string $description) : void - { - $this->descriptionRaw = $description; - } - - /** - * Get done date - * - * @return null|\DateTime - * - * @since 1.0.0 - */ - public function getDone() : ?\DateTime - { - return $this->done; - } - - /** - * Set done date - * - * @param \DateTime $done Done date - * - * @return void - * - * @since 1.0.0 - */ - public function setDone(\DateTime $done) : void - { - $this->done = $done; - } - - /** - * Get due date - * - * @return null|\DateTime - * - * @since 1.0.0 - */ - public function getDue() : ?\DateTime - { - return $this->due; - } - - /** - * Set due date - * - * @param null|\DateTime $due Due date - * - * @return void - * - * @since 1.0.0 - */ - public function setDue(?\DateTime $due) : void - { - $this->due = $due; + $this->schedule->createdBy = $account; } /** @@ -634,32 +444,6 @@ class Task implements \JsonSerializable $this->priority = $priority; } - /** - * Get title - * - * @return string - * - * @since 1.0.0 - */ - public function getTitle() : string - { - return $this->title; - } - - /** - * Set title - * - * @param string $title Title - * - * @return void - * - * @since 1.0.0 - */ - public function setTitle(string $title) : void - { - $this->title = $title; - } - /** * Remove Element from list. * diff --git a/Models/TaskElement.php b/Models/TaskElement.php index 6de9988..a57267f 100755 --- a/Models/TaskElement.php +++ b/Models/TaskElement.php @@ -44,7 +44,7 @@ class TaskElement implements \JsonSerializable * @var string * @since 1.0.0 */ - private string $description = ''; + public string $description = ''; /** * Description raw. @@ -52,7 +52,7 @@ class TaskElement implements \JsonSerializable * @var string * @since 1.0.0 */ - private string $descriptionRaw = ''; + public string $descriptionRaw = ''; /** * Task. @@ -60,7 +60,7 @@ class TaskElement implements \JsonSerializable * @var int * @since 1.0.0 */ - private int $task = 0; + public int $task = 0; /** * Creator. @@ -68,7 +68,7 @@ class TaskElement implements \JsonSerializable * @var Account * @since 1.0.0 */ - private Account $createdBy; + public Account $createdBy; /** * Created. @@ -76,7 +76,7 @@ class TaskElement implements \JsonSerializable * @var \DateTimeImmutable * @since 1.0.0 */ - private \DateTimeImmutable $createdAt; + public \DateTimeImmutable $createdAt; /** * Status. @@ -92,7 +92,7 @@ class TaskElement implements \JsonSerializable * @var null|\DateTime * @since 1.0.0 */ - private ?\DateTime $due = null; + public ?\DateTime $due = null; /** * Priority @@ -151,40 +151,6 @@ class TaskElement implements \JsonSerializable return $this->id; } - /** - * @return \DateTimeImmutable - * - * @since 1.0.0 - */ - public function getCreatedAt() : \DateTimeImmutable - { - return $this->createdAt; - } - - /** - * @return Account - * - * @since 1.0.0 - */ - public function getCreatedBy() : Account - { - return $this->createdBy; - } - - /** - * Set created by - * - * @param Account $creator Creator - * - * @return void - * - * @since 1.0.0 - */ - public function setCreatedBy(Account $creator) : void - { - $this->createdBy = $creator; - } - /** * Get all media * @@ -211,83 +177,6 @@ class TaskElement implements \JsonSerializable $this->media[] = $media; } - /** - * Get description - * @return string - * - * @since 1.0.0 - */ - public function getDescription() : string - { - return $this->description; - } - - /** - * Set description - * - * @param string $description Description - * - * @return void - * - * @since 1.0.0 - */ - public function setDescription(string $description) : void - { - $this->description = $description; - } - - /** - * Get description - * - * @return string - * - * @since 1.0.0 - */ - public function getDescriptionRaw() : string - { - return $this->descriptionRaw; - } - - /** - * Set description - * - * @param string $description Description - * - * @return void - * - * @since 1.0.0 - */ - public function setDescriptionRaw(string $description) : void - { - $this->descriptionRaw = $description; - } - - /** - * Get due date - * - * @return null|\DateTime - * - * @since 1.0.0 - */ - public function getDue() : ?\DateTime - { - return $this->due; - } - - /** - * Set due date - * - * @param null|\DateTime $due Due date - * - * @return void - * - * @since 1.0.0 - */ - public function setDue(?\DateTime $due) : void - { - $this->due = $due; - } - /** * Get priority * @@ -624,32 +513,6 @@ class TaskElement implements \JsonSerializable $this->status = $status; } - /** - * Get task id - * - * @return int - * - * @since 1.0.0 - */ - public function getTask() : int - { - return $this->task; - } - - /** - * Set task i - * - * @param int $task Task id - * - * @return void - * - * @since 1.0.0 - */ - public function setTask(int $task) : void - { - $this->task = $task; - } - /** * {@inheritdoc} */ diff --git a/Theme/Backend/task-dashboard.tpl.php b/Theme/Backend/task-dashboard.tpl.php index 5dd55f8..4c38687 100755 --- a/Theme/Backend/task-dashboard.tpl.php +++ b/Theme/Backend/task-dashboard.tpl.php @@ -59,17 +59,17 @@ echo $this->getData('nav')->render(); ?>