diff --git a/module/mr/control.php b/module/mr/control.php index d492877ace..5333cc6682 100644 --- a/module/mr/control.php +++ b/module/mr/control.php @@ -218,36 +218,36 @@ class mr extends control /** * Delete a MR. * - * @param int $id + * @param int $MRID * @access public * @return void */ - public function delete($id, $confirm = 'no') + public function delete($MRID, $confirm = 'no') { - if($confirm != 'yes') return print(js::confirm($this->lang->mr->confirmDelete, inlink('delete', "id=$id&confirm=yes"))); + if($confirm != 'yes') return print(js::confirm($this->lang->mr->confirmDelete, inlink('delete', "MRID=$MRID&confirm=yes"))); - $MR = $this->mr->getByID($id); + $MR = $this->mr->getByID($MRID); if($MR->synced) { $res = $this->mr->apiDeleteMR($MR->hostID, $MR->targetProject, $MR->mriid); if(isset($res->message)) return print(js::alert($this->mr->convertApiError($res->message))); } - $this->dao->delete()->from(TABLE_MR)->where('id')->eq($id)->exec(); + $this->dao->delete()->from(TABLE_MR)->where('id')->eq($MRID)->exec(); - echo js::reload('parent'); + echo js::locate(inlink('browse'), 'parent'); } /** * View a MR. * - * @param int $id + * @param int $MRID * @access public * @return void */ - public function view($id) + public function view($MRID) { - $MR = $this->mr->getByID($id); + $MR = $this->mr->getByID($MRID); if(!$MR) return print(js::error($this->lang->notFound) . js::locate($this->createLink('mr', 'browse'))); if(isset($MR->hostID)) $rawMR = $this->mr->apiGetSingleMR($MR->hostID, $MR->targetProject, $MR->mriid); if($MR->synced and (!isset($rawMR->id) or (isset($rawMR->message) and $rawMR->message == '404 Not found') or empty($rawMR))) return $this->display(); diff --git a/module/mr/model.php b/module/mr/model.php index 5892709843..a85568faaa 100644 --- a/module/mr/model.php +++ b/module/mr/model.php @@ -890,8 +890,14 @@ class mrModel extends model } else { - $url = sprintf($this->loadModel('gitea')->getApiRoot($hostID), "/repos/$projectID/pulls/$MRID"); - return json_decode(commonModel::http($url, array('state' => 'closed'), array(), array(), 'json', 'PATCH')); + $rowMR = $this->apiGetSingleMR($hostID, $projectID, $MRID); + if($rowMR->state == 'opened') + { + $url = sprintf($this->loadModel('gitea')->getApiRoot($hostID), "/repos/$projectID/pulls/$MRID"); + return json_decode(commonModel::http($url, array('state' => 'closed'), array(), array(), 'json', 'PATCH')); + } + + return null; } } diff --git a/module/mr/view/approval.html.php b/module/mr/view/approval.html.php index 6007362095..c422b5c613 100644 --- a/module/mr/view/approval.html.php +++ b/module/mr/view/approval.html.php @@ -18,7 +18,7 @@
id; ?>

- title'>" . $MR->title . ' - ' . zget($lang->mr->approvalResultList, $action) . '') : html::a($this->createLink('mr', 'view', 'MR=' . $MR->id), $MR->title); ?> + title'>" . $MR->title . ' - ' . zget($lang->mr->approvalResultList, $action) . '') : html::a($this->createLink('mr', 'view', 'MRID=' . $MR->id), $MR->title); ?> arrow . $lang->mr->approval; ?> diff --git a/module/mr/view/browse.html.php b/module/mr/view/browse.html.php index b5693d33d7..20d3ed910a 100644 --- a/module/mr/view/browse.html.php +++ b/module/mr/view/browse.html.php @@ -98,11 +98,11 @@ { $canEdit = (isset($projects[$MR->hostID][$MR->sourceProject]->allow_merge_commits) and $projects[$MR->hostID][$MR->sourceProject]->allow_merge_commits == true) ? '' : 'disabled'; } - common::printLink('mr', 'view', "mr={$MR->id}", '', '', "title='{$lang->mr->view}' class='btn btn-info'"); - common::printIcon('mr', 'edit', "mr={$MR->id}", $MR, 'list', '', '', '', false, "{$canEdit}"); - common::printLink('mr', 'diff', "mr={$MR->id}", '', '', "title='{$lang->mr->viewDiff}' class='btn btn-info'"); - common::printLink('mr', 'link', "mr={$MR->id}", '', '', "title='{$lang->mr->link}' class='btn btn-info'" . ($MR->linkButton == false ? 'disabled' : '')); - common::printLink('mr', 'delete', "mr={$MR->id}", '', 'hiddenwin', "title='{$lang->mr->delete}' class='btn btn-info {$canDelete}'"); + common::printLink('mr', 'view', "MRID={$MR->id}", '', '', "title='{$lang->mr->view}' class='btn btn-info'"); + common::printIcon('mr', 'edit', "MRID={$MR->id}", $MR, 'list', '', '', '', false, "{$canEdit}"); + common::printLink('mr', 'diff', "MRID={$MR->id}", '', '', "title='{$lang->mr->viewDiff}' class='btn btn-info'"); + common::printLink('mr', 'link', "MRID={$MR->id}", '', '', "title='{$lang->mr->link}' class='btn btn-info'" . ($MR->linkButton == false ? 'disabled' : '')); + common::printLink('mr', 'delete', "MRID={$MR->id}", '', 'hiddenwin', "title='{$lang->mr->delete}' class='btn btn-info {$canDelete}'"); ?> diff --git a/module/mr/view/diff.html.php b/module/mr/view/diff.html.php index e822e5c61e..2684cc66ba 100644 --- a/module/mr/view/diff.html.php +++ b/module/mr/view/diff.html.php @@ -24,11 +24,11 @@
diff --git a/module/mr/view/link.html.php b/module/mr/view/link.html.php index fe834e0272..f9350b3730 100644 --- a/module/mr/view/link.html.php +++ b/module/mr/view/link.html.php @@ -37,8 +37,8 @@