diff --git a/trunk/module/release/control.php b/trunk/module/release/control.php index be039baa10..1e23398f99 100644 --- a/trunk/module/release/control.php +++ b/trunk/module/release/control.php @@ -36,6 +36,7 @@ class release extends control public function browse($productID) { $this->commonAction($productID); + $this->session->set('releaseList', $this->app->getURI(true)); $this->view->header->title = $this->lang->release->browse; $this->view->position[] = $this->lang->release->browse; $this->view->releases = $this->release->getList($productID); @@ -47,9 +48,10 @@ class release extends control { if(!empty($_POST)) { - $this->release->create($productID); + $releaseID = $this->release->create($productID); if(dao::isError()) die(js::error(dao::getError())); - die(js::locate($this->createLink('release', 'browse', "productID=$productID"), 'parent')); + $this->loadModel('action')->create('release', $releaseID, 'opened'); + die(js::locate(inlink('view', "releaseID=$releaseID"), 'parent')); } $this->commonAction($productID); @@ -65,9 +67,11 @@ class release extends control { if(!empty($_POST)) { - $this->release->update($releaseID); + $changes = $this->release->update($releaseID); if(dao::isError()) die(js::error(dao::getError())); - die(js::locate($this->createLink('release', 'browse', "productID={$this->post->product}"), 'parent')); + $actionID = $this->loadModel('action')->create('release', $releaseID, 'edited'); + $this->action->logHistory($actionID, $changes); + die(js::locate(inlink('view', "releaseID=$releaseID"), 'parent')); } $release = $this->release->getById((int)$releaseID); @@ -77,6 +81,7 @@ class release extends control $this->view->position[] = $this->lang->release->edit; $this->view->release = $release; $this->view->builds = $this->loadModel('build')->getProductBuildPairs($release->product); + unset($this->view->builds['trunk']); $this->display(); } @@ -84,12 +89,16 @@ class release extends control public function view($releaseID) { $release = $this->release->getById((int)$releaseID); + if(!$release) die(js::error($this->lang->notFound) . js::locate('back')); + $this->commonAction($release->product); /* 赋值。*/ $this->view->header->title = $this->lang->release->view; $this->view->position[] = $this->lang->release->view; $this->view->release = $release; + $this->view->actions = $this->loadModel('action')->getList('release', $releaseID); + $this->view->users = $this->loadModel('user')->getPairs('noletter'); $this->display(); } @@ -102,9 +111,8 @@ class release extends control } else { - $release = $this->release->getById($releaseID); - $this->release->delete($releaseID); - die(js::locate($this->createLink('release', 'browse', "productID=$release->product"), 'parent')); + $this->release->delete(TABLE_RELEASE, $releaseID); + die(js::locate($this->session->releaseList, 'parent')); } } } diff --git a/trunk/module/release/model.php b/trunk/module/release/model.php index 3e8b7b584d..9ccda6e4ed 100644 --- a/trunk/module/release/model.php +++ b/trunk/module/release/model.php @@ -45,6 +45,7 @@ class releaseModel extends model ->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product = t2.id') ->leftJoin(TABLE_BUILD)->alias('t3')->on('t1.build = t3.id') ->where('t1.product')->eq((int)$productID) + ->andWhere('t1.deleted')->eq(0) ->orderBy('t1.id DESC') ->fetchAll(); } @@ -64,16 +65,12 @@ class releaseModel extends model /* 编辑。*/ public function update($releaseID) { + $oldRelease = $this->getByID($releaseID); $release = fixer::input('post') ->stripTags('name') ->specialChars('desc') ->get(); $this->dao->update(TABLE_RELEASE)->data($release)->autoCheck()->batchCheck($this->config->release->edit->requiredFields, 'notempty')->where('id')->eq((int)$releaseID)->exec(); - } - - /* 删除release。*/ - public function delete($releaseID) - { - return $this->dao->delete()->from(TABLE_RELEASE)->where('id')->eq((int)$releaseID)->exec(); + if(!dao::isError()) return common::createChanges($oldRelease, $release); } } diff --git a/trunk/module/release/view/browse.html.php b/trunk/module/release/view/browse.html.php index f244e88249..a1a530269e 100644 --- a/trunk/module/release/view/browse.html.php +++ b/trunk/module/release/view/browse.html.php @@ -27,17 +27,17 @@
- -
+ + - + - - + + diff --git a/trunk/module/release/view/view.html.php b/trunk/module/release/view/view.html.php index c7e7b06f61..05101cf48a 100644 --- a/trunk/module/release/view/view.html.php +++ b/trunk/module/release/view/view.html.php @@ -24,38 +24,40 @@ ?>
-
-
release->browse;?>
id", $lang->release->create);?>
release->name;?> release->build;?>release->date;?>actions;?>release->date;?>actions;?>
- - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +
release->view;?>
release->product;?>productName;?>
release->name;?>name;?>
release->build;?>buildName;?>
release->date;?>date;?>
release->desc;?>desc);?>
- +
release->view;?>
release->product;?>productName;?>
release->name;?>'>name;?>
release->build;?>buildName;?>
release->date;?>date;?>
release->desc;?>desc);?>
+
+ session->releaseList ? $this->session->releaseList : inlink('browse', "productID=$release->product"); + if(!$release->deleted) + { common::printLink('release', 'edit', "releaseID=$release->id", $lang->edit); - common::printLink('release', 'delete', "releaseID=$release->id", $lang->delete); - ?> - - -
- + common::printLink('release', 'delete', "releaseID=$release->id", $lang->delete, 'hiddenwin'); + } + echo html::a($browseLink, $lang->goback); + ?> +
+