diff --git a/module/gitlab/control.php b/module/gitlab/control.php
index 955314b974..ef135e3b6f 100644
--- a/module/gitlab/control.php
+++ b/module/gitlab/control.php
@@ -702,7 +702,10 @@ class gitlab extends control
$project->isMaintainer = $this->gitlab->checkUserAccess($gitlabID, $project->id, $project, $groupIDList, 'maintainer');
}
- $gitlab = $this->gitlab->getByID($gitlabID);
+ $gitlab = $this->gitlab->getByID($gitlabID);
+ $repos = $this->loadModel('repo')->getGitLabRepoList($gitlabID);
+ $repoPairs = array();
+ foreach($repos as $repo) $repoPairs[$repo->path] = $repo->id;
$this->view->gitlab = $gitlab;
$this->view->keyword = urldecode(urldecode($keyword));
@@ -711,6 +714,7 @@ class gitlab extends control
$this->view->gitlabID = $gitlabID;
$this->view->gitlabProjectList = $result['projects'];
$this->view->orderBy = $orderBy;
+ $this->view->repoPairs = $repoPairs;
$this->display();
}
diff --git a/module/gitlab/js/managegroupmembers.js b/module/gitlab/js/managegroupmembers.js
index a9391db43b..48aaa55e1b 100644
--- a/module/gitlab/js/managegroupmembers.js
+++ b/module/gitlab/js/managegroupmembers.js
@@ -41,6 +41,7 @@ function addItem(obj)
*/
function deleteItem(obj)
{
+ if($(obj).hasClass('disabled')) return false;
if($('#teamForm .table-form tbody').children().length < 2) return false;
$(obj).closest('tr').remove();
}
diff --git a/module/gitlab/view/browse.html.php b/module/gitlab/view/browse.html.php
index 56b57a028c..af931fd6d9 100644
--- a/module/gitlab/view/browse.html.php
+++ b/module/gitlab/view/browse.html.php
@@ -55,11 +55,10 @@
url, $gitlab->url, '_target');?> |
isAdminToken) ? '' : 'disabled';
- $notBind = $gitlab->isBindUser ? '' : 'disabled';
- common::printLink('gitlab', 'edit', "gitlabID=$id", " ", '',"title='{$lang->gitlab->edit}' class='btn btn-primary'");
- common::printLink('gitlab', 'bindUser', "id=$id", " ", '', "title='{$lang->gitlab->bindUser}' class='btn {$disabled} {$notBind}' ,'disabled'");
- if(common::hasPriv('gitlab', 'delete')) echo html::a($this->createLink('gitlab', 'delete', "gitlabID=$id"), '', 'hiddenwin', "title='{$lang->gitlab->delete}' class='btn'");
+ $disabled = (empty($gitlab->isAdminToken) or !$gitlab->isBindUser) ? false : true;
+ common::printIcon('gitlab', 'edit', "gitlabID=$id", '', 'list', 'edit');
+ echo common::buildIconButton('gitlab', 'bindUser', "gitlabID=$id", '', 'list', 'link', '', '', false, '', '', 0, $disabled);
+ common::printIcon('gitlab', 'delete', "gitlabID=$id", '', 'list', 'trash', 'hiddenwin');
?>
|
diff --git a/module/gitlab/view/browsegroup.html.php b/module/gitlab/view/browsegroup.html.php
index de8a145dc9..cb0a0e07f6 100644
--- a/module/gitlab/view/browsegroup.html.php
+++ b/module/gitlab/view/browsegroup.html.php
@@ -59,10 +59,10 @@
created_at, 0, 10);?> |
user->admin or in_array($gitlabGroup->id, $adminGroupIDList)) ? '' : 'disabled';
+ $isAdmin = ($app->user->admin or in_array($gitlabGroup->id, $adminGroupIDList)) ? true : false;
common::printLink('gitlab', 'manageGroupMembers', "gitlabID=$gitlabID&groupID=$gitlabGroup->id", " ", '',"title='{$lang->gitlab->group->manageMembers}' class='btn'");
- common::printLink('gitlab', 'editGroup', "gitlabID=$gitlabID&groupID=$gitlabGroup->id", " ", '', "title='{$lang->gitlab->group->edit}' class='btn {$adminClass}'");
- if(common::hasPriv('gitlab', 'delete')) echo html::a($this->createLink('gitlab', 'deleteGroup', "gitlabID=$gitlabID&groupID=$gitlabGroup->id"), '', 'hiddenwin', "title='{$lang->gitlab->deleteGroup}' class='btn {$adminClass}'");
+ echo common::buildIconButton('gitlab', 'editGroup', "gitlabID=$gitlabID&groupID=$gitlabGroup->id", '', 'list', 'edit', '', '', false, '', '', 0, $isAdmin);
+ echo common::buildIconButton('gitlab', 'deleteGroup', "gitlabID=$gitlabID&groupID=$gitlabGroup->id", '', 'list', 'trash', 'hiddenwin', '', false, '', '', 0, $isAdmin);
?>
|
diff --git a/module/gitlab/view/browseproject.html.php b/module/gitlab/view/browseproject.html.php
index f27d25ea31..286ff6c9a7 100644
--- a/module/gitlab/view/browseproject.html.php
+++ b/module/gitlab/view/browseproject.html.php
@@ -45,7 +45,7 @@
gitlab->project->name);?> |
|
gitlab->lastUpdate;?> |
- actions;?> |
+ actions;?> |
@@ -60,13 +60,13 @@
last_activity_at, 0, 10);?> |
isMaintainer ? '' : 'disabled';
- $ownerClass = $gitlabProject->adminer ? '' : 'disabled';
- $emptyBranchClass = $gitlabProject->default_branch ? '' : 'disabled';
- common::printLink('gitlab', 'browseBranchPriv', "gitlabID=$gitlabID&projectID=$gitlabProject->id", " ", '', "title='{$lang->gitlab->branch->accessLevel}' class='btn {$maintainerClass} {$emptyBranchClass}'");
- common::printLink('gitlab', 'browseTagPriv', "gitlabID=$gitlabID&projectID=$gitlabProject->id", " ", '', "title='{$lang->gitlab->browseTagPriv}' class='btn {$maintainerClass} {$emptyBranchClass}'");
- common::printLink('gitlab', 'editProject', "gitlabID=$gitlabID&projectID=$gitlabProject->id", " ", '', "title='{$lang->gitlab->project->edit}' class='btn {$ownerClass}'");
- if(common::hasPriv('gitlab', 'delete')) echo html::a($this->createLink('gitlab', 'deleteProject', "gitlabID=$gitlabID&projectID=$gitlabProject->id"), '', 'hiddenwin', "title='{$lang->gitlab->deleteProject}' class='btn {$ownerClass}'");
+ echo common::buildIconButton('gitlab', 'browseBranchPriv', "gitlabID=$gitlabID&projectID=$gitlabProject->id", '', 'list', 'branch-lock', '', '', false, '', '', 0, ($gitlabProject->isMaintainer and $gitlabProject->default_branch));
+ echo common::buildIconButton('gitlab', 'browseTagPriv', "gitlabID=$gitlabID&projectID=$gitlabProject->id", '', 'list', 'tag-lock', '', '', false, '', '', 0, ($gitlabProject->isMaintainer and $gitlabProject->default_branch));
+ echo common::buildIconButton('gitlab', 'manageProjectMembers', 'repoID=' . zget($repoPairs, $gitlabProject->id), '', 'list', 'team', '', '', false, '', '', 0, isset($repoPairs[$gitlabProject->id]));
+ echo common::buildIconButton('gitlab', 'createWebhook', 'repoID=' . zget($repoPairs, $gitlabProject->id), '', 'list', 'change', 'hiddenwin', '', false, '', '', 0, isset($repoPairs[$gitlabProject->id]));
+ echo common::buildIconButton('gitlab', 'importIssue', 'repoID=' . zget($repoPairs, $gitlabProject->id), '', 'list', 'link', '', '', false, '', '', 0, isset($repoPairs[$gitlabProject->id]));
+ echo common::buildIconButton('gitlab', 'editProject', "gitlabID=$gitlabID&projectID=$gitlabProject->id", '', 'list', 'edit', '', '', false, '', '', 0, $gitlabProject->adminer);
+ echo common::buildIconButton('gitlab', 'deleteProject', "gitlabID=$gitlabID&projectID=$gitlabProject->id", '', 'list', 'trash', 'hiddenwin', '', false, '', '', 0, $gitlabProject->adminer);
?>
|
diff --git a/module/gitlab/view/browseuser.html.php b/module/gitlab/view/browseuser.html.php
index fbecaeb8ef..12ba265311 100644
--- a/module/gitlab/view/browseuser.html.php
+++ b/module/gitlab/view/browseuser.html.php
@@ -58,8 +58,8 @@
lastActivityOn, 0, 10);?> |
id", " ", '', "title='{$lang->gitlab->user->edit}' class='btn btn-primary'");
- if(common::hasPriv('gitlab', 'delete')) echo html::a($this->createLink('gitlab', 'deleteUser', "gitlabID=$gitlabID&userID=$gitlabUser->id"), '', 'hiddenwin', "title='{$lang->gitlab->deleteUser}' class='btn'" . ($isAdmin ? '' : ' disabled'));
+ echo common::buildIconButton('gitlab', 'editUser', "gitlabID=$gitlabID&userID=$gitlabUser->id", '', 'list', 'edit', '', '', false, '', '', 0, $isAdmin);
+ echo common::buildIconButton('gitlab', 'deleteUser', "gitlabID=$gitlabID&userID=$gitlabUser->id", '', 'list', 'trash', 'hiddenwin', '', false, '', '', 0, $isAdmin);
?>
|
diff --git a/module/repo/model.php b/module/repo/model.php
index c5fcfa2945..70027f2b88 100644
--- a/module/repo/model.php
+++ b/module/repo/model.php
@@ -2034,13 +2034,13 @@ class repoModel extends model
* @param int $projectID
* @return array
*/
- public function getGitLabRepoList($gitlabID, $projectID)
+ public function getGitLabRepoList($gitlabID, $projectID = 0)
{
return $this->dao->select('*')->from(TABLE_REPO)->where('deleted')->eq('0')
->andWhere('SCM')->eq('Gitlab')
->andWhere('synced')->eq(1)
->andWhere('client')->eq($gitlabID)
- ->andWhere('path')->eq($projectID)
+ ->beginIF($projectID)->andWhere('path')->eq($projectID)->fi()
->fetchAll();
}
diff --git a/module/repo/view/maintain.html.php b/module/repo/view/maintain.html.php
index 5f1f6af6f6..c3fb93bb70 100644
--- a/module/repo/view/maintain.html.php
+++ b/module/repo/view/maintain.html.php
@@ -53,12 +53,6 @@
id&objectID=$objectID", '', 'list', 'edit');
- if(strtolower($repo->SCM) == "gitlab")
- {
- common::printIcon('gitlab', 'manageProjectMembers', "repo={$repo->id}", '', 'list', 'team');
- common::printIcon('gitlab', 'createWebhook', "repoID=$repo->id", '', 'list', 'change', 'hiddenwin');
- common::printIcon('gitlab', 'importIssue', "repo={$repo->id}", '', 'list', 'link');
- }
if(isset($sonarRepoList[$repo->id]))
{
$jobID = $sonarRepoList[$repo->id]->id;
|