From c561a9b666214caa3c8fc54b68be061d70bc797b Mon Sep 17 00:00:00 2001 From: liyuchun Date: Thu, 20 Jan 2022 13:11:40 +0800 Subject: [PATCH 1/2] * Add sudo in gitlab api url. --- module/gitlab/model.php | 16 ++++++++++++---- module/gitlab/view/binduser.html.php | 4 ++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/module/gitlab/model.php b/module/gitlab/model.php index 63bcf7207e..d2d3109f3f 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -64,7 +64,15 @@ class gitlabModel extends model { $gitlab = $this->getByID($id); if(!$gitlab) return ''; - return rtrim($gitlab->url, '/') . '/api/v4%s' . "?private_token={$gitlab->token}"; + + $sudoParam = ''; + if(!$this->app->user->admin) + { + $openID = $this->getUserIDByZentaoAccount($id, $this->app->user->account); + if($openID) $sudoParam = "&sudo={$openID}"; + } + + return rtrim($gitlab->url, '/') . '/api/v4%s' . "?private_token={$gitlab->token}" . $sudoParam; } /** @@ -498,10 +506,10 @@ class gitlabModel extends model $user->id = $gitlabUser->id; $user->realname = $gitlabUser->name; $user->account = $gitlabUser->username; - $user->email = $gitlabUser->email; + $user->email = zget($gitlabUser, 'email', ''); $user->avatar = $gitlabUser->avatar_url; - $user->createdAt = $gitlabUser->created_at; - $user->lastActivityOn = $gitlabUser->last_activity_on; + $user->createdAt = zget($gitlabUser, 'created_at', ''); + $user->lastActivityOn = zget($gitlabUser, 'last_activity_on', ''); $users[] = $user; } diff --git a/module/gitlab/view/binduser.html.php b/module/gitlab/view/binduser.html.php index 381867a303..07dea50359 100644 --- a/module/gitlab/view/binduser.html.php +++ b/module/gitlab/view/binduser.html.php @@ -33,7 +33,7 @@ realname;?>
- account . " <" . $gitlabUser->email . ">";?> + email) echo $gitlabUser->account . " <" . $gitlabUser->email . ">";?> id]", $userPairs, '', "class='form-control select chosen'" );?> @@ -46,7 +46,7 @@ realname;?>
- account . " <" . $gitlabUser->email . ">";?> + email) echo $gitlabUser->account . " <" . $gitlabUser->email . ">";?> id]", $userPairs, $gitlabUser->zentaoAccount, "class='form-control select chosen'" );?> From b9c90fcd252f2f1264e8aeadf555e116bb70710d Mon Sep 17 00:00:00 2001 From: liyuchun Date: Thu, 20 Jan 2022 13:27:31 +0800 Subject: [PATCH 2/2] * Adjust bind user. --- module/gitlab/model.php | 4 ++-- module/gitlab/view/binduser.html.php | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/module/gitlab/model.php b/module/gitlab/model.php index d2d3109f3f..11d5d75910 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -478,8 +478,8 @@ class gitlabModel extends model while(true) { /* Also use `per_page=20` to fetch users in API. Fetch active users only. */ - $url = sprintf($apiRoot, "/users") . "&order_by={$order}&sort={$sort}&page={$page}&per_page=20&active=true"; - $result = json_decode(commonModel::http($url)); + $url = sprintf($apiRoot, "/users") . "&order_by={$order}&sort={$sort}&page={$page}&per_page=20&active=true"; + $result = json_decode(commonModel::http($url)); if(!empty($result)) { $response = array_merge($response, $result); diff --git a/module/gitlab/view/binduser.html.php b/module/gitlab/view/binduser.html.php index 07dea50359..c83bea3e6e 100644 --- a/module/gitlab/view/binduser.html.php +++ b/module/gitlab/view/binduser.html.php @@ -33,7 +33,8 @@ realname;?>
- email) echo $gitlabUser->account . " <" . $gitlabUser->email . ">";?> + account;?> + email) echo " <" . $gitlabUser->email . ">";?> id]", $userPairs, '', "class='form-control select chosen'" );?> @@ -46,7 +47,8 @@ realname;?>
- email) echo $gitlabUser->account . " <" . $gitlabUser->email . ">";?> + account;?> + email) echo " <" . $gitlabUser->email . ">";?> id]", $userPairs, $gitlabUser->zentaoAccount, "class='form-control select chosen'" );?>