From 7eb79b625680e53ef71671a45bdfe437e5b7e9e5 Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Tue, 25 Jan 2022 01:38:24 +0000 Subject: [PATCH] * Fix bug #18932. --- module/gitlab/control.php | 16 +++++++++------- module/gitlab/model.php | 14 +++++++------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/module/gitlab/control.php b/module/gitlab/control.php index 87c90864b0..fe7eaab32b 100644 --- a/module/gitlab/control.php +++ b/module/gitlab/control.php @@ -314,7 +314,7 @@ class gitlab extends control } $groups = $this->gitlab->apiGetGroups($gitlabID, $orderBy); - $adminGroups = $this->gitlab->apiGetGroups($gitlabID, $orderBy, $this->config->gitlab->accessLevel['maintainer']); + $adminGroups = $this->gitlab->apiGetGroups($gitlabID, $orderBy, $this->config->gitlab->accessLevel['owner']); $adminGropuIDList = array(); foreach($adminGroups as $group) $adminGropuIDList[] = $group->id; @@ -374,7 +374,7 @@ class gitlab extends control if(!$openID) return print(js::alert($this->lang->gitlab->mustBindUser) . js::locate($this->createLink('gitlab', 'browse'))); $members = $this->gitlab->apiGetGroupMembers($gitlabID, $groupID, $openID); - if(empty($members)) return print(js::alert($this->lang->gitlab->noAccess) . js::locate($this->createLink('gitlab', 'browse'))); + if(empty($members) or $members[0]->access_level < $this->config->gitlab->accessLevel['owner']) return print(js::alert($this->lang->gitlab->noAccess) . js::locate($this->createLink('gitlab', 'browse'))); } if($_POST) @@ -407,17 +407,19 @@ class gitlab extends control { if($confirm != 'yes') die(js::confirm($this->lang->gitlab->group->confirmDelete , inlink('deleteGroup', "gitlabID=$gitlabID&groupID=$groupID&confirm=yes"))); - $group = $this->gitlab->apiGetSingleGroup($gitlabID, $groupID); - $reponse = $this->gitlab->apiDeleteGroup($gitlabID, $groupID); + $group = $this->gitlab->apiGetSingleGroup($gitlabID, $groupID); + $response = $this->gitlab->apiDeleteGroup($gitlabID, $groupID); /* If the status code beginning with 20 is returned or empty is returned, it is successful. */ - if(!$reponse or substr($reponse->message, 0, 2) == '20') + if(!$response or substr($response->message, 0, 2) == '20') { $this->loadModel('action')->create('gitlabgroup', $groupID, 'deleted', '', $group->name); - die(js::reload('parent')); + return print(js::reload('parent')); } - die(js::alert($reponse->message)); + $errorKey = array_search($response->message, $this->lang->gitlab->apiError); + $result = $errorKey === false ? $response->message : zget($this->lang->gitlab->errorLang, $errorKey); + return print(js::alert($result)); } /** diff --git a/module/gitlab/model.php b/module/gitlab/model.php index e841d98595..2e78a6f7a4 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -560,7 +560,7 @@ class gitlabModel extends model $results = json_decode(commonModel::http($url . "&&page={$page}&per_page=100")); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); - if(count($results)<100) break; + if(count($results) < 100) break; } return $allResults; @@ -584,7 +584,7 @@ class gitlabModel extends model $results = json_decode(commonModel::http($url . "&&page={$page}&per_page=100")); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); - if(count($results)<100) break; + if(count($results) < 100) break; } return $allResults; @@ -612,7 +612,7 @@ class gitlabModel extends model $results = json_decode(commonModel::http($url . "&statistics=true&order_by={$order}&sort={$sort}&page={$page}&per_page=100&all_available=true")); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); - if(count($results)<100 or $page > 10) break; + if(count($results) < 100 or $page > 10) break; } return $allResults; @@ -686,7 +686,7 @@ class gitlabModel extends model $results = json_decode(commonModel::http($url . "&page={$page}&per_page=100")); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); - if(count($results)<100 or $page > 10) break; + if(count($results) < 100 or $page > 10) break; } return $allResults; @@ -1498,7 +1498,7 @@ class gitlabModel extends model $results = json_decode(commonModel::http($url . "&&page={$page}&per_page=100")); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); - if(count($results)<100) break; + if(count($results) < 100) break; } return $allResults; @@ -1537,7 +1537,7 @@ class gitlabModel extends model $results = json_decode(commonModel::http($url . "&&page={$page}&per_page=100")); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); - if(count($results)<100) break; + if(count($results) < 100) break; } return $allResults; @@ -1595,7 +1595,7 @@ class gitlabModel extends model $results = json_decode(commonModel::http($url . "&&page={$page}&per_page=100")); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); - if(count($results)<100) break; + if(count($results) < 100) break; } $tags = array();