* [task#124025] Add repo drop down menu.

This commit is contained in:
liyang
2024-07-24 21:50:23 +08:00
committed by 曹延义
parent af8b5e32ac
commit 1bc4e2ee78
3 changed files with 33 additions and 26 deletions
+4 -4
View File
@@ -1863,7 +1863,7 @@ class repo extends control
* @access public
* @return void
*/
public function browseBranch(int $repoID, int $objectID = 0, string $orderBy = 'date_desc', int $recTotal = 0, int $recPerPage = 20, int $pageID = 1)
public function browseBranch(int $repoID, int $objectID = 0, string $orderBy = 'date_desc', int $recPerPage = 20, int $pageID = 1)
{
$repoID = $this->repoZen->processRepoID($repoID, $objectID);
$this->commonAction($repoID, $objectID);
@@ -1898,9 +1898,9 @@ class repo extends control
/* Pager. */
$this->app->loadClass('pager', true);
$branchTotal = count($branchList);
$pager = new pager($branchTotal, $recPerPage, $pageID);
$branchList = array_chunk($branchList, (int)$pager->recPerPage);
$branchTotal = count($branchList);
$pager = new pager($branchTotal, $recPerPage, $pageID);
$branchList = array_chunk($branchList, (int)$pager->recPerPage);
$this->view->title = $this->lang->repo->browseBranch;
$this->view->repoID = $repoID;
+9 -6
View File
@@ -3022,9 +3022,10 @@ class repoModel extends model
$menuGroup = $this->app->tab == 'project' ? array('project', 'waterfall') : array('execution');
$repoPairs = $this->loadModel('repo')->getRepoPairs($this->app->tab, $objectID);
$showMR = false;
$showTag = false;
$hasTagSCM = array_map('strtolower', $this->config->repo->notSyncSCM);
$showMR = false;
$showTag = false;
$showBranch = false;
$hasTagSCM = array_map('strtolower', $this->config->repo->notSyncSCM);
foreach($repoPairs as $repoName)
{
preg_match('/^\[(\w+)\]/', $repoName, $matches);
@@ -3034,13 +3035,15 @@ class repoModel extends model
if(in_array($result, $this->config->repo->gitServiceList)) $showMR = true;
}
$showMR = $showMR && common::hasPriv('mr', 'browse');
$showTag = $showTag && common::hasPriv('repo', 'browsetag');
$showReview = $repoPairs && common::hasPriv('repo', 'review');
$showMR = $showMR && common::hasPriv('mr', 'browse');
$showTag = $showTag && common::hasPriv('repo', 'browsetag');
$showBranch = $showBranch && common::hasPriv('repo', 'browsebranch');
$showReview = $repoPairs && common::hasPriv('repo', 'review');
foreach($menuGroup as $module)
{
if(!$showMR) unset($this->lang->{$module}->menu->devops['subMenu']->mr);
if(!$showTag) unset($this->lang->{$module}->menu->devops['subMenu']->tag);
if(!$showBranch) unset($this->lang->{$module}->menu->devops['subMenu']->branch);
if(!$showReview) unset($this->lang->{$module}->menu->devops['subMenu']->review);
if(count((array)$this->lang->{$module}->menu->devops['subMenu']) < 2) unset($this->lang->{$module}->menu->devops['subMenu']);
}
+20 -16
View File
@@ -20,24 +20,28 @@ dropmenu
featureBar
(
form
(in_array($app->tab, array('project', 'execution')) && count($repoPairs) > 1) ? dropmenu
(
setID('searchForm'),
set::id('repoDropmenu'),
set::text($repo->name),
set::objectID($repo->id),
set::url(createLink('repo', 'ajaxGetDropMenu', "repoID={$repo->id}&module=repo&method=browsebranch&projectID={$objectID}"))
) : null,
div
(
setID('flex'),
set::actions(array()),
formRow
input
(
input
(
set::placeholder($lang->searchAB),
set::name('keyword'),
set::value($keyword)
),
btn
(
setClass('primary ml-2'),
$lang->searchAB,
on::click('searchList')
)
set::placeholder($lang->searchAB),
set::name('keyword'),
set::value($keyword)
),
btn
(
setClass('primary ml-2'),
$lang->searchAB,
on::click('searchList')
)
)
);
@@ -47,7 +51,7 @@ dtable
(
set::cols($config->repo->dtable->branch->fieldList),
set::data($branchList),
set::sortLink(createLink('repo', 'browsebranch', "repoID={$repo->id}&objectID={$objectID}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")),
set::sortLink(createLink('repo', 'browsebranch', "repoID={$repo->id}&objectID={$objectID}&orderBy={name}_{sortType}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")),
set::orderBy($orderBy),
set::footPager(usePager())
);