. * * @copyright Copyright 2009-2010 青岛易软天创网络科技有限公司(www.cnezsoft.com) * @author Chunsheng Wang * @package release * @version $Id$ * @link http://www.zentaoms.com */ class release extends control { /* 公共操作。*/ public function commonAction($productID) { $this->loadModel('product'); $this->view->product = $this->product->getById($productID); $this->view->position[] = html::a($this->createLink('product', 'browse', "productID={$this->view->product->id}"), $this->view->product->name); $this->product->setMenu($this->product->getPairs(), $productID); } /* 浏览发布列表。*/ 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); $this->display(); } /* 添加release。*/ public function create($productID) { if(!empty($_POST)) { $releaseID = $this->release->create($productID); if(dao::isError()) die(js::error(dao::getError())); $this->loadModel('action')->create('release', $releaseID, 'opened'); die(js::locate(inlink('view', "releaseID=$releaseID"), 'parent')); } $this->commonAction($productID); $this->view->header->title = $this->lang->release->create; $this->view->position[] = $this->lang->release->create; $this->view->builds = $this->loadModel('build')->getProductBuildPairs($productID); unset($this->view->builds['trunk']); $this->display(); } /* 编辑release。*/ public function edit($releaseID) { if(!empty($_POST)) { $changes = $this->release->update($releaseID); if(dao::isError()) die(js::error(dao::getError())); if($changes) { $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); $this->commonAction($release->product); $this->view->header->title = $this->lang->release->edit; $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(); } /* 查看release。*/ 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(); } /* 删除release。*/ public function delete($releaseID, $confirm = 'no') { if($confirm == 'no') { die(js::confirm($this->lang->release->confirmDelete, $this->createLink('release', 'delete', "releaseID=$releaseID&confirm=yes"))); } else { $this->release->delete(TABLE_RELEASE, $releaseID); die(js::locate($this->session->releaseList, 'parent')); } } }