From 07d3c080cf4543fdffb9f6f069c3c26ec73a51b5 Mon Sep 17 00:00:00 2001 From: fujia Date: Fri, 30 Jul 2010 09:53:02 +0000 Subject: [PATCH] + complete task #272, #273 and #274: add "create, edit and delete" function to doclib. --- module/doc/config.php | 3 +- module/doc/control.php | 52 ++++++++++++++++++++++++++++++ module/doc/lang/zh-cn.php | 6 ++++ module/doc/model.php | 39 ++++++++++++++++++++-- module/doc/view/browse.html.php | 8 +++-- module/doc/view/createlib.html.php | 42 ++++++++++++++++++++++++ module/doc/view/editlib.html.php | 42 ++++++++++++++++++++++++ 7 files changed, 186 insertions(+), 6 deletions(-) create mode 100644 module/doc/view/createlib.html.php create mode 100644 module/doc/view/editlib.html.php diff --git a/module/doc/config.php b/module/doc/config.php index a4abe2dafc..dc07369ba4 100644 --- a/module/doc/config.php +++ b/module/doc/config.php @@ -1,2 +1,3 @@ doc->createLib->requiredFields = 'name'; +$config->doc->editLib->requiredFields = 'name'; diff --git a/module/doc/control.php b/module/doc/control.php index 1e6f44f61a..bddab1cc99 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -40,4 +40,56 @@ class doc extends control $this->doc->setMenu($this->libs, $libID, 'doc'); $this->display(); } + + /* 新增文档库。*/ + public function createLib() + { + if(!empty($_POST)) + { + $libID = $this->doc->createLib(); + if(dao::isError()) die(js::error(dao::getError())); + $this->loadModel('action')->create('docLib', $libID, 'Created'); + die(js::locate($this->createLink($this->moduleName, 'browse', "libID=$libID"), 'parent')); + } + die($this->display()); + } + + /* 编辑文档库。*/ + public function editLib($libID) + { + if(!empty($_POST)) + { + $changes = $this->doc->updateLib($libID); + if(dao::isError()) die(js::error(dao::getError())); + if($changes) + { + $actionID = $this->loadModel('action')->create('docLib', $libID, 'edited'); + $this->action->logHistory($actionID, $changes); + } + die(js::locate($this->createLink($this->moduleName, 'browse', "libID=$libID"), 'parent')); + //die(js::locate(inlink('view', "libID=$libID"), 'parent')); + } + + $lib = $this->doc->getLibByID($libID); + $this->view->libName = empty($lib) ? $libID : $lib->name; + + die($this->display()); + } + + /* 删除文档库。*/ + public function deleteLib($libID, $confirm = 'no') + { + if($confirm == 'no') + { + die(js::confirm($this->lang->doc->confirmDeleteLib, $this->createLink('doc', 'deleteLib', "libID=$libID&confirm=yes"))); + } + else + { + $this->doc->delete(TABLE_DOCLIB, $libID); + //$this->session->set('doc', ''); // 清除session。 + die(js::locate($this->createLink('doc', 'browse'), 'parent')); + } + + } + } diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index c185463430..d599f879eb 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -51,5 +51,11 @@ $lang->doc->view = '文档详情'; $lang->doc->manageModule = '维护模块'; $lang->doc->manageModule = '维护模块'; +$lang->doc->createLib = '创建'; +$lang->doc->editLib = '编辑'; +$lang->doc->libName = '文档库名称'; + $lang->doc->systemLibs['product'] = '产品文档库'; $lang->doc->systemLibs['project'] = '项目文档库'; + +$lang->doc->confirmDeleteLib = " 您确定删除该文档库吗?"; diff --git a/module/doc/model.php b/module/doc/model.php index 1e2ec182b8..231e7dd765 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -40,14 +40,47 @@ class docModel extends model } } + /* 通过ID获取文档库信息。*/ + public function getLibById($libID) + { + return $this->dao->findByID($libID)->from(TABLE_DOCLIB)->fetch(); + } + + /* 获取文档库列表。*/ public function getLibs() { - $libs = $this->dao->select('id, name')->from(TABLE_DOCLIB)->fetchPairs(); + $libs = $this->dao->select('id, name')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->fetchPairs(); return $this->lang->doc->systemLibs + $libs; } - public function getLibById($libID) + /* 新增文档库。*/ + public function createLib() { - return $this->dao->select('*')->from(TABLE_DOCLIB)->fetch(); + /* 处理数据。*/ + $lib = fixer::input('post')->stripTags('name')->get(); + $this->dao->insert(TABLE_DOCLIB) + ->data($lib) + ->autoCheck() + ->batchCheck('name', 'notempty') + ->check('name', 'unique') + ->exec(); + return $this->dao->lastInsertID(); + } + + /* 编辑文档库。*/ + public function updateLib($libID) + { + /* 处理数据。*/ + $libID = (int)$libID; + $oldLib = $this->getLibById($libID); + $lib = fixer::input('post')->stripTags('name')->get(); + $this->dao->update(TABLE_DOCLIB) + ->data($lib) + ->autoCheck() + ->batchCheck('name', 'notempty') + ->check('name', 'unique', "id != $libID") + ->where('id')->eq($libID) + ->exec(); + if(!dao::isError()) return common::createChanges($oldLib, $lib); } } diff --git a/module/doc/view/browse.html.php b/module/doc/view/browse.html.php index a18bdc60e5..df6e2c9c60 100644 --- a/module/doc/view/browse.html.php +++ b/module/doc/view/browse.html.php @@ -1,6 +1,6 @@ doc->editLib;?>')").colorbox({width:500, height:200, iframe:true, transition:'none'}); +});
diff --git a/module/doc/view/createlib.html.php b/module/doc/view/createlib.html.php new file mode 100644 index 0000000000..9f459007ca --- /dev/null +++ b/module/doc/view/createlib.html.php @@ -0,0 +1,42 @@ +. + * + * @copyright Copyright 2009-2010 青岛易软天创网络科技有限公司(www.cnezsoft.com) + * @author Jia Fu + * @package doc + * @version $Id: createlib.html.php 975 2010-07-29 03:30:25Z jajacn@126.com $ + * @link http://www.zentaoms.com + */ +?> + + +
+
+ + + + + + + + + +
doc->createLib;?>
doc->libName;?>
+ +
+
+
diff --git a/module/doc/view/editlib.html.php b/module/doc/view/editlib.html.php new file mode 100644 index 0000000000..876297f602 --- /dev/null +++ b/module/doc/view/editlib.html.php @@ -0,0 +1,42 @@ +. + * + * @copyright Copyright 2009-2010 青岛易软天创网络科技有限公司(www.cnezsoft.com) + * @author Jia Fu + * @package doc + * @version $Id: editlib.html.php 975 2010-07-29 03:30:25Z jajacn@126.com $ + * @link http://www.zentaoms.com + */ +?> + + +
+
+ + + + + + + + + +
doc->editLib;?>
doc->libName;?>
+ +
+
+