From 74339f0df56846bb295f322d9d79e87598eda219 Mon Sep 17 00:00:00 2001 From: sunguangming Date: Tue, 4 Jul 2023 09:58:41 +0800 Subject: [PATCH] * Only task team member can record effort. --- module/task/control.php | 6 +- module/task/css/recordworkhour.ui.css | 1 + module/task/ui/finish.html.php | 2 +- module/task/ui/recordworkhour.html.php | 130 +++++++++++++++---------- 4 files changed, 83 insertions(+), 56 deletions(-) diff --git a/module/task/control.php b/module/task/control.php index 405c5fa907..6466282108 100755 --- a/module/task/control.php +++ b/module/task/control.php @@ -410,7 +410,7 @@ class task extends control /* Common actions of task module and task. */ $this->taskZen->commonAction($taskID); $task = $this->task->getById($taskID); - $currentTeam = empty($task->team) ? $this->task->getTeamByAccount($task->team) : ''; + $currentTeam = !empty($task->team) ? $this->task->getTeamByAccount($task->team) : ''; /* Submit the data process after start the task form. */ if(!empty($_POST)) @@ -555,7 +555,7 @@ class task extends control $this->taskZen->commonAction($taskID); $task = $this->task->getById($taskID); - $currentTeam = empty($task->team) ? $this->task->getTeamByAccount($task->team) : ''; + $currentTeam = !empty($task->team) ? $this->task->getTeamByAccount($task->team) : ''; if(!empty($_POST)) { @@ -662,7 +662,7 @@ class task extends control /* Common actions of task module and task. */ $this->taskZen->commonAction($taskID); $task = $this->task->getById($taskID); - $currentTeam = empty($task->team) ? $this->task->getTeamByAccount($task->team) : ''; + $currentTeam = !empty($task->team) ? $this->task->getTeamByAccount($task->team) : ''; if(!empty($_POST)) { diff --git a/module/task/css/recordworkhour.ui.css b/module/task/css/recordworkhour.ui.css index ff3a8aca65..6e39708f4c 100644 --- a/module/task/css/recordworkhour.ui.css +++ b/module/task/css/recordworkhour.ui.css @@ -3,3 +3,4 @@ .panel-form .panel-heading {padding: 1.5rem 0 !important} .panel-form .panel-heading .panel-title {font-size: 14px} .panel-form .panel-body {padding: 0 0 1rem 0 !important} +div.alert {margin-bottom: 10px} diff --git a/module/task/ui/finish.html.php b/module/task/ui/finish.html.php index a3bd137605..a8ea4c3911 100644 --- a/module/task/ui/finish.html.php +++ b/module/task/ui/finish.html.php @@ -53,7 +53,7 @@ else $consumedControl = formGroup ( set::width('1/3'), - set::label($lang->task->currentConsumed), + set::label($lang->task->my . $lang->task->hasConsumed), div( set::class('consumed'), $task->myConsumed . $lang->task->suffixHour diff --git a/module/task/ui/recordworkhour.html.php b/module/task/ui/recordworkhour.html.php index 0dcd30296c..73081344d1 100644 --- a/module/task/ui/recordworkhour.html.php +++ b/module/task/ui/recordworkhour.html.php @@ -65,61 +65,87 @@ if($efforts) ); } -formBatchPanel -( - set::title($lang->task->addEffort), - set::shadow(!isAjaxRequest('modal')), - set::actions(array('submit')), - formBatchItem +if(!$this->task->canOperateEffort($task)) +{ + $notice = ''; + if(!isset($task->members[$app->user->account])) + { + $notice = p(sprintf($lang->task->deniedNotice, $lang->task->teamMember, $lang->task->logEfforts)); + } + elseif($task->assignedTo != $app->user->account and $task->mode == 'linear') + { + $notice = p(sprintf($lang->task->deniedNotice, $task->assignedToRealName, $lang->task->logEfforts)); + } + + div ( - set::name('id'), - set::label($lang->idAB), - set::control('index'), - set::width('32px'), - ), - formBatchItem - ( - set::name('date'), - set::label($lang->task->date), - set::width('120px'), - set::control('date'), - set::value(helper::today()) - ), - formBatchItem - ( - set::name('work'), - set::label($lang->task->work), - set::width('auto'), - set::control('textarea') - ), - formBatchItem - ( - set::name('consumed'), - set::label($lang->task->consumed), - set::width('80px'), - set::control + setClass('alert with-icon'), + icon('exclamation-sign'), + div ( - array( - 'type' => 'inputControl', - 'suffix' => $lang->task->suffixHour, - 'suffixWidth' => 20 + setClass('content'), + $notice + ) + ); +} +else +{ + formBatchPanel + ( + set::title($lang->task->addEffort), + set::shadow(!isAjaxRequest('modal')), + set::actions(array('submit')), + formBatchItem + ( + set::name('id'), + set::label($lang->idAB), + set::control('index'), + set::width('32px'), + ), + formBatchItem + ( + set::name('date'), + set::label($lang->task->date), + set::width('120px'), + set::control('date'), + set::value(helper::today()) + ), + formBatchItem + ( + set::name('work'), + set::label($lang->task->work), + set::width('auto'), + set::control('textarea') + ), + formBatchItem + ( + set::name('consumed'), + set::label($lang->task->consumed), + set::width('80px'), + set::control + ( + array( + 'type' => 'inputControl', + 'suffix' => $lang->task->suffixHour, + 'suffixWidth' => 20 + ) + ) + ), + formBatchItem + ( + set::name('left'), + set::label($lang->task->left), + set::width('80px'), + set::control + ( + array( + 'type' => 'inputControl', + 'suffix' => $lang->task->suffixHour, + 'suffixWidth' => 20 + ) ) ) - ), - formBatchItem - ( - set::name('left'), - set::label($lang->task->left), - set::width('80px'), - set::control - ( - array( - 'type' => 'inputControl', - 'suffix' => $lang->task->suffixHour, - 'suffixWidth' => 20 - ) - ) - ) -); + ); +} render();