* finish task #5044,5045.

This commit is contained in:
wangyidong
2018-10-24 10:06:20 +08:00
parent 6106c692b9
commit 3676747f10
5 changed files with 30 additions and 20 deletions
+3 -3
View File
@@ -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&section=custom");
$this->setting->setItems("{$this->app->user->account}.doc.custom", $data);
die(js::reload('parent.parent'));
}
}
+3 -2
View File
@@ -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');
+4 -3
View File
@@ -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 = "您确定删除该文档库吗?";
+10 -10
View File
@@ -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');
+10 -2
View File
@@ -144,7 +144,7 @@ if(empty($type)) $type = 'product';
</div>
<div class='side-footer'><?php echo html::a('###', "<i class='icon-cog'></i> {$lang->doc->customShowLibs}", '', "class='setting text-secondary small' data-target='#settingModal' data-toggle='modal'");?></div>
<div class='modal fade' id='settingModal' aria-hidden="true">
<div class='modal-dialog'>
<div class='modal-dialog mw-400px'>
<div class='modal-content'>
<div class='modal-header'>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only"><?php echo $lang->close;?></span></button>
@@ -154,7 +154,15 @@ if(empty($type)) $type = 'product';
<form action='<?php echo $this->createLink('custom', 'ajaxSetDoc');?>' target='hiddenwin' method='post'>
<table class='table table-form'>
<tr>
<td><?php echo html::checkbox('showLibs', $lang->doc->customShowLibsList, $config->doc->custom->showLibs);?></td>
<td>
<div class="checkbox-primary">
<input type="checkbox" name="showNullLib" value="1" id="showNullLib1" <?php if($config->doc->custom->showNullLib) echo 'checked';?>>
<label for="showNullLib1"><?php echo $lang->doc->customShowNullLib;?></label>
</div>
</td>
</tr>
<tr>
<td><?php echo html::radio('showProjects', $lang->doc->customShowLibProjects, $config->doc->custom->showProjects);?></td>
</tr>
<tr>
<td><?php echo html::submitButton();?></td>