From a69a040de556732b897c521820d577cbf280135b Mon Sep 17 00:00:00 2001 From: sunguangming Date: Sat, 23 Dec 2023 15:56:35 +0800 Subject: [PATCH] * Fix bug #41760. --- module/task/js/create.ui.js | 6 ++ module/task/ui/create.html.php | 154 +++++++++++++++++++++++---------- 2 files changed, 114 insertions(+), 46 deletions(-) diff --git a/module/task/js/create.ui.js b/module/task/js/create.ui.js index 6b61f23006..b6359e3b7c 100644 --- a/module/task/js/create.ui.js +++ b/module/task/js/create.ui.js @@ -7,6 +7,12 @@ $(function() $("input[name='after'][value='toTaskList']").prop('checked', true); } + if(task.mode != '') + { + $('[name="multiple"]').prop('checked', true); + toggleTeam(); + } + setStoryRelated(); }) diff --git a/module/task/ui/create.html.php b/module/task/ui/create.html.php index 91617b5c28..4ebc8cb505 100644 --- a/module/task/ui/create.html.php +++ b/module/task/ui/create.html.php @@ -33,6 +33,7 @@ jsVar('showFields', $showFields); jsVar('toTaskList', !empty($task->id)); jsVar('blockID', $blockID); jsVar('taskID', $taskID ?? 0); +jsVar('task', $task); jsVar('ditto', $lang->task->ditto); jsVar('teamMemberError', $lang->task->error->teamMember); jsVar('vision', $config->vision); @@ -129,56 +130,117 @@ $storyPreviewBtn = span ); $teamForm = array(); -for($i = 1; $i <= 3; $i ++) +if(empty($task->team)) { - $teamForm[] = h::tr - ( - h::td - ( - setClass('team-index'), - span + for($i = 1; $i <= 3; $i ++) + { + $teamForm[] = h::tr ( - setClass("team-number"), - $i - ), - icon('angle-down') - ), - h::td - ( - set::width('240px'), - picker - ( - set::name("team[]"), - set::items($members) - ) - ), - h::td - ( - set::width('135px'), - inputControl - ( - input + h::td ( - set::name("teamEstimate[]"), - set::placeholder($lang->task->estimateAB) + setClass('team-index'), + span + ( + setClass("team-number"), + $i + ), + icon('angle-down') ), - to::suffix($lang->task->suffixHour), - set::suffixWidth(20) - ) - ), - h::td - ( - set::width('100px'), - setClass('center'), - btnGroup + h::td + ( + set::width('240px'), + picker + ( + set::name("team[]"), + set::items($members) + ) + ), + h::td + ( + set::width('135px'), + inputControl + ( + input + ( + set::name("teamEstimate[]"), + set::placeholder($lang->task->estimateAB) + ), + to::suffix($lang->task->suffixHour), + set::suffixWidth(20) + ) + ), + h::td + ( + set::width('100px'), + setClass('center'), + btnGroup + ( + set::items(array( + array('icon' => 'plus', 'class' => 'btn ghost btn-add'), + array('icon' => 'trash', 'class' => 'btn ghost btn-delete') + )) + ) + ) + ); + } +} +else +{ + $i = 0; + foreach($task->team as $member) + { + $i ++; + $teamForm[] = h::tr ( - set::items(array( - array('icon' => 'plus', 'class' => 'btn ghost btn-add'), - array('icon' => 'trash', 'class' => 'btn ghost btn-delete') - )) - ) - ) - ); + h::td + ( + setClass('team-index'), + span + ( + setClass("team-number"), + $i + ), + icon('angle-down') + ), + h::td + ( + set::width('240px'), + picker + ( + set::name("team[]"), + set::items($members), + set::value($member->account) + ) + ), + h::td + ( + set::width('135px'), + inputControl + ( + input + ( + set::name("teamEstimate[]"), + set::placeholder($lang->task->estimateAB), + set::value($member->estimate) + ), + to::suffix($lang->task->suffixHour), + set::suffixWidth(20) + ) + ), + h::td + ( + set::width('100px'), + setClass('center'), + btnGroup + ( + set::items(array( + array('icon' => 'plus', 'class' => 'btn ghost btn-add'), + array('icon' => 'trash', 'class' => 'btn ghost btn-delete') + )) + ) + ) + ); + } } $selectStoryRow = ''; @@ -231,7 +293,7 @@ formPanel picker ( set::name("mode"), - set::value("linear"), + !empty($task->mode) ? set::value($task->mode) : set::value("linear"), set::items($lang->task->modeList), set::required(true) )