From 7ccb99423b5762ce5d5ce1b7c579961330dcf79f Mon Sep 17 00:00:00 2001 From: Guan Xiying Date: Mon, 23 Aug 2021 17:04:51 +0800 Subject: [PATCH 1/5] * Fix delete mr error. --- module/mr/control.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/module/mr/control.php b/module/mr/control.php index 305d671217..ae41cf7adb 100644 --- a/module/mr/control.php +++ b/module/mr/control.php @@ -71,9 +71,9 @@ class mr extends control } /** - * Delete a mr. + * Delete a MR. * - * @param int $MR + * @param int $id * @access public * @return void */ @@ -81,11 +81,12 @@ class mr extends control { if($confim != 'yes') die(js::confirm($this->lang->gitlab->confirmDelete, inlink('delete', "id=$id&confirm=yes"))); - $MRList = $this->mr->getByID($id); + $MR = $this->mr->getByID($id); - $this->mr->apiDeleteMR($MRList->gitlabID, $MRList->projectID, $MRList->mrID); - $this->mr->deleteMR($id); - die(js::reload('parent')); + $this->dao->delete()->from(TABLE_MR)->where('id')->eq($id)->exec(); + $this->mr->apiDeleteMR($MR->gitlabID, $MR->sourceProject, $MR->mriid); + + die(js::locate(inlink('browse'), 'parent')); } /** @@ -125,4 +126,10 @@ class mr extends control $this->send($options); } + + public function diff($MRID) + { + $MR = $this->mr->getByID($MRID); + $versions = $this->mr->apiGetDiffVersions($MR); + } } From 82ba7789b6bd2904f6b446ee0e19e857c2d301c6 Mon Sep 17 00:00:00 2001 From: Guan Xiying Date: Mon, 23 Aug 2021 17:06:21 +0800 Subject: [PATCH 2/5] * Fix params of get versions api. --- module/mr/model.php | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/module/mr/model.php b/module/mr/model.php index be700b5779..f603124236 100644 --- a/module/mr/model.php +++ b/module/mr/model.php @@ -82,22 +82,6 @@ class mrModel extends model return $MR; } - /** - * Delete one MR. - * - * condition: when user deleting a repo. - * - * @param int $id - * @access public - * @return void - */ - public function deleteMR($id) - { - $this->dao->delete()->from(TABLE_MR) - ->andWhere('id')->eq($id) - ->exec(); - } - /** * Get gitlab pairs. * @@ -295,15 +279,13 @@ class mrModel extends model * Get MR diff versions by API. * * @docs https://docs.gitlab.com/ee/api/merge_requests.html#get-mr-diff-versions - * @param int $gitlabID - * @param int $projectID - * @param int $MRID + * @param object $MR * @access public * @return object */ - public function apiGetDiffVersions($gitlabID, $projectID, $MRID) + public function apiGetDiffVersions($MR) { - $url = sprintf($this->gitlab->getApiRoot($gitlabID), "/projects/$projectID/merge_requests/$MRID"); + $url = sprintf($this->gitlab->getApiRoot($MR->gitlabID), "/projects/{$MR->targetProject}/merge_requests/$MR->mriid/versions"); return json_decode(commonModel::http($url)); } @@ -318,7 +300,7 @@ class mrModel extends model * @access public * @return object */ - public function apiGetSingleDiffVersion($gitlabID, $projectID, $MRID, $versionID) + public function apiGetSingleDiffVersion($MRID, $versionID) { $url = sprintf($this->gitlab->getApiRoot($gitlabID), "/projects/$projectID/merge_requests/$MRID/versions/$versionID"); return json_decode(commonModel::http($url)); From d2e51fb7a37755bc8fb27fd80586830be880bb00 Mon Sep 17 00:00:00 2001 From: Guan Xiying Date: Mon, 23 Aug 2021 17:07:26 +0800 Subject: [PATCH 3/5] * Rename mrModel::edit function. --- module/mr/model.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/mr/model.php b/module/mr/model.php index 9924df8966..c4ed60e886 100644 --- a/module/mr/model.php +++ b/module/mr/model.php @@ -161,7 +161,7 @@ class mrModel extends model * @access public * @return void */ - public function edit($MRID) + public function update($MRID) { $MR = fixer::input('post') ->setDefault('editedBy', $this->app->user->account) From 80c872be8062d9ebc75d59641cc47168b20eba1a Mon Sep 17 00:00:00 2001 From: Guan Xiying Date: Mon, 23 Aug 2021 17:08:03 +0800 Subject: [PATCH 4/5] * Rename mrModel::edit function. --- module/mr/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/mr/control.php b/module/mr/control.php index bf978e5fd7..d322b40ad3 100644 --- a/module/mr/control.php +++ b/module/mr/control.php @@ -54,7 +54,7 @@ class mr extends control { if($_POST) { - $result = $this->mr->edit($MRID); + $result = $this->mr->update($MRID); return $result; } From eb5e3dbac7e975ca20e5c46cd5e32b24ff5734cd Mon Sep 17 00:00:00 2001 From: Guan Xiying Date: Mon, 23 Aug 2021 17:14:34 +0800 Subject: [PATCH 5/5] * Fix params of apiGetSingleDiffVersion and apiGetDiffVersions. --- module/mr/model.php | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/module/mr/model.php b/module/mr/model.php index c4ed60e886..58f84d5669 100644 --- a/module/mr/model.php +++ b/module/mr/model.php @@ -32,8 +32,7 @@ class mrModel extends model */ public function getByID($id) { - $MR = $this->dao->select('*')->from(TABLE_MR)->where('id')->eq($id)->fetch(); - return $MR; + return $this->dao->select('*')->from(TABLE_MR)->where('id')->eq($id)->fetch(); } /** @@ -195,14 +194,14 @@ class mrModel extends model * @docs https://docs.gitlab.com/ee/api/merge_requests.html#create-mr * @param int $gitlabID * @param int $projectID - * @param object $params + * @param object $MR * @access public * @return object */ - public function apiCreateMR($gitlabID, $projectID, $params) + public function apiCreateMR($gitlabID, $projectID, $MR) { $url = sprintf($this->gitlab->getApiRoot($gitlabID), "/projects/$projectID/merge_requests"); - return json_decode(commonModel::http($url, $data=$params, $options = array())); + return json_decode(commonModel::http($url, $MR)); } /** @@ -295,7 +294,7 @@ class mrModel extends model */ public function apiGetDiffVersions($MR) { - $url = sprintf($this->gitlab->getApiRoot($MR->gitlabID), "/projects/{$MR->targetProject}/merge_requests/$MR->mriid/versions"); + $url = sprintf($this->gitlab->getApiRoot($MR->gitlabID), "/projects/{$MR->sourceProject}/merge_requests/$MR->mriid/versions"); return json_decode(commonModel::http($url)); } @@ -303,17 +302,14 @@ class mrModel extends model * Get single diff version by API. * * @docs https://docs.gitlab.com/ee/api/merge_requests.html#get-a-single-mr-diff-version - * @param int $gitlabID - * @param int $projectID - * @param int $MRID - * @param int $versionID + * @param object $MR + * @param int $versionID * @access public * @return object */ - public function apiGetSingleDiffVersion($MRID, $versionID) + public function apiGetSingleDiffVersion($MR, $versionID) { - $url = sprintf($this->gitlab->getApiRoot($gitlabID), "/projects/$projectID/merge_requests/$MRID/versions/$versionID"); + $url = sprintf($this->gitlab->getApiRoot($MR->gitlabID), "/projects/{$MR->sourceProject}/merge_requests/{$MR->mriid}/versions/$versionID"); return json_decode(commonModel::http($url)); } } -