From 3676747f10a0df1eba121301576aa41c2f58c6c3 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 24 Oct 2018 10:06:20 +0800 Subject: [PATCH 1/7] * finish task #5044,5045. --- module/custom/control.php | 6 +++--- module/doc/config.php | 5 +++-- module/doc/lang/zh-cn.php | 7 ++++--- module/doc/model.php | 20 ++++++++++---------- module/doc/view/side.html.php | 12 ++++++++++-- 5 files changed, 30 insertions(+), 20 deletions(-) diff --git a/module/custom/control.php b/module/custom/control.php index 56f5683645..2ca5695ad7 100644 --- a/module/custom/control.php +++ b/module/custom/control.php @@ -470,9 +470,9 @@ class custom extends control { if($this->server->request_method == 'POST') { - $data = fixer::input('post')->join('showLibs', ',')->get(); - if(isset($data->showLibs)) $data = $data->showLibs; - $this->loadModel('setting')->setItem("{$this->app->user->account}.doc.custom.showLibs", $data); + $data = fixer::input('post')->get(); + $this->loadModel('setting')->deleteItems("owner={$this->app->user->account}&module=doc§ion=custom"); + $this->setting->setItems("{$this->app->user->account}.doc.custom", $data); die(js::reload('parent.parent')); } } diff --git a/module/doc/config.php b/module/doc/config.php index 980fa20661..46870b09ff 100644 --- a/module/doc/config.php +++ b/module/doc/config.php @@ -15,8 +15,9 @@ $config->doc->edit->requiredFields = 'title'; $config->doc->customObjectLibs = 'files,customFiles'; $config->doc->custom = new stdclass(); -$config->doc->custom->objectLibs = $config->doc->customObjectLibs; -$config->doc->custom->showLibs = 'zero,unclosed'; +$config->doc->custom->objectLibs = $config->doc->customObjectLibs; +$config->doc->custom->showProjects = 'all'; +$config->doc->custom->showNullLib = false; $config->doc->editor = new stdclass(); $config->doc->editor->create = array('id' => 'content', 'tools' => 'fullTools'); diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index 432cfaead7..d2bf22f74b 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -140,9 +140,10 @@ $lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star'; $lang->doc->customObjectLibs['files'] = '显示附件库'; $lang->doc->customObjectLibs['customFiles'] = '显示自定义文档库'; -$lang->doc->customShowLibs = '文档库显示设置'; -$lang->doc->customShowLibsList['zero'] = '显示零文档的库'; -$lang->doc->customShowLibsList['unclosed'] = '只显示未关闭的项目'; +$lang->doc->customShowLibs = '文档库显示设置'; +$lang->doc->customShowNullLib = '显示空文档的库'; +$lang->doc->customShowLibProjects['unclosed'] = '显示未关闭的项目'; +$lang->doc->customShowLibProjects['all'] = '显示所有的项目'; $lang->doc->confirmDelete = "您确定删除该文档吗?"; $lang->doc->confirmDeleteLib = "您确定删除该文档库吗?"; diff --git a/module/doc/model.php b/module/doc/model.php index 9e94238914..2971b0bb8f 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -138,7 +138,7 @@ class docModel extends model $stmt = $this->dao->select('t1.*')->from(TABLE_DOCLIB)->alias('t1') ->leftJoin($table)->alias('t2')->on("t1.$type=t2.id") ->where("t1.$type")->ne(0) - ->beginIF($type == 'project' and strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF($type == 'project' and $this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() ->andWhere('t1.deleted')->eq(0) ->orderBy("t2.order desc, t1.order, t1.id") ->query(); @@ -906,7 +906,7 @@ class docModel extends model $fields = $type == 'product' ? "createdBy, createdDate" : "openedBy AS createdBy, openedDate AS createdDate"; $libs = $this->dao->select("id, name, `order`, {$fields}")->from($table) ->where('id')->in($idList) - ->beginIF($type == 'project' and strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('status')->notin('done,closed')->fi() + ->beginIF($type == 'project' and $this->config->doc->custom->showProjects == 'unclosed')->andWhere('status')->notin('done,closed')->fi() ->orderBy('`order` desc, id desc') ->page($pager, 'id') ->fetchAll('id'); @@ -966,7 +966,7 @@ class docModel extends model $hasProject = $this->dao->select('DISTINCT product')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->in($productIdList) - ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() ->andWhere('t2.deleted')->eq(0) ->fetchPairs('product', 'product'); } @@ -990,7 +990,7 @@ class docModel extends model } $projects = $this->dao->select('id,name,status')->from(TABLE_PROJECT) ->where('id')->in(array_keys($projectLibs)) - ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('status')->notin('done,closed')->fi() + ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('status')->notin('done,closed')->fi() ->andWhere('deleted')->eq('0') ->orderBy('`order`_desc') ->fetchAll(); @@ -1028,7 +1028,7 @@ class docModel extends model if($type == 'product' or $type == 'project') { $nonzeroLibs = array(); - if(strpos($this->config->doc->custom->showLibs, 'zero') === false) + if($this->config->doc->custom->showNullLib) { $nonzeroLibs = $this->dao->select('lib,count(*) as count')->from(TABLE_DOC)->where('deleted')->eq('0')->groupBy('lib')->having('count')->ne(0)->fetchPairs('lib', 'lib'); } @@ -1037,8 +1037,8 @@ class docModel extends model $stmt = $this->dao->select('t1.*')->from(TABLE_DOCLIB)->alias('t1') ->leftJoin($table)->alias('t2')->on("t1.$type=t2.id") ->where('t1.deleted')->eq(0)->andWhere("t1.$type")->ne(0) - ->beginIF($type == 'project' and strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() - ->beginIF(strpos($this->config->doc->custom->showLibs, 'zero') === false)->andWhere('t1.id')->in($nonzeroLibs)->fi() + ->beginIF($type == 'project' and $this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF($this->config->doc->custom->showNullLib)->andWhere('t1.id')->in($nonzeroLibs)->fi() ->orderBy("t2.`order` desc, t1.`order` asc, id desc") ->query(); } @@ -1089,7 +1089,7 @@ class docModel extends model $hasProject = $this->dao->select('DISTINCT product')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->in($idList) - ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() ->andWhere('t2.deleted')->eq(0) ->fetchPairs('product', 'product'); } @@ -1132,7 +1132,7 @@ class docModel extends model $hasProject = $this->dao->select('DISTINCT product, count(project) as projectCount')->from(TABLE_PROJECTPRODUCT)->alias('t1') ->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id') ->where('t1.product')->eq($objectID) - ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi() + ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('t2.status')->notin('done,closed')->fi() ->andWhere('t2.deleted')->eq(0) ->groupBy('product') ->fetchPairs('product', 'projectCount'); @@ -1398,7 +1398,7 @@ class docModel extends model ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.root=t2.project') ->leftJoin(TABLE_PROJECT)->alias('t3')->on('t1.root=t3.id') ->where('t2.product')->eq($objectID) - ->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t3.status')->notin('done,closed')->fi() + ->beginIF($this->config->doc->custom->showProjects == 'unclosed')->andWhere('t3.status')->notin('done,closed')->fi() ->andWhere('t1.type')->eq('project') ->andWhere('t3.deleted')->eq('0') ->fetchPairs('account', 'account'); diff --git a/module/doc/view/side.html.php b/module/doc/view/side.html.php index e27f2f2045..dd0accf17f 100644 --- a/module/doc/view/side.html.php +++ b/module/doc/view/side.html.php @@ -144,7 +144,7 @@ if(empty($type)) $type = 'product';