* Modify task required item.
This commit is contained in:
+11
-2
@@ -28,7 +28,7 @@ class taskModel extends model
|
||||
|
||||
if(strpos($this->config->task->activate->requiredFields, 'comment') !== false && !$comment)
|
||||
{
|
||||
dao::$errors[] = sprintf($this->lang->error->notempty, $this->lang->comment);
|
||||
dao::$errors['comment'] = sprintf($this->lang->error->notempty, $this->lang->comment);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -331,6 +331,14 @@ class taskModel extends model
|
||||
*/
|
||||
public function afterUpdate(object $oldTask, object $task): void
|
||||
{
|
||||
/* Update children task. */
|
||||
if(isset($task->execution) && $task->execution != $oldTask->execution)
|
||||
{
|
||||
$newExecution = $this->loadModel('execution')->getByID((int)$task->execution);
|
||||
$task->project = $newExecution->project;
|
||||
$this->dao->update(TABLE_TASK)->set('execution')->eq($task->execution)->set('module')->eq($task->module)->set('project')->eq($task->project)->where('parent')->eq($task->id)->exec();
|
||||
}
|
||||
|
||||
/* Multi-task change to normal task. */
|
||||
if($task->mode == 'single') $this->dao->delete()->from(TABLE_TASKTEAM)->where('task')->eq($task->id)->exec();
|
||||
|
||||
@@ -2720,8 +2728,9 @@ class taskModel extends model
|
||||
}
|
||||
|
||||
$requiredFields = $this->taskTao->getRequiredFields4Edit($task);
|
||||
$this->taskTao->doUpdate($task, $oldTask, $requiredFields);
|
||||
if(dao::isError()) return false;
|
||||
|
||||
$this->taskTao->doUpdate($task, $oldTask, $requiredFields);
|
||||
if(dao::isError()) return false;
|
||||
|
||||
$this->afterUpdate($oldTask, $task);
|
||||
|
||||
+2
-16
@@ -548,14 +548,6 @@ class taskTao extends taskModel
|
||||
$execution = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($task->execution)->fetch();
|
||||
if($this->isNoStoryExecution($execution)) $task->story = 0;
|
||||
|
||||
/* Update children task. */
|
||||
if(isset($task->execution) && $task->execution != $oldTask->execution)
|
||||
{
|
||||
$newExecution = $this->loadModel('execution')->getByID((int)$task->execution);
|
||||
$task->project = $newExecution->project;
|
||||
$this->dao->update(TABLE_TASK)->set('execution')->eq($task->execution)->set('module')->eq($task->module)->set('project')->eq($task->project)->where('parent')->eq($task->id)->exec();
|
||||
}
|
||||
|
||||
/* Set the datetime and operator when the task is modified. */
|
||||
if(empty($task->lastEditedDate) || empty($task->lastEditedBy))
|
||||
{
|
||||
@@ -867,22 +859,16 @@ class taskTao extends taskModel
|
||||
* @access protected
|
||||
* @return string
|
||||
*/
|
||||
protected function getRequiredFields4Edit(object $task): string
|
||||
protected function getRequiredFields4Edit(object $task): string|bool
|
||||
{
|
||||
$execution = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->eq($task->execution)->fetch();
|
||||
|
||||
$requiredFields = ',' . $this->config->task->edit->requiredFields . ',';
|
||||
if($this->isNoStoryExecution($execution)) $requiredFields = str_replace(',story,', ',', $requiredFields);
|
||||
|
||||
if($task->status != 'cancel' && strpos($requiredFields, ',estimate,') !== false)
|
||||
{
|
||||
if(empty($task->estimate)) dao::$errors['estimate'] = sprintf($this->lang->error->notempty, $this->lang->task->estimate);
|
||||
$requiredFields = str_replace(',estimate,', ',', $requiredFields);
|
||||
}
|
||||
|
||||
if(strpos(',doing,pause,', $task->status) && empty($task->left))
|
||||
{
|
||||
dao::$errors[] = sprintf($this->lang->task->error->leftEmptyAB, $this->lang->task->statusList[$task->status]);
|
||||
dao::$errors['left'] = sprintf($this->lang->task->error->leftEmptyAB, $this->lang->task->statusList[$task->status]);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -330,7 +330,7 @@ formPanel
|
||||
(
|
||||
set::width('1/2'),
|
||||
set::label($lang->task->assignedTo),
|
||||
set::required($isMultiple),
|
||||
set::required($isMultiple || strpos(",{$this->config->task->activate->requiredFields},", ',assignedTo,')),
|
||||
inputGroup
|
||||
(
|
||||
picker
|
||||
@@ -339,6 +339,7 @@ formPanel
|
||||
set::name('assignedTo'),
|
||||
set::items($isMultiple ? $teamMembers : $members),
|
||||
set::value($isMultiple ? '' : $task->finishedBy),
|
||||
set::required(strpos(",{$this->config->task->activate->requiredFields},", ',assignedTo,') !== false),
|
||||
on::change('setTeamUser')
|
||||
),
|
||||
$modalTeamBtn
|
||||
@@ -350,11 +351,9 @@ formPanel
|
||||
formGroup
|
||||
(
|
||||
set::label($lang->comment),
|
||||
editor
|
||||
(
|
||||
set::name('comment'),
|
||||
set::rows('5')
|
||||
)
|
||||
set::control('editor'),
|
||||
set::name('comment'),
|
||||
set::rows('5')
|
||||
),
|
||||
modalTrigger
|
||||
(
|
||||
|
||||
@@ -411,16 +411,19 @@ detailBody
|
||||
(
|
||||
set::name($lang->task->estimate),
|
||||
set::required(strpos(",{$this->config->task->edit->requiredFields},", ",estimate,") !== false),
|
||||
inputControl
|
||||
formGroup
|
||||
(
|
||||
input
|
||||
inputControl
|
||||
(
|
||||
set::name('estimate'),
|
||||
set::value($task->estimate),
|
||||
!empty($task->team) ? set::readonly(true) : null
|
||||
),
|
||||
to::suffix($lang->task->suffixHour),
|
||||
set::suffixWidth(20)
|
||||
input
|
||||
(
|
||||
set::name('estimate'),
|
||||
set::value($task->estimate),
|
||||
!empty($task->team) ? set::readonly(true) : null
|
||||
),
|
||||
to::suffix($lang->task->suffixHour),
|
||||
set::suffixWidth(20)
|
||||
)
|
||||
)
|
||||
),
|
||||
item
|
||||
@@ -448,16 +451,19 @@ detailBody
|
||||
item
|
||||
(
|
||||
set::name($lang->task->left),
|
||||
inputControl
|
||||
formGroup
|
||||
(
|
||||
input
|
||||
inputControl
|
||||
(
|
||||
set::name('left'),
|
||||
set::value($task->left),
|
||||
!empty($task->team) ? set::readonly(true) : null
|
||||
),
|
||||
to::suffix($lang->task->suffixHour),
|
||||
set::suffixWidth(20)
|
||||
input
|
||||
(
|
||||
set::name('left'),
|
||||
set::value($task->left),
|
||||
!empty($task->team) ? set::readonly(true) : null
|
||||
),
|
||||
to::suffix($lang->task->suffixHour),
|
||||
set::suffixWidth(20)
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
@@ -765,6 +765,7 @@ class taskZen extends task
|
||||
->setDefault('assignedTo', $oldTask->openedBy)
|
||||
->get();
|
||||
|
||||
if(strpos(",{$this->config->task->finish->requiredFields},", ',comment,') !== false && empty($_POST['comment'])) dao::$errors['comment'] = sprintf($this->lang->error->notempty, $this->lang->comment);
|
||||
if(!$this->post->currentConsumed && $oldTask->consumed == '0') dao::$errors['currentConsumed'][] = $this->lang->task->error->consumedEmpty;
|
||||
if($task->realStarted > $task->finishedDate) dao::$errors['finishedDate'][] = $this->lang->task->error->finishedDateSmall;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user