Merge branch 'sprint_liuhong' into 'master'
Sprint liuhong See merge request easycorp/zentaopms!5040
This commit is contained in:
@@ -95,7 +95,8 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::a($this->createLink('task', 'view', "taskID=$task->id", '', '', $task->project), $task->name, null, "style='color: $task->color'");
|
||||
$class = ($task->executionType == 'kanban') ? 'iframe' : '';
|
||||
echo html::a($this->createLink('task', 'view', "taskID=$task->id", '', true, $task->project), $task->name, null, "class='$class' data-width='80%' style='color: $task->color'");
|
||||
}
|
||||
?>
|
||||
<?php if(!empty($task->children)) echo '<a class="task-toggle" data-id="' . $task->id . '"><i class="icon icon-angle-double-right"></i></a>';?>
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
<tr>
|
||||
<td class='c-id-xs'><?php echo sprintf('%03d', $task->id);?></td>
|
||||
<td class='c-pri <?php if($longBlock) echo "c-pri-long"?>'><span class='label-pri label-pri-<?php echo $task->pri;?>' title='<?php echo zget($lang->task->priList, $task->pri, $task->pri)?>'><?php echo zget($lang->task->priList, $task->pri, $task->pri)?></span></td>
|
||||
<td class='c-name' style='color: <?php echo $task->color?>' title='<?php echo $task->name?>'><?php echo html::a($this->createLink('task', 'view', "taskID=$task->id", '', '', $task->project), $task->name)?></td>
|
||||
<?php $class = ($task->executionType == 'kanban') ? 'iframe' : '';?>
|
||||
<td class='c-name' style='color: <?php echo $task->color?>' title='<?php echo $task->name?>'><?php echo html::a($this->createLink('task', 'view', "taskID=$task->id", '', true, $task->project), $task->name, null, "class='$class' data-width='80%' data-toggle='modal'")?></td>
|
||||
<?php if($longBlock):?>
|
||||
<td class='c-estimate text-center' title="<?php echo $task->estimate . ' ' . $lang->execution->workHour;?>"><?php echo $task->estimate . $lang->execution->workHourUnit;?></td>
|
||||
<td class='c-deadline'><?php if(substr($task->deadline, 0, 4) > 0) echo $task->deadline;?></td>
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<td><?php echo zget($users, $story->openedBy);?></td>
|
||||
<td><?php echo zget($users, $story->assignedTo);?></td>
|
||||
<td class='w-right' title="<?php echo $story->estimate . ' ' . $lang->hourCommon;?>"><?php echo $story->estimate . $config->hourUnit;?></td>
|
||||
<td>
|
||||
<td style='padding-right:10px;'>
|
||||
<span class='status-story status-<?php echo $story->status?>'>
|
||||
<?php echo $this->processStatus('story', $story);?>
|
||||
</span>
|
||||
|
||||
@@ -204,9 +204,9 @@ tbody tr td:first-child input {display: none;}
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo zget($users, $bug->openedBy);?></td>
|
||||
<td><?php echo substr($bug->openedDate, 5, 11)?></td>
|
||||
<td><?php echo helper::isZeroDate($bug->openedDate) ? '' : substr($bug->openedDate, 5, 11);?></td>
|
||||
<td><?php echo zget($users, $bug->resolvedBy);?></td>
|
||||
<td><?php echo substr($bug->resolvedDate, 5, 11)?></td>
|
||||
<td><?php echo helper::isZeroDate($bug->resolvedDate) ? '' : substr($bug->resolvedDate, 5, 11);?></td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
if($canBeChanged and common::hasPriv('build', 'unlinkBug'))
|
||||
@@ -286,9 +286,9 @@ tbody tr td:first-child input {display: none;}
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo zget($users, $bug->openedBy);?></td>
|
||||
<td><?php echo substr($bug->openedDate, 5, 11)?></td>
|
||||
<td><?php echo helper::isZeroDate($bug->openedDate) ? '' : substr($bug->openedDate, 5, 11);?></td>
|
||||
<td><?php echo zget($users, $bug->resolvedBy);?></td>
|
||||
<td><?php echo substr($bug->resolvedDate, 5, 11)?></td>
|
||||
<td><?php echo helper::isZeroDate($bug->resolvedDate) ? '' : substr($bug->resolvedDate, 5, 11);?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
|
||||
@@ -1578,7 +1578,8 @@ class executionModel extends model
|
||||
->beginIF($projectID)->andWhere('project')->eq((int)$projectID)->fi()
|
||||
->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->sprints)->fi()
|
||||
->beginIF($status == 'undone')->andWhere('status')->notIN('done,closed')->fi()
|
||||
->beginIF($status != 'all' and $status != 'undone')->andWhere('status')->in($status)->fi()
|
||||
->beginIF($status != 'all' and $status != 'undone' and $status != 'noclosed')->andWhere('status')->in($status)->fi()
|
||||
->beginIF($status == 'noclosed')->andWhere('status')->ne('closed')->fi()
|
||||
->beginIF($devel === true)->andWhere('attribute')->in('dev,qa,release')->fi()
|
||||
->orderBy($orderBy)
|
||||
->beginIF($limit)->limit($limit)->fi()
|
||||
|
||||
@@ -132,9 +132,9 @@
|
||||
</td>
|
||||
<td class='c-pri'><span class='label-pri <?php echo 'label-pri-' . $child->pri;?>' title='<?php echo zget($lang->story->priList, $child->pri, $child->pri);?>'><?php echo zget($lang->story->priList, $child->pri, $child->pri);?></span></td>
|
||||
<td class='c-name nobr'>
|
||||
<?php echo '<span class="label label-badge label-light" title="' . $this->lang->story->children .'">' . $this->lang->story->childrenAB . '</span> ' . html::a($storyLink, $child->title, null, "style='color: $child->color' data-group='product'");?>
|
||||
<?php echo '<span class="label label-badge label-light" title="' . $this->lang->story->children .'">' . $this->lang->story->childrenAB . '</span> ' . html::a($storyLink, $child->title, null, "style='color: $child->color' data-group='product' title='$child->title'");?>
|
||||
</td>
|
||||
<td class='c-product'><?php echo $child->productTitle;?></td>
|
||||
<td class='c-product' title='<?php echo $child->productTitle;?>'><?php echo $child->productTitle;?></td>
|
||||
<td class='c-plan'><?php echo $child->planTitle;?></td>
|
||||
<td class='c-user'><?php echo zget($users, $child->openedBy);?></td>
|
||||
<td class='c-hours'><?php echo $child->estimate . $config->hourUnit;?></td>
|
||||
|
||||
@@ -108,7 +108,8 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::a($this->createLink('task', 'view', "taskID=$task->id", '', '', $task->project), $task->name, null, "style='color: $task->color'");
|
||||
$class = ($task->executionType == 'kanban') ? 'iframe' : '';
|
||||
echo html::a($this->createLink('task', 'view', "taskID=$task->id", '', true, $task->project), $task->name, null, "class='$class' data-width='80%' style='color: $task->color'");
|
||||
}
|
||||
?>
|
||||
<?php if(!empty($task->children)) echo '<a class="task-toggle" data-id="' . $task->id . '"><i class="icon icon-angle-double-right"></i></a>';?>
|
||||
|
||||
@@ -38,6 +38,7 @@ $config->product->search['fields']['category'] = $lang->story->category;
|
||||
|
||||
$config->product->search['fields']['openedBy'] = $lang->story->openedBy;
|
||||
$config->product->search['fields']['reviewedBy'] = $lang->story->reviewedBy;
|
||||
$config->product->search['fields']['result'] = $lang->story->reviewResultAB;
|
||||
$config->product->search['fields']['assignedTo'] = $lang->story->assignedTo;
|
||||
$config->product->search['fields']['closedBy'] = $lang->story->closedBy;
|
||||
$config->product->search['fields']['lastEditedBy'] = $lang->story->lastEditedBy;
|
||||
@@ -73,6 +74,7 @@ $config->product->search['params']['category'] = array('operator' => '=',
|
||||
|
||||
$config->product->search['params']['openedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
$config->product->search['params']['reviewedBy'] = array('operator' => 'include', 'control' => 'select', 'values' => 'users');
|
||||
$config->product->search['params']['result'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->story->reviewResultList);
|
||||
$config->product->search['params']['assignedTo'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
$config->product->search['params']['closedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
$config->product->search['params']['lastEditedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
|
||||
|
||||
@@ -1156,16 +1156,18 @@ class productModel extends model
|
||||
* @param int $productID
|
||||
* @param int $branch
|
||||
* @param int $appendProject
|
||||
* @param string $status all|closed|unclosed
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getProjectPairsByProduct($productID, $branch = 0, $appendProject = 0)
|
||||
public function getProjectPairsByProduct($productID, $branch = 0, $appendProject = 0, $status = '')
|
||||
{
|
||||
$product = $this->getById($productID);
|
||||
|
||||
$projects = $this->dao->select('t2.id,t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
|
||||
->where('t1.product')->eq($productID)
|
||||
->beginIF($status == 'closed')->andWhere('t2.status')->ne('closed')->fi()
|
||||
->beginIF($this->config->systemMode == 'new')->andWhere('t2.type')->eq('project')->fi()
|
||||
->beginIF($this->config->systemMode == 'classic')->andWhere('t2.type')->eq('sprint')->fi()
|
||||
->beginIF(!$this->app->user->admin and $this->config->systemMode == 'new')->andWhere('t2.id')->in($this->app->user->view->projects)->fi()
|
||||
|
||||
@@ -362,7 +362,7 @@ class productplan extends control
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->plans = $this->productplan->getList($productID, $branch, $browseType, $pager, $sort, "", $queryID);
|
||||
$this->view->pager = $pager;
|
||||
$this->view->projects = $this->product->getProjectPairsByProduct($productID, $branch);
|
||||
$this->view->projects = $this->product->getProjectPairsByProduct($productID, $branch, '', $status = 'closed');
|
||||
$this->view->statusList = $this->lang->productplan->featureBar['browse'];
|
||||
$this->view->queryID = $queryID;
|
||||
$this->display();
|
||||
@@ -615,7 +615,7 @@ class productplan extends control
|
||||
*/
|
||||
public function ajaxGetProjects($productID, $branch = 0)
|
||||
{
|
||||
$projects = $this->loadModel('product')->getProjectPairsByProduct($productID, $branch);
|
||||
$projects = $this->loadModel('product')->getProjectPairsByProduct($productID, $branch, '', $status = 'closed');
|
||||
echo html::select('project', $projects, key($projects), "class='form-control chosen'");
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<th class='c-user'><?php echo $lang->openedByAB;?></th>
|
||||
<th class='c-user'><?php echo $lang->assignedToAB;?></th>
|
||||
<th class='c-estimate text-right'><?php echo $lang->story->estimateAB;?></th>
|
||||
<th class='c-status'><?php echo $lang->statusAB;?></th>
|
||||
<th class='c-status text-center'><?php echo $lang->statusAB;?></th>
|
||||
<th class='c-stage'><?php echo $lang->story->stageAB;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -57,7 +57,7 @@
|
||||
<td><?php echo zget($users, $story->openedBy);?></td>
|
||||
<td><?php echo zget($users, $story->assignedTo);?></td>
|
||||
<td class='text-right' title="<?php echo $story->estimate . ' ' . $lang->hourCommon;?>"><?php echo $story->estimate . $config->hourUnit;?></td>
|
||||
<td><span class='status-story status-<?php echo $story->status?>'><?php echo $this->processStatus('story', $story);?></span></td>
|
||||
<td class='text-center' style='padding-right:10px'><span class='status-story status-<?php echo $story->status?>'><?php echo $this->processStatus('story', $story);?></span></td>
|
||||
<td><?php echo zget($lang->story->stageList, $story->stage);?></td>
|
||||
</tr>
|
||||
<?php $unlinkedCount++;?>
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
<th class='c-pri' title='<?php echo $lang->pri;?>'><?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class="text-left"><?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<th class='c-user'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-80px text-right'><?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
<th class='w-80px text-right' style='padding-right:20px'><?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
<th class='w-90px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('stage', $orderBy, $vars, $lang->story->stageAB);?></th>
|
||||
<th class='c-actions-1'><?php echo $lang->actions?></th>
|
||||
@@ -99,7 +99,7 @@
|
||||
?>
|
||||
</td>
|
||||
<td><?php echo zget($users, $story->openedBy);?></td>
|
||||
<td class='text-right' title="<?php echo $story->estimate . ' ' . $lang->hourCommon;?>"><?php echo $story->estimate . $config->hourUnit;?></td>
|
||||
<td class='text-right' style='padding-right:25px' title="<?php echo $story->estimate . ' ' . $lang->hourCommon;?>"><?php echo $story->estimate . $config->hourUnit;?></td>
|
||||
<td>
|
||||
<span class='status-story status-<?php echo $story->status;?>'><?php echo $this->processStatus('story', $story);?></span>
|
||||
</td>
|
||||
@@ -192,9 +192,9 @@
|
||||
<span class='status-bug status-<?php echo $bug->status?>'><?php echo $this->processStatus('bug', $bug);?></span>
|
||||
</td>
|
||||
<td><?php echo zget($users, $bug->openedBy);?></td>
|
||||
<td><?php echo substr($bug->openedDate, 5, 11)?></td>
|
||||
<td><?php echo helper::isZeroDate($bug->openedDate) ? '' : substr($bug->openedDate, 5, 11);?></td>
|
||||
<td><?php echo zget($users, $bug->resolvedBy);?></td>
|
||||
<td><?php echo substr($bug->resolvedDate, 5, 11)?></td>
|
||||
<td><?php echo helper::isZeroDate($bug->resolvedDate) ? '' : substr($bug->resolvedDate, 5, 11);?></td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
if(common::hasPriv('projectrelease', 'unlinkBug') and $canBeChanged)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<td><?php echo zget($users, $story->openedBy);?></td>
|
||||
<td><?php echo zget($users, $story->assignedTo);?></td>
|
||||
<td class='text-right' title="<?php echo $story->estimate . ' ' . $lang->hourCommon;?>"><?php echo $story->estimate . $config->hourUnit;?></td>
|
||||
<td class='text-center'><span class='status-story status-<?php echo $story->status?>'><?php echo $this->processStatus('story', $story);?></span></td>
|
||||
<td class='text-center' style='padding-right:10px;'><span class='status-story status-<?php echo $story->status?>'><?php echo $this->processStatus('story', $story);?></span></td>
|
||||
<td><?php echo zget($lang->story->stageList, $story->stage);?></td>
|
||||
</tr>
|
||||
<?php $unlinkedCount++;?>
|
||||
|
||||
@@ -148,6 +148,7 @@ $lang->story->linkRequirements = "Linked {$lang->URCommon}";
|
||||
$lang->story->childStories = 'Story aufteilen';
|
||||
$lang->story->duplicateStory = 'Story ID kopieren';
|
||||
$lang->story->reviewResult = 'Ergbnis prüfen';
|
||||
$lang->story->reviewResultAB = 'Bewertungsergebnisse';
|
||||
$lang->story->preVersion = 'Frühere Version';
|
||||
$lang->story->keywords = 'Tags';
|
||||
$lang->story->newStory = 'Weitere Story';
|
||||
|
||||
@@ -148,6 +148,7 @@ $lang->story->linkRequirements = "Linked {$lang->URCommon}";
|
||||
$lang->story->childStories = 'Decomposed Story';
|
||||
$lang->story->duplicateStory = 'Duplicated Story ID';
|
||||
$lang->story->reviewResult = 'Review Result';
|
||||
$lang->story->reviewResultAB = 'Assessment results';
|
||||
$lang->story->preVersion = 'Last Version';
|
||||
$lang->story->keywords = 'Tags';
|
||||
$lang->story->newStory = 'Continue adding';
|
||||
|
||||
@@ -148,6 +148,7 @@ $lang->story->linkRequirements = "{$lang->URCommon} Lié es";
|
||||
$lang->story->childStories = 'Stories Décomposées';
|
||||
$lang->story->duplicateStory = 'Story ID Dupliquées';
|
||||
$lang->story->reviewResult = 'Résultat Validation';
|
||||
$lang->story->reviewResultAB = 'Résultats de lévaluation';
|
||||
$lang->story->preVersion = 'Dernière Version';
|
||||
$lang->story->keywords = 'Tags';
|
||||
$lang->story->newStory = "Continuer d'ajouter";
|
||||
|
||||
@@ -141,6 +141,7 @@ $lang->story->linkStories = 'Câu chuyện liên kết';
|
||||
$lang->story->childStories = 'Câu chuyện được phân rã';
|
||||
$lang->story->duplicateStory = 'ID câu chuyện được nhân bản';
|
||||
$lang->story->reviewResult = 'Duyệt kết quả';
|
||||
$lang->story->reviewResultAB = 'Kết quả đánh giá';
|
||||
$lang->story->preVersion = 'Phiên bản mới nhất';
|
||||
$lang->story->keywords = 'Tags';
|
||||
$lang->story->newStory = 'Tiếp tục thêm';
|
||||
|
||||
@@ -148,6 +148,7 @@ $lang->story->linkRequirements = "相关{$lang->URCommon}";
|
||||
$lang->story->childStories = "细分需求";
|
||||
$lang->story->duplicateStory = "重复需求ID";
|
||||
$lang->story->reviewResult = '评审意见';
|
||||
$lang->story->reviewResultAB = '评审结果';
|
||||
$lang->story->preVersion = '之前版本';
|
||||
$lang->story->keywords = '关键词';
|
||||
$lang->story->newStory = "继续添加{$lang->SRCommon}";
|
||||
|
||||
@@ -139,6 +139,7 @@ $lang->story->linkStories = "相關{$lang->SRCommon}";
|
||||
$lang->story->childStories = "細分需求";
|
||||
$lang->story->duplicateStory = "重複需求ID";
|
||||
$lang->story->reviewResult = '評審意見';
|
||||
$lang->story->reviewResultAB = '評審結果';
|
||||
$lang->story->preVersion = '之前版本';
|
||||
$lang->story->keywords = '關鍵詞';
|
||||
$lang->story->newStory = "繼續添加{$lang->SRCommon}";
|
||||
|
||||
@@ -2973,6 +2973,26 @@ class storyModel extends model
|
||||
return $this->getBySQL($queryProductID, $storyQuery, $orderBy, $pager, $type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Story changed Revert ObjectID.
|
||||
*
|
||||
* @param int $productID
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getRevertStoryIDList($productID)
|
||||
{
|
||||
$review = $this->dao->select('objectID')->from(TABLE_ACTION)
|
||||
->where('product')->like("%,$productID,%")
|
||||
->andWhere('action')->eq('reviewed')
|
||||
->andWhere('objectType')->eq('story')
|
||||
->andWhere('extra')->eq('Revert')
|
||||
->groupBy('objectID')
|
||||
->orderBy('id_desc')
|
||||
->fetchPairs();
|
||||
return $review;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get stories by a sql.
|
||||
*
|
||||
@@ -2992,9 +3012,24 @@ class storyModel extends model
|
||||
->beginIF($productID != 'all' and $productID != '')->andWhere('product')->eq((int)$productID)->fi()
|
||||
->fetchPairs();
|
||||
|
||||
$review = $this->getRevertStoryIDList($productID);
|
||||
$sql = str_replace(array('`product`', '`version`', '`branch`'), array('t1.`product`', 't1.`version`', 't1.`branch`'), $sql);
|
||||
if(strpos($sql,'result')!== false)
|
||||
{
|
||||
if(strpos($sql,'revert')!== false)
|
||||
{
|
||||
$sql = str_replace("AND `result` = 'revert'", '', $sql);
|
||||
$sql .= " AND t1.`id` " . helper::dbIN($review);
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = str_replace(array('`result`'), array('t3.`result`'), $sql);
|
||||
}
|
||||
}
|
||||
|
||||
$tmpStories = $this->dao->select('DISTINCT t1.*')->from(TABLE_STORY)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECTSTORY)->alias('t2')->on('t1.id=t2.story')
|
||||
->beginIF(strpos($sql,'result')!== false)->leftJoin(TABLE_STORYREVIEW)->alias('t3')->on('t1.id = t3.story and t1.version = t3.version')->fi()
|
||||
->where($sql)
|
||||
->beginIF($productID != 'all' and $productID != '')->andWhere('t1.`product`')->eq((int)$productID)->fi()
|
||||
->andWhere('t1.deleted')->eq(0)
|
||||
@@ -3014,6 +3049,7 @@ class storyModel extends model
|
||||
foreach($storyPlans as $planID) $story->planTitle .= zget($plans, $planID, '') . ' ';
|
||||
$stories[$story->id] = $story;
|
||||
}
|
||||
|
||||
return $stories;
|
||||
}
|
||||
|
||||
@@ -3074,9 +3110,27 @@ class storyModel extends model
|
||||
}
|
||||
$storyQuery = preg_replace('/`(\w+)`/', 't2.`$1`', $storyQuery);
|
||||
|
||||
$products = $this->loadModel('product')->getProducts($executionID);
|
||||
if($products) $productID = key($products);
|
||||
$review = $this->getRevertStoryIDList($productID);
|
||||
|
||||
if(strpos($storyQuery,'result')!== false)
|
||||
{
|
||||
if(strpos($storyQuery,'revert')!== false)
|
||||
{
|
||||
$storyQuery = str_replace("AND t2.`result` = 'revert'", '', $storyQuery);
|
||||
$storyQuery .= " AND t2.`id` " . helper::dbIN($review);
|
||||
}
|
||||
else
|
||||
{
|
||||
$storyQuery = str_replace(array('t2.`result`'), array('t4.`result`'), $storyQuery);
|
||||
}
|
||||
}
|
||||
|
||||
$stories = $this->dao->select('distinct t1.*, t2.*, t3.type as productType, t2.version as version')->from(TABLE_PROJECTSTORY)->alias('t1')
|
||||
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
|
||||
->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t2.product = t3.id')
|
||||
->beginIF(strpos($storyQuery,'result')!== false)->leftJoin(TABLE_STORYREVIEW)->alias('t4')->on('t2.id = t4.story and t2.version = t4.version')->fi()
|
||||
->where($storyQuery)
|
||||
->andWhere('t1.project')->eq((int)$executionID)
|
||||
->andWhere('t2.deleted')->eq(0)
|
||||
|
||||
@@ -45,7 +45,7 @@ class task extends control
|
||||
parse_str($extra, $output);
|
||||
|
||||
if(!empty($executionID)) $execution = $this->execution->getById($executionID);
|
||||
$executions = $this->execution->getPairs(0, 'all', isset($execution) ? (!common::canModify('execution', $execution) ? 'noclosed' : '') : 'noclosed');
|
||||
$executions = $this->execution->getPairs(0, 'all', 'noclosed');
|
||||
$executionID = $this->execution->saveState($executionID, $executions);
|
||||
$execution = $this->execution->getById($executionID);
|
||||
$this->execution->setMenu($executionID);
|
||||
@@ -291,7 +291,7 @@ class task extends control
|
||||
/* Set Custom*/
|
||||
foreach(explode(',', $this->config->task->customCreateFields) as $field) $customFields[$field] = $this->lang->task->$field;
|
||||
|
||||
$executions = $this->config->systemMode == 'classic' ? $executions : $this->execution->getByProject($projectID, !common::canModify('execution', $execution) ? 'noclosed' : 'all', 0, true);
|
||||
$executions = $this->config->systemMode == 'classic' ? $executions : $this->execution->getByProject($projectID, 'noclosed', 0, true);
|
||||
|
||||
$this->view->customFields = $customFields;
|
||||
$this->view->showFields = $this->config->task->custom->createFields;
|
||||
|
||||
@@ -3464,7 +3464,7 @@ class taskModel extends model
|
||||
$storyChanged = (!empty($task->storyStatus) and $task->storyStatus == 'active' and $task->latestStoryVersion > $task->storyVersion and !in_array($task->status, array('cancel', 'closed')));
|
||||
|
||||
$canView = common::hasPriv('task', 'view');
|
||||
$taskLink = helper::createLink('task', 'view', "taskID=$task->id");
|
||||
$taskLink = helper::createLink('task', 'view', "taskID=$task->id", '', true);
|
||||
$account = $this->app->user->account;
|
||||
$id = $col->id;
|
||||
if($col->show)
|
||||
@@ -3522,7 +3522,7 @@ class taskModel extends model
|
||||
if($task->module and isset($modulePairs[$task->module])) echo "<span class='label label-gray label-badge'>" . $modulePairs[$task->module] . '</span> ';
|
||||
if($task->parent > 0) echo '<span class="label label-badge label-light" title="' . $this->lang->task->children . '">' . $this->lang->task->childrenAB . '</span> ';
|
||||
if(!empty($task->team)) echo '<span class="label label-badge label-light" title="' . $this->lang->task->multiple . '">' . $this->lang->task->multipleAB . '</span> ';
|
||||
echo $canView ? html::a($taskLink, $task->name, null, "style='color: $task->color' title='$task->name'") : "<span style='color: $task->color'>$task->name</span>";
|
||||
echo $canView ? html::a($taskLink, $task->name, null, "style='color: $task->color' title='$task->name' class='iframe'") : "<span style='color: $task->color'>$task->name</span>";
|
||||
if(!empty($task->children)) echo '<a class="task-toggle" data-id="' . $task->id . '"><i class="icon icon-angle-double-right"></i></a>';
|
||||
if($task->fromBug) echo html::a(helper::createLink('bug', 'view', "id=$task->fromBug"), "[BUG#$task->fromBug]", '', "class='bug'");
|
||||
break;
|
||||
|
||||
@@ -61,7 +61,8 @@
|
||||
<td class='text-left nobr'>
|
||||
<?php if(!empty($task->team)) echo '<span class="label label-badge label-light">' . $this->lang->task->multipleAB . '</span> ';?>
|
||||
<?php if($task->parent > 0) echo '<span class="label label-badge label-light">' . $this->lang->task->childrenAB . '</span> ';?>
|
||||
<?php echo html::a($this->createLink('task', 'view', "taskID=$task->id"), $task->name, null, "style='color: $task->color'");?>
|
||||
<?php $class = ($task->executionType == 'kanban') ? 'iframe' : '';?>
|
||||
<?php echo html::a($this->createLink('task', 'view', "taskID=$task->id", '', true, $task->project), $task->name, null, "class='$class' data-width='80%' style='color: $task->color'");?>
|
||||
</td>
|
||||
<td class='hours' title="<?php echo $task->estimate . ' ' . $lang->execution->workHour;?>"><?php echo $task->estimate . $lang->execution->workHourUnit;?></td>
|
||||
<td class='hours' title="<?php echo $task->consumed . ' ' . $lang->execution->workHour;?>"><?php echo $task->consumed . $lang->execution->workHourUnit;?></td>
|
||||
|
||||
Reference in New Issue
Block a user