Merge branch 'sprint/185_fixbug_lanzongjun_49335' into 'sprint/185'

* Fix bug #49335

See merge request easycorp/zentaopms!1910
This commit is contained in:
王怡栋
2022-02-23 04:58:52 +00:00
2 changed files with 39 additions and 1 deletions
+6 -1
View File
@@ -48,7 +48,7 @@ $config->task->custom->batchCreateFields = 'module,story,assignedTo,estimate,des
$config->task->custom->batchEditFields = 'module,assignedTo,status,pri,estimate,record,left';
$config->task->datatable = new stdclass();
$config->task->datatable->defaultField = array('id', 'pri', 'name', 'status', 'assignedTo', 'finishedBy', 'estimate', 'consumed', 'left', 'progress', 'deadline', 'actions');
$config->task->datatable->defaultField = array('id', 'pri', 'name', 'status', 'assignedTo', 'lane', 'finishedBy', 'estimate', 'consumed', 'left', 'progress', 'deadline', 'actions');
global $lang;
$config->task->datatable->fieldList['id']['title'] = 'idAB';
@@ -129,6 +129,11 @@ $config->task->datatable->fieldList['assignedTo']['fixed'] = 'no';
$config->task->datatable->fieldList['assignedTo']['width'] = '100';
$config->task->datatable->fieldList['assignedTo']['required'] = 'no';
$config->task->datatable->fieldList['lane']['title'] = 'lane';
$config->task->datatable->fieldList['lane']['fixed'] = 'no';
$config->task->datatable->fieldList['lane']['width'] = '90';
$config->task->datatable->fieldList['lane']['required'] = 'no';
$config->task->datatable->fieldList['assignedDate']['title'] = 'assignedDate';
$config->task->datatable->fieldList['assignedDate']['fixed'] = 'no';
$config->task->datatable->fieldList['assignedDate']['width'] = '110';
+33
View File
@@ -2118,6 +2118,26 @@ class taskModel extends model
if($task->parent > 0) $parents[$task->parent] = $task->parent;
}
$parents = $this->dao->select('*')->from(TABLE_TASK)->where('id')->in($parents)->fetchAll('id');
$lanes = array();
$cardsWhere = '';
foreach($tasks as $task)
{
if(empty($cardsWhere))
{
$cardsWhere = "cards like '%,{$task->id},%'";
}
else
{
$cardsWhere .= " or cards like '%,{$task->id},%'";
}
}
$lanes = $this->dao->select('t1.lane,t2.name,t1.cards')
->from(TABLE_KANBANCELL)->alias('t1')
->leftJoin(TABLE_KANBANLANE)->alias('t2')->on('t1.lane = t2.id')
->where('t1.kanban')->eq($executionID)
->andWhere("($cardsWhere)")
->fetchAll('cards');
foreach($tasks as $task)
{
@@ -2134,6 +2154,15 @@ class taskModel extends model
$task->parentName = $parent->name;
}
}
$task->lane = '';
if(!empty($lanes))
{
foreach($lanes as $lane)
{
if(strpos($lane->cards, $task->id) !== false) $task->lane = $lane->name;
}
}
}
return $this->processTasks($tasks);
@@ -3101,6 +3130,7 @@ class taskModel extends model
if($id == 'deadline') $class .= ' text-center';
if($id == 'deadline' and isset($task->delay)) $class .= ' delayed';
if($id == 'assignedTo') $class .= ' has-btn text-left';
if($id == 'lane') $class .= ' text-left';
if(strpos('progress', $id) !== false) $class .= ' text-right';
$title = '';
@@ -3182,6 +3212,9 @@ class taskModel extends model
case 'assignedTo':
$this->printAssignedHtml($task, $users);
break;
case 'lane':
echo trim($task->lane);
break;
case 'assignedDate':
echo substr($task->assignedDate, 5, 11);
break;