From 35ad0adf57fa1d309a7fa973c822cbe52f4e7266 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 15 Sep 2017 16:07:16 +0200 Subject: [PATCH] implement task permission view --- Controller.php | 7 ++----- Models/Task.php | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Controller.php b/Controller.php index b6e291b..5e6a80f 100644 --- a/Controller.php +++ b/Controller.php @@ -163,10 +163,9 @@ class Controller extends ModuleAbstract implements WebInterface $accountId = $request->getHeader()->getAccount(); - if ($task->getCreatedBy() === $accountId + if (!($task->getCreatedBy()->getId() === $accountId || $task->isCc($accountId) - || $task->isReceipient($accountId) - || $task->isForwarded($accountId) + || $task->isForwarded($accountId)) || !$this->app->accountManager->get($accountId)->hasPermission( PermissionType::READ, 1, $this->app->appName, self::MODULE_ID, PermissionState::TASK, $task->getId()) ) { @@ -177,8 +176,6 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Tasks/Theme/Backend/task-single'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response)); - - return $view; } diff --git a/Models/Task.php b/Models/Task.php index 0392110..620c83d 100644 --- a/Models/Task.php +++ b/Models/Task.php @@ -153,6 +153,22 @@ class Task implements \JsonSerializable return $key; } + public function isCc(int $id) : bool + { + return false; + } + + public function isForwarded(int $id) : bool + { + foreach($this->taskElements as $element) { + if($element->getForwarded()->getId() === $id) { + return true; + } + } + + return false; + } + /** * @return \DateTime *