* Finish task #65979,65978,65977.
This commit is contained in:
@@ -934,6 +934,7 @@ class bug extends control
|
|||||||
$this->view->builds = $this->loadModel('build')->getBuildPairs($productID, 'all', '');
|
$this->view->builds = $this->loadModel('build')->getBuildPairs($productID, 'all', '');
|
||||||
$this->view->preAndNext = $this->loadModel('common')->getPreAndNextObject('bug', $bugID);
|
$this->view->preAndNext = $this->loadModel('common')->getPreAndNextObject('bug', $bugID);
|
||||||
$this->view->product = $product;
|
$this->view->product = $product;
|
||||||
|
$this->view->linkCommits = $this->loadModel('repo')->getCommitsByObject($bugID, 'bug');
|
||||||
|
|
||||||
$this->view->projects = array('' => '') + $projects;
|
$this->view->projects = array('' => '') + $projects;
|
||||||
|
|
||||||
|
|||||||
@@ -176,6 +176,7 @@ $lang->bug->labelPostponed = 'Postponed';
|
|||||||
$lang->bug->changed = 'Changed';
|
$lang->bug->changed = 'Changed';
|
||||||
$lang->bug->storyChanged = 'Story Changed';
|
$lang->bug->storyChanged = 'Story Changed';
|
||||||
$lang->bug->linkMR = 'Related MRs';
|
$lang->bug->linkMR = 'Related MRs';
|
||||||
|
$lang->bug->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
/* Page tags. */
|
/* Page tags. */
|
||||||
$lang->bug->lblAssignedTo = 'Bearbeiter';
|
$lang->bug->lblAssignedTo = 'Bearbeiter';
|
||||||
|
|||||||
@@ -176,6 +176,7 @@ $lang->bug->labelPostponed = 'Postponed';
|
|||||||
$lang->bug->changed = 'Changed';
|
$lang->bug->changed = 'Changed';
|
||||||
$lang->bug->storyChanged = 'Story Changed';
|
$lang->bug->storyChanged = 'Story Changed';
|
||||||
$lang->bug->linkMR = 'Related MRs';
|
$lang->bug->linkMR = 'Related MRs';
|
||||||
|
$lang->bug->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
/* Page tags. */
|
/* Page tags. */
|
||||||
$lang->bug->lblAssignedTo = 'AssignTo';
|
$lang->bug->lblAssignedTo = 'AssignTo';
|
||||||
|
|||||||
@@ -176,6 +176,7 @@ $lang->bug->labelPostponed = 'Postponed';
|
|||||||
$lang->bug->changed = 'Changed';
|
$lang->bug->changed = 'Changed';
|
||||||
$lang->bug->storyChanged = 'Story Changed';
|
$lang->bug->storyChanged = 'Story Changed';
|
||||||
$lang->bug->linkMR = 'Related MRs';
|
$lang->bug->linkMR = 'Related MRs';
|
||||||
|
$lang->bug->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
/* Page tags. */
|
/* Page tags. */
|
||||||
$lang->bug->lblAssignedTo = 'Affecté à';
|
$lang->bug->lblAssignedTo = 'Affecté à';
|
||||||
|
|||||||
@@ -172,6 +172,8 @@ $lang->bug->legendComment = 'Ghi chú';
|
|||||||
$lang->bug->legendLife = 'Toàn bộ';
|
$lang->bug->legendLife = 'Toàn bộ';
|
||||||
$lang->bug->legendMisc = 'Khác';
|
$lang->bug->legendMisc = 'Khác';
|
||||||
$lang->bug->legendRelated = 'Thông tin liên quan';
|
$lang->bug->legendRelated = 'Thông tin liên quan';
|
||||||
|
$lang->bug->linkMRs = 'Related MRs';
|
||||||
|
$lang->bug->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
/* Button. */
|
/* Button. */
|
||||||
$lang->bug->buttonConfirm = 'Xác nhận';
|
$lang->bug->buttonConfirm = 'Xác nhận';
|
||||||
|
|||||||
@@ -176,6 +176,7 @@ $lang->bug->labelPostponed = '被延期';
|
|||||||
$lang->bug->changed = '已变动';
|
$lang->bug->changed = '已变动';
|
||||||
$lang->bug->storyChanged = '需求变动';
|
$lang->bug->storyChanged = '需求变动';
|
||||||
$lang->bug->linkMR = '相关合并请求';
|
$lang->bug->linkMR = '相关合并请求';
|
||||||
|
$lang->bug->linkCommit = '相关代码版本';
|
||||||
|
|
||||||
/* 页面标签。*/
|
/* 页面标签。*/
|
||||||
$lang->bug->lblAssignedTo = '当前指派';
|
$lang->bug->lblAssignedTo = '当前指派';
|
||||||
|
|||||||
@@ -426,6 +426,19 @@
|
|||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><?php echo $lang->bug->linkCommit;?></th>
|
||||||
|
<td>
|
||||||
|
<?php
|
||||||
|
$canViewRevision = common::hasPriv('repo', 'revision');
|
||||||
|
foreach($linkCommits as $commit)
|
||||||
|
{
|
||||||
|
$revision = substr($commit->revision, 0, 10);
|
||||||
|
echo ($canViewRevision ? html::a($this->createLink('repo', 'revision', "repoID={$commit->repo}&objectID=0&revision={$commit->revision}"), "$revision {$commit->comment}") : "$revisioin {$commit->comment}") . '<br />';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -189,7 +189,20 @@ class gitModel extends model
|
|||||||
' task:' . join(' ', $objects['tasks']) .
|
' task:' . join(' ', $objects['tasks']) .
|
||||||
' bug:' . join(',', $objects['bugs']));
|
' bug:' . join(',', $objects['bugs']));
|
||||||
|
|
||||||
if($lastVersion != $version) $this->repo->saveAction2PMS($objects, $log, $this->repoRoot, $repo->encoding, 'git', $accountPairs);
|
if($lastVersion != $version)
|
||||||
|
{
|
||||||
|
$this->repo->saveAction2PMS($objects, $log, $this->repoRoot, $repo->encoding, 'git', $accountPairs);
|
||||||
|
|
||||||
|
/* Objects link commit. */
|
||||||
|
foreach($objects as $objectType => $objectIDs)
|
||||||
|
{
|
||||||
|
$objectTypeMap = array('stories' => 'story', 'bugs' => 'bug', 'tasks' => 'task');
|
||||||
|
if(empty($objectIDs) or !isset($objectTypeMap[$objectType])) continue;
|
||||||
|
|
||||||
|
$this->post->$objectType = $objectIDs;
|
||||||
|
$this->repo->link($repo->id, $log->revision, $objectTypeMap[$objectType]);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2539,6 +2539,96 @@ class repoModel extends model
|
|||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get relation by commit.
|
||||||
|
*
|
||||||
|
* @param int $repoID
|
||||||
|
* @param string $commit
|
||||||
|
* @param string $type story|bug|task
|
||||||
|
* @access public
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getRelationByCommit($repoID, $commit, $type = '')
|
||||||
|
{
|
||||||
|
$relationList = $this->dao->select('t1.BID as id, t1.BType as type')->from(TABLE_RELATION)->alias('t1')
|
||||||
|
->leftJoin(TABLE_REPOHISTORY)->alias('t2')->on('t1.AID = t2.id')
|
||||||
|
->where('t2.revision')->eq($commit)
|
||||||
|
->andWhere('t2.repo')->eq($repoID)
|
||||||
|
->andWhere('t1.AType')->eq('revision')
|
||||||
|
->beginIF($type)->andWhere('t1.BType')->eq($type)->fi()
|
||||||
|
->fetchAll();
|
||||||
|
|
||||||
|
$storyIDs = array();
|
||||||
|
$bugIDs = array();
|
||||||
|
$taskIDs = array();
|
||||||
|
foreach($relationList as $relation)
|
||||||
|
{
|
||||||
|
if($relation->type == 'story')
|
||||||
|
{
|
||||||
|
$storyIDs[] = $relation->id;
|
||||||
|
}
|
||||||
|
elseif($relation->type == 'bug')
|
||||||
|
{
|
||||||
|
$bugIDs[] = $relation->id;
|
||||||
|
}
|
||||||
|
elseif($relation->type == 'task')
|
||||||
|
{
|
||||||
|
$taskIDs[] = $relation->id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$stories = empty($storyIDs) ? array() : $this->loadModel('story')->getByList($storyIDs);
|
||||||
|
$bugs = empty($bugIDs) ? array() : $this->loadModel('bug')->getByList($bugIDs);
|
||||||
|
$tasks = empty($taskIDs) ? array() : $this->loadModel('task')->getByList($taskIDs);
|
||||||
|
|
||||||
|
$titleList = array();
|
||||||
|
foreach($relationList as $key => $relation)
|
||||||
|
{
|
||||||
|
if($type) $key = $relation->id;
|
||||||
|
|
||||||
|
$titleList[$key] = array(
|
||||||
|
'id' => $relation->id,
|
||||||
|
'type' => $relation->type,
|
||||||
|
'title' => "#$relation->id "
|
||||||
|
);
|
||||||
|
if($relation->type == 'story')
|
||||||
|
{
|
||||||
|
$story = zget($stories, $relation->id, array());
|
||||||
|
$titleList[$key]['title'] .= zget($story, 'title', '');
|
||||||
|
}
|
||||||
|
elseif($relation->type == 'bug')
|
||||||
|
{
|
||||||
|
$bug = zget($bugs, $relation->id, array());
|
||||||
|
$titleList[$key]['title'] .= zget($bug, 'title', '');
|
||||||
|
}
|
||||||
|
elseif($relation->type == 'task')
|
||||||
|
{
|
||||||
|
$task = zget($tasks, $relation->id, array());
|
||||||
|
$titleList[$key]['title'] .= zget($task, 'name', '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $titleList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get relation commit.
|
||||||
|
*
|
||||||
|
* @param int $objectID
|
||||||
|
* @param string $objectType story|bug|task
|
||||||
|
* @access public
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getCommitsByObject($objectID, $objectType)
|
||||||
|
{
|
||||||
|
return $this->dao->select('t2.*')->from(TABLE_RELATION)->alias('t1')
|
||||||
|
->leftJoin(TABLE_REPOHISTORY)->alias('t2')->on('t1.AID = t2.id')
|
||||||
|
->where('t1.BID')->eq($objectID)
|
||||||
|
->andWhere('t1.BType')->eq($objectType)
|
||||||
|
->andWhere('t1.AType')->eq('revision')
|
||||||
|
->andWhere('t1.relation')->eq('commit')
|
||||||
|
->fetchAll();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert delete record.
|
* Insert delete record.
|
||||||
*
|
*
|
||||||
@@ -2621,75 +2711,4 @@ class repoModel extends model
|
|||||||
|
|
||||||
$this->loadModel('setting')->setItem('system.repo.synced', $this->config->repo->synced . ',' . $repoID);
|
$this->loadModel('setting')->setItem('system.repo.synced', $this->config->repo->synced . ',' . $repoID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get relation by commit.
|
|
||||||
*
|
|
||||||
* @param int $repoID
|
|
||||||
* @param string $commit
|
|
||||||
* @param string $type story|bug|task
|
|
||||||
* @access public
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function getRelationByCommit($repoID, $commit, $type = '')
|
|
||||||
{
|
|
||||||
$relationList = $this->dao->select('t1.BID as id, t1.BType as type')->from(TABLE_RELATION)->alias('t1')
|
|
||||||
->leftJoin(TABLE_REPOHISTORY)->alias('t2')->on('t1.AID = t2.id')
|
|
||||||
->where('t2.revision')->eq($commit)
|
|
||||||
->andWhere('t2.repo')->eq($repoID)
|
|
||||||
->andWhere('t1.AType')->eq('revision')
|
|
||||||
->beginIF($type)->andWhere('t1.BType')->eq($type)->fi()
|
|
||||||
->fetchAll();
|
|
||||||
|
|
||||||
$storyIDs = array();
|
|
||||||
$bugIDs = array();
|
|
||||||
$taskIDs = array();
|
|
||||||
foreach($relationList as $relation)
|
|
||||||
{
|
|
||||||
if($relation->type == 'story')
|
|
||||||
{
|
|
||||||
$storyIDs[] = $relation->id;
|
|
||||||
}
|
|
||||||
elseif($relation->type == 'bug')
|
|
||||||
{
|
|
||||||
$bugIDs[] = $relation->id;
|
|
||||||
}
|
|
||||||
elseif($relation->type == 'task')
|
|
||||||
{
|
|
||||||
$taskIDs[] = $relation->id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$stories = empty($storyIDs) ? array() : $this->loadModel('story')->getByList($storyIDs);
|
|
||||||
$bugs = empty($bugIDs) ? array() : $this->loadModel('bug')->getByList($bugIDs);
|
|
||||||
$tasks = empty($taskIDs) ? array() : $this->loadModel('task')->getByList($taskIDs);
|
|
||||||
|
|
||||||
$titleList = array();
|
|
||||||
foreach($relationList as $key => $relation)
|
|
||||||
{
|
|
||||||
if($type) $key = $relation->id;
|
|
||||||
|
|
||||||
$titleList[$key] = array(
|
|
||||||
'id' => $relation->id,
|
|
||||||
'type' => $relation->type,
|
|
||||||
'title' => "#$relation->id "
|
|
||||||
);
|
|
||||||
if($relation->type == 'story')
|
|
||||||
{
|
|
||||||
$story = zget($stories, $relation->id, array());
|
|
||||||
$titleList[$key]['title'] .= zget($story, 'title', '');
|
|
||||||
}
|
|
||||||
elseif($relation->type == 'bug')
|
|
||||||
{
|
|
||||||
$bug = zget($bugs, $relation->id, array());
|
|
||||||
$titleList[$key]['title'] .= zget($bug, 'title', '');
|
|
||||||
}
|
|
||||||
elseif($relation->type == 'task')
|
|
||||||
{
|
|
||||||
$task = zget($tasks, $relation->id, array());
|
|
||||||
$titleList[$key]['title'] .= zget($task, 'name', '');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $titleList;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1248,6 +1248,7 @@ class story extends control
|
|||||||
$fromBug = $this->dao->select('id,title')->from(TABLE_BUG)->where('toStory')->eq($storyID)->fetch();
|
$fromBug = $this->dao->select('id,title')->from(TABLE_BUG)->where('toStory')->eq($storyID)->fetch();
|
||||||
$cases = $this->dao->select('id,title,status,pri')->from(TABLE_CASE)->where('story')->eq($storyID)->andWhere('deleted')->eq(0)->fetchAll();
|
$cases = $this->dao->select('id,title,status,pri')->from(TABLE_CASE)->where('story')->eq($storyID)->andWhere('deleted')->eq(0)->fetchAll();
|
||||||
$linkedMRs = $this->loadModel('mr')->getLinkedMRPairs($storyID, 'story');
|
$linkedMRs = $this->loadModel('mr')->getLinkedMRPairs($storyID, 'story');
|
||||||
|
$linkedCommits = $this->loadModel('repo')->getCommitsByObject($storyID, 'story');
|
||||||
$modulePath = $this->tree->getParents($story->module);
|
$modulePath = $this->tree->getParents($story->module);
|
||||||
$storyModule = empty($story->module) ? '' : $this->tree->getById($story->module);
|
$storyModule = empty($story->module) ? '' : $this->tree->getById($story->module);
|
||||||
$linkedStories = isset($story->linkStoryTitles) ? array_keys($story->linkStoryTitles) : array();
|
$linkedStories = isset($story->linkStoryTitles) ? array_keys($story->linkStoryTitles) : array();
|
||||||
@@ -1295,6 +1296,7 @@ class story extends control
|
|||||||
$this->view->cases = $cases;
|
$this->view->cases = $cases;
|
||||||
$this->view->story = $story;
|
$this->view->story = $story;
|
||||||
$this->view->linkedMRs = $linkedMRs;
|
$this->view->linkedMRs = $linkedMRs;
|
||||||
|
$this->view->linkedCommits = $linkedCommits;
|
||||||
$this->view->track = $this->story->getTrackByID($story->id);
|
$this->view->track = $this->story->getTrackByID($story->id);
|
||||||
$this->view->users = $this->user->getPairs('noletter');
|
$this->view->users = $this->user->getPairs('noletter');
|
||||||
$this->view->reviewers = $reviewers;
|
$this->view->reviewers = $reviewers;
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ $lang->story->completeRate = 'Completion Rate';
|
|||||||
$lang->story->reviewed = 'Reviewed';
|
$lang->story->reviewed = 'Reviewed';
|
||||||
$lang->story->toBeReviewed = 'To Be Reviewed';
|
$lang->story->toBeReviewed = 'To Be Reviewed';
|
||||||
$lang->story->linkMR = 'Related MRs';
|
$lang->story->linkMR = 'Related MRs';
|
||||||
|
$lang->story->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
$lang->story->ditto = 'Dito';
|
$lang->story->ditto = 'Dito';
|
||||||
$lang->story->dittoNotice = 'Die Story gehört nicht zum Projekt wie die vorherige!';
|
$lang->story->dittoNotice = 'Die Story gehört nicht zum Projekt wie die vorherige!';
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ $lang->story->completeRate = 'Completion Rate';
|
|||||||
$lang->story->reviewed = 'Reviewed';
|
$lang->story->reviewed = 'Reviewed';
|
||||||
$lang->story->toBeReviewed = 'To Be Reviewed';
|
$lang->story->toBeReviewed = 'To Be Reviewed';
|
||||||
$lang->story->linkMR = 'Related MRs';
|
$lang->story->linkMR = 'Related MRs';
|
||||||
|
$lang->story->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
$lang->story->ditto = 'Ditto';
|
$lang->story->ditto = 'Ditto';
|
||||||
$lang->story->dittoNotice = 'This story is not linked to the same product as the last one is!';
|
$lang->story->dittoNotice = 'This story is not linked to the same product as the last one is!';
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ $lang->story->completeRate = 'Completion Rate';
|
|||||||
$lang->story->reviewed = 'Reviewed';
|
$lang->story->reviewed = 'Reviewed';
|
||||||
$lang->story->toBeReviewed = 'To Be Reviewed';
|
$lang->story->toBeReviewed = 'To Be Reviewed';
|
||||||
$lang->story->linkMR = 'Related MRs';
|
$lang->story->linkMR = 'Related MRs';
|
||||||
|
$lang->story->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
$lang->story->ditto = 'Idem';
|
$lang->story->ditto = 'Idem';
|
||||||
$lang->story->dittoNotice = "La story n'est pas associée au même product que la précédente !";
|
$lang->story->dittoNotice = "La story n'est pas associée au même product que la précédente !";
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ $lang->story->completeRate = 'Completion Rate';
|
|||||||
$lang->story->reviewed = 'Reviewed';
|
$lang->story->reviewed = 'Reviewed';
|
||||||
$lang->story->toBeReviewed = 'To Be Reviewed';
|
$lang->story->toBeReviewed = 'To Be Reviewed';
|
||||||
$lang->story->linkMR = 'Related MRs';
|
$lang->story->linkMR = 'Related MRs';
|
||||||
|
$lang->story->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
$lang->story->ditto = 'Như trên';
|
$lang->story->ditto = 'Như trên';
|
||||||
$lang->story->dittoNotice = 'Câu chuyện này chưa liên kết tới cùng sản phẩm bởi bởi vì nó là cuối cùng!';
|
$lang->story->dittoNotice = 'Câu chuyện này chưa liên kết tới cùng sản phẩm bởi bởi vì nó là cuối cùng!';
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ $lang->story->completeRate = '完成率';
|
|||||||
$lang->story->reviewed = '已评审';
|
$lang->story->reviewed = '已评审';
|
||||||
$lang->story->toBeReviewed = '待评审';
|
$lang->story->toBeReviewed = '待评审';
|
||||||
$lang->story->linkMR = '相关合并请求';
|
$lang->story->linkMR = '相关合并请求';
|
||||||
|
$lang->story->linkCommit = '相关代码版本';
|
||||||
|
|
||||||
$lang->story->ditto = '同上';
|
$lang->story->ditto = '同上';
|
||||||
$lang->story->dittoNotice = "该{$lang->SRCommon}与上一{$lang->SRCommon}不属于同一产品!";
|
$lang->story->dittoNotice = "该{$lang->SRCommon}与上一{$lang->SRCommon}不属于同一产品!";
|
||||||
|
|||||||
@@ -563,6 +563,29 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><?php echo $lang->story->linkCommit;?></th>
|
||||||
|
<td class='pd-0'>
|
||||||
|
<ul class='list-unstyled'>
|
||||||
|
<?php
|
||||||
|
$canViewRevision = common::hasPriv('repo', 'revision');
|
||||||
|
foreach($linkedCommits as $commit)
|
||||||
|
{
|
||||||
|
$revision = substr($commit->revision, 0, 10);
|
||||||
|
$commitTitle = $revision . ' ' . $commit->comment;
|
||||||
|
if($canViewRevision)
|
||||||
|
{
|
||||||
|
echo "<li title='$commitTitle'>" . html::a($this->createLink('repo', 'revision', "repoID={$commit->repo}&objectID=0&revision={$commit->revision}"), "$commitTitle") . '</li>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo "<li title='$commitTitle'>" . "$commitTitle" . '</li>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -993,6 +993,7 @@ class task extends control
|
|||||||
$this->view->product = $this->tree->getProduct($task->module);
|
$this->view->product = $this->tree->getProduct($task->module);
|
||||||
$this->view->modulePath = $this->tree->getParents($task->module);
|
$this->view->modulePath = $this->tree->getParents($task->module);
|
||||||
$this->view->linkMRTitles = $this->loadModel('mr')->getLinkedMRPairs($taskID, 'task');
|
$this->view->linkMRTitles = $this->loadModel('mr')->getLinkedMRPairs($taskID, 'task');
|
||||||
|
$this->view->linkCommits = $this->loadModel('repo')->getCommitsByObject($taskID, 'task');
|
||||||
$this->display();
|
$this->display();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -170,6 +170,7 @@ $lang->task->noClosed = 'Niht geschlossen';
|
|||||||
$lang->task->yesterdayFinished = 'Gestern abgeschlossen';
|
$lang->task->yesterdayFinished = 'Gestern abgeschlossen';
|
||||||
$lang->task->allTasks = 'Alle Aufgaben';
|
$lang->task->allTasks = 'Alle Aufgaben';
|
||||||
$lang->task->linkMR = 'Related MRs';
|
$lang->task->linkMR = 'Related MRs';
|
||||||
|
$lang->task->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
$lang->task->statusList[''] = '';
|
$lang->task->statusList[''] = '';
|
||||||
$lang->task->statusList['wait'] = 'Wartend';
|
$lang->task->statusList['wait'] = 'Wartend';
|
||||||
|
|||||||
@@ -170,6 +170,7 @@ $lang->task->noClosed = 'Unclosed';
|
|||||||
$lang->task->yesterdayFinished = 'Task Finished Yesterday';
|
$lang->task->yesterdayFinished = 'Task Finished Yesterday';
|
||||||
$lang->task->allTasks = 'Task';
|
$lang->task->allTasks = 'Task';
|
||||||
$lang->task->linkMR = 'Related MRs';
|
$lang->task->linkMR = 'Related MRs';
|
||||||
|
$lang->task->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
$lang->task->statusList[''] = '';
|
$lang->task->statusList[''] = '';
|
||||||
$lang->task->statusList['wait'] = 'Waiting';
|
$lang->task->statusList['wait'] = 'Waiting';
|
||||||
|
|||||||
@@ -170,6 +170,7 @@ $lang->task->noClosed = 'Non Fermées';
|
|||||||
$lang->task->yesterdayFinished = 'Tâche Terminée Hier';
|
$lang->task->yesterdayFinished = 'Tâche Terminée Hier';
|
||||||
$lang->task->allTasks = 'Tâche';
|
$lang->task->allTasks = 'Tâche';
|
||||||
$lang->task->linkMR = 'Related MRs';
|
$lang->task->linkMR = 'Related MRs';
|
||||||
|
$lang->task->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
$lang->task->statusList[''] = '';
|
$lang->task->statusList[''] = '';
|
||||||
$lang->task->statusList['wait'] = 'A Faire';
|
$lang->task->statusList['wait'] = 'A Faire';
|
||||||
@@ -354,4 +355,4 @@ $lang->taskestimate = new stdclass();
|
|||||||
$lang->taskestimate->consumed = 'Estimés';
|
$lang->taskestimate->consumed = 'Estimés';
|
||||||
|
|
||||||
$lang->task->overEsStartDate = 'The %s schedule start time has exceeded, please modify the %s schedule start time first';
|
$lang->task->overEsStartDate = 'The %s schedule start time has exceeded, please modify the %s schedule start time first';
|
||||||
$lang->task->overEsEndDate = 'The %s schedule end time has exceeded, please modify the %s schedule end time first';
|
$lang->task->overEsEndDate = 'The %s schedule end time has exceeded, please modify the %s schedule end time first';
|
||||||
|
|||||||
@@ -142,6 +142,8 @@ $lang->task->noFinished = 'Chưa kết thúc';
|
|||||||
$lang->task->noClosed = 'Chưa đóng';
|
$lang->task->noClosed = 'Chưa đóng';
|
||||||
$lang->task->yesterdayFinished = 'Kết thúc hôm qua';
|
$lang->task->yesterdayFinished = 'Kết thúc hôm qua';
|
||||||
$lang->task->allTasks = 'Nhiệm vụ';
|
$lang->task->allTasks = 'Nhiệm vụ';
|
||||||
|
$lang->task->linkMR = 'Related MRs';
|
||||||
|
$lang->task->linkCommit = 'Related Commits';
|
||||||
|
|
||||||
$lang->task->statusList[''] = '';
|
$lang->task->statusList[''] = '';
|
||||||
$lang->task->statusList['wait'] = 'Đang đợi';
|
$lang->task->statusList['wait'] = 'Đang đợi';
|
||||||
|
|||||||
@@ -170,6 +170,7 @@ $lang->task->noClosed = '未关闭';
|
|||||||
$lang->task->yesterdayFinished = '昨日完成任务数';
|
$lang->task->yesterdayFinished = '昨日完成任务数';
|
||||||
$lang->task->allTasks = '总任务';
|
$lang->task->allTasks = '总任务';
|
||||||
$lang->task->linkMR = '相关合并请求';
|
$lang->task->linkMR = '相关合并请求';
|
||||||
|
$lang->task->linkCommit = '相关代码版本';
|
||||||
|
|
||||||
$lang->task->statusList[''] = '';
|
$lang->task->statusList[''] = '';
|
||||||
$lang->task->statusList['wait'] = '未开始';
|
$lang->task->statusList['wait'] = '未开始';
|
||||||
@@ -354,4 +355,4 @@ $lang->taskestimate = new stdclass();
|
|||||||
$lang->taskestimate->consumed = '工时';
|
$lang->taskestimate->consumed = '工时';
|
||||||
|
|
||||||
$lang->task->overEsStartDate = '已超出%s计划开始时间,请先修改%s计划开始时间';
|
$lang->task->overEsStartDate = '已超出%s计划开始时间,请先修改%s计划开始时间';
|
||||||
$lang->task->overEsEndDate = '已超出%s计划结束时间,请先修改%s计划结束时间';
|
$lang->task->overEsEndDate = '已超出%s计划结束时间,请先修改%s计划结束时间';
|
||||||
|
|||||||
@@ -419,6 +419,19 @@
|
|||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th class='MRThWidth'><?php echo $lang->task->linkCommit;?></th>
|
||||||
|
<td>
|
||||||
|
<?php
|
||||||
|
$canViewRevision = common::hasPriv('repo', 'revision');
|
||||||
|
foreach($linkCommits as $commit)
|
||||||
|
{
|
||||||
|
$revision = substr($commit->revision, 0, 10);
|
||||||
|
echo ($canViewRevision ? html::a($this->createLink('repo', 'revision', "repoID={$commit->repo}&objectID=0&revision={$commit->revision}"), "$revision {$commit->comment}") : "$revisioin {$commit->comment}") . '<br />';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user