diff --git a/module/gogs/config/dtable.php b/module/gogs/config/dtable.php index e3d4d2999a..12806f9f91 100644 --- a/module/gogs/config/dtable.php +++ b/module/gogs/config/dtable.php @@ -39,7 +39,7 @@ $config->gogs->actionList['bindUser']['url'] = helper::createLink('gogs', 'bind $config->gogs->actionList['delete']['icon'] = 'trash'; $config->gogs->actionList['delete']['text'] = $lang->gogs->delete; $config->gogs->actionList['delete']['hint'] = $lang->gogs->delete; -$config->gogs->actionList['delete']['url'] = helper::createLink('gogs', 'delete',"gogsID={id}"); +$config->gogs->actionList['delete']['url'] = 'javascript:confirmDelete("{id}")'; $config->gogs->dtable->fieldList['actions']['name'] = 'actions'; $config->gogs->dtable->fieldList['actions']['title'] = $lang->actions; diff --git a/module/gogs/control.php b/module/gogs/control.php index 1d7e34e03c..f59845a5b5 100644 --- a/module/gogs/control.php +++ b/module/gogs/control.php @@ -131,24 +131,31 @@ class gogs extends control } /** + * 删除一条gogs数据。 * Delete a gogs. * * @param int $gogsID * @access public * @return void */ - public function delete($gogsID, $confirm = 'no') + public function delete($gogsID) { - if($confirm != 'yes') return print(js::confirm($this->lang->gogs->confirmDelete, inlink('delete', "id=$gogsID&confirm=yes"))); - $oldGogs = $this->loadModel('pipeline')->getByID($gogsID); $actionID = $this->pipeline->delete($gogsID, 'gogs'); - if(!$actionID) return print(js::error($this->lang->pipeline->delError)); + if(!$actionID) + { + $response['result'] = 'fail'; + $response['message'] = $this->lang->pipeline->delError; + return $this->send($response); + } $gogs = $this->pipeline->getByID($gogsID); $changes = common::createChanges($oldGogs, $gogs); $this->loadModel('action')->logHistory($actionID, $changes); - return print(js::reload('parent')); + + $response['load'] = true; + $response['result'] = 'success'; + return $this->send($response); } /** diff --git a/module/gogs/js/browse.ui.js b/module/gogs/js/browse.ui.js index b3f2c9b1ba..4bb5886182 100644 --- a/module/gogs/js/browse.ui.js +++ b/module/gogs/js/browse.ui.js @@ -24,4 +24,20 @@ window.renderCell = function(result, {col, row}) } return result; -}; \ No newline at end of file +}; + +/** + * 提示并删除版本。 + * Delete release with tips. + * + * @param int gogsID + * @access public + * @return void + */ +window.confirmDelete = function(gogsID) +{ + if(window.confirm(confirmDelete)) + { + $.ajaxSubmit({url: $.createLink('gogs', 'delete', 'gogsID=' + gogsID)}); + } +} \ No newline at end of file diff --git a/module/gogs/ui/browse.html.php b/module/gogs/ui/browse.html.php index 467f8f65fa..c978e855e3 100644 --- a/module/gogs/ui/browse.html.php +++ b/module/gogs/ui/browse.html.php @@ -26,6 +26,7 @@ toolbar $canCreate ? item(set($createItem)) : null, ); +jsVar('confirmDelete', $lang->gogs->confirmDelete); jsVar('orderBy', $orderBy); jsVar('canBrowseProject', common::hasPriv('gogs', 'browseProject')); jsVar('sortLink', helper::createLink('gogs', 'browse', "orderBy={orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"));