* Optimize view MR and prepare for approve MR.
This commit is contained in:
@@ -146,6 +146,7 @@ $filter->search->index = new stdclass();
|
||||
$filter->gitlab->webhook = new stdclass();
|
||||
$filter->gitlab->importissue = new stdclass();
|
||||
$filter->mr->diff = new stdclass();
|
||||
$filter->mr->browse = new stdclass();
|
||||
$filter->ci->checkCompileStatus = new stdclass();
|
||||
$filter->execution->export = new stdclass();
|
||||
|
||||
@@ -374,5 +375,7 @@ $filter->gitlab->importissue->get['project'] = 'int';
|
||||
$filter->gitlab->importissue->get['repo'] = 'int';
|
||||
|
||||
$filter->mr->diff->cookie['arrange'] = 'reg::word';
|
||||
$filter->mr->browse->get['assignee'] = 'string';
|
||||
$filter->mr->browse->get['creator'] = 'string';
|
||||
|
||||
$filter->ci->checkCompileStatus->get['gitlabOnly'] = 'string';
|
||||
|
||||
+13
-7
@@ -26,11 +26,14 @@ class mr extends control
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function browse($objectID = 0, $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
|
||||
public function browse($browseType = 'all', $assignee = 'all', $creator = 'all', $objectID = 0, $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
|
||||
{
|
||||
$assignee = isset($_GET['assignee']) ? $this->get->assignee : "all";
|
||||
$creator = isset($_GET['creator']) ? $this->get->creator : "all";
|
||||
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
$pager = new pager($recTotal, $recPerPage, $pageID);
|
||||
$MRList = $this->mr->getList($orderBy, $pager);
|
||||
$MRList = $this->mr->getList($browseType, $assignee, $creator, $orderBy, $pager);
|
||||
|
||||
/* Save current URI to session. */
|
||||
$this->session->set('mrList', $this->app->getURI(true), 'repo');
|
||||
@@ -38,11 +41,14 @@ class mr extends control
|
||||
/* Sync GitLab MR to ZenTao Database. */
|
||||
$MRList = $this->mr->batchSyncMR($MRList);
|
||||
|
||||
$this->view->title = $this->lang->mr->common . $this->lang->colon . $this->lang->mr->browse;
|
||||
$this->view->MRList = $MRList;
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->objectID = $objectID;
|
||||
$this->view->pager = $pager;
|
||||
$this->view->title = $this->lang->mr->common . $this->lang->colon . $this->lang->mr->browse;
|
||||
$this->view->MRList = $MRList;
|
||||
$this->view->pager = $pager;
|
||||
$this->view->browseType = $browseType;
|
||||
$this->view->assignee = $assignee;
|
||||
$this->view->creator = $creator;
|
||||
$this->view->objectID = $objectID;
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
|
||||
+11
-1
@@ -25,10 +25,20 @@ $lang->mr->commits = 'commits';
|
||||
$lang->mr->changes = 'changes';
|
||||
$lang->mr->gitlabID = 'GitLab';
|
||||
|
||||
$lang->mr->approveStatus = 'Approve status';
|
||||
$lang->mr->approveStatusList = array();
|
||||
$lang->mr->approveStatusList['approved'] = 'Approved';
|
||||
$lang->mr->approveStatusList['rejected'] = 'Rejected';
|
||||
|
||||
$lang->mr->notApproved = 'Rejected';
|
||||
$lang->mr->assignedToMe = 'AssignedToMe';
|
||||
$lang->mr->createdByMe = 'CreatedByMe';
|
||||
|
||||
$lang->mr->statusList = array();
|
||||
$lang->mr->statusList['all'] = 'all';
|
||||
$lang->mr->statusList['opened'] = 'opened';
|
||||
$lang->mr->statusList['closed'] = 'closed';
|
||||
$lang->mr->statusList['merged'] = 'merged';
|
||||
$lang->mr->statusList['closed'] = 'closed';
|
||||
|
||||
$lang->mr->mergeStatusList = array();
|
||||
$lang->mr->mergeStatusList['checking'] = 'checking';
|
||||
|
||||
@@ -25,10 +25,20 @@ $lang->mr->commits = '提交数';
|
||||
$lang->mr->changes = '更改数';
|
||||
$lang->mr->gitlabID = 'GitLab';
|
||||
|
||||
$lang->mr->approveStatus = '审核状态';
|
||||
$lang->mr->approveStatusList = array();
|
||||
$lang->mr->approveStatusList['approved'] = '通过';
|
||||
$lang->mr->approveStatusList['rejected'] = '拒绝';
|
||||
|
||||
$lang->mr->notApproved = '审核拒绝的';
|
||||
$lang->mr->assignedToMe = '指派给我的';
|
||||
$lang->mr->createdByMe = '我创建的';
|
||||
|
||||
$lang->mr->statusList = array();
|
||||
$lang->mr->statusList['all'] = '所有';
|
||||
$lang->mr->statusList['opened'] = '开放中';
|
||||
$lang->mr->statusList['closed'] = '已关闭';
|
||||
$lang->mr->statusList['merged'] = '已合并';
|
||||
$lang->mr->statusList['closed'] = '已关闭';
|
||||
|
||||
$lang->mr->mergeStatusList = array();
|
||||
$lang->mr->mergeStatusList['checking'] = '检查中';
|
||||
|
||||
@@ -25,10 +25,20 @@ $lang->mr->commits = '提交數';
|
||||
$lang->mr->changes = '更改數';
|
||||
$lang->mr->gitlabID = 'GitLab';
|
||||
|
||||
$lang->mr->approveStatus = '審核狀態';
|
||||
$lang->mr->approveStatusList = array();
|
||||
$lang->mr->approveStatusList['approved'] = '通過';
|
||||
$lang->mr->approveStatusList['rejected'] = '拒絕';
|
||||
|
||||
$lang->mr->notApproved = '審核拒絕的';
|
||||
$lang->mr->assignedToMe = '指派給我的';
|
||||
$lang->mr->createdByMe = '我創建的';
|
||||
|
||||
$lang->mr->statusList = array();
|
||||
$lang->mr->statusList['all'] = '所有';
|
||||
$lang->mr->statusList['opened'] = '開放中';
|
||||
$lang->mr->statusList['closed'] = '已關閉';
|
||||
$lang->mr->statusList['merged'] = '已合併';
|
||||
$lang->mr->statusList['closed'] = '已關閉';
|
||||
|
||||
$lang->mr->mergeStatusList = array();
|
||||
$lang->mr->mergeStatusList['checking'] = '檢查中';
|
||||
|
||||
+7
-1
@@ -38,16 +38,22 @@ class mrModel extends model
|
||||
/**
|
||||
* Get MR list of gitlab project.
|
||||
*
|
||||
* @param string $browseType
|
||||
* @param string $assignee
|
||||
* @param string $creator
|
||||
* @param string $orderBy
|
||||
* @param object $pager
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getList($orderBy = 'id_desc', $pager = null)
|
||||
public function getList($browseType = 'all', $assignee = 'all', $creator = 'all', $orderBy = 'id_desc', $pager)
|
||||
{
|
||||
$MRList = $this->dao->select('*')
|
||||
->from(TABLE_MR)
|
||||
->where('deleted')->eq('0')
|
||||
->beginIF($browseType != 'all')->andWhere('status')->eq($browseType)->fi()
|
||||
->beginIF($assignee != 'all')->andWhere('assignee')->eq($assignee)->fi()
|
||||
->beginIF($creator != 'all')->andWhere('createdBy')->eq($creator)->fi()
|
||||
->orderBy($orderBy)
|
||||
->page($pager)
|
||||
->fetchAll('id');
|
||||
|
||||
@@ -10,7 +10,24 @@
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<div class='pull-right'>
|
||||
<?php if($this->config->systemMode == 'new'):?>
|
||||
<div id="sidebarHeader">
|
||||
<div class="title">
|
||||
<?php echo $lang->mr->common;?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class="btn-toolBar pull-left">
|
||||
<?php foreach($lang->mr->statusList as $key => $label):?>
|
||||
<?php $active = $browseType == $key ? 'btn-active-text' : '';?>
|
||||
<?php $label = "<span class='text'>$label</span>";?>
|
||||
<?php if($browseType == $key) $label .= " <span class='label label-light label-badge'>{$pager->recTotal}</span>";?>
|
||||
<?php echo html::a(inlink('browse', "browseType=$key"), $label, '', "class='btn btn-link $active'");?>
|
||||
<?php endforeach;?>
|
||||
<?php echo html::a(inlink('browse', "browseType=all&assignee={$this->app->user->account}&creator=all"), $lang->mr->assignedToMe, '', "class='btn btn-link $active'");?>
|
||||
<?php echo html::a(inlink('browse', "browseType=all&assignee=all&creator={$this->app->user->account}"), $lang->mr->createdByMe, '', "class='btn btn-link $active'");?>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php common::printLink('mr', 'create', '', "<i class='icon icon-plus'></i> " . $lang->mr->create, '', "class='btn btn-primary'");?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -29,7 +46,7 @@
|
||||
<table id='gitlabProjectList' class='table has-sort-head table-fixed'>
|
||||
<thead>
|
||||
<tr>
|
||||
<?php $vars = "objectID=$objectID&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"; ?>
|
||||
<?php $vars = "browseType=$browseType&assignee=$assignee&creator=$creator&objectID=$objectID&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"; ?>
|
||||
<th class='w-60px text-left'><?php common::printOrderLink('id', $orderBy, $vars, $lang->mr->id); ?></th>
|
||||
<th class='w-200px text-left'><?php common::printOrderLink('title', $orderBy, $vars, $lang->mr->title); ?></th>
|
||||
<th class='text-left'><?php common::printOrderLink('sourceProject', $orderBy, $vars, $lang->mr->sourceProject); ?></th>
|
||||
|
||||
Reference in New Issue
Block a user