*[misc] modify doctemplate-browse.

This commit is contained in:
songchenxuan
2024-10-16 08:37:37 +08:00
committed by sunhao
parent 701b5ac862
commit 38c2bc9a3c
7 changed files with 72 additions and 16 deletions
+5
View File
@@ -79,6 +79,11 @@ class docMenu extends wg
$moduleName = 'execution';
$methodName = 'doc';
}
elseif($objectType == 'doctemplate')
{
$moduleName = 'doctemplate';
$methodName = 'browse';
}
else
{
$methodName = empty($this->spaceMethod[$objectType]) ? 'teamSpace' : $this->spaceMethod[$objectType];
+5 -4
View File
@@ -685,9 +685,10 @@ $lang->navGroup->kanbanlane = 'kanban';
$lang->navGroup->kanbancolumn = 'kanban';
$lang->navGroup->kanbancard = 'kanban';
$lang->navGroup->doc = 'doc';
$lang->navGroup->doclib = 'doc';
$lang->navGroup->api = 'doc';
$lang->navGroup->doc = 'doc';
$lang->navGroup->doclib = 'doc';
$lang->navGroup->api = 'doc';
$lang->navGroup->doctemplate = 'doc';
$lang->navGroup->screen = 'bi';
$lang->navGroup->pivot = 'bi';
@@ -770,7 +771,7 @@ $lang->navGroup->systemsetting = 'admin';
$lang->navGroup->staffmanage = 'admin';
$lang->navGroup->modelconfig = 'admin';
$lang->navGroup->featureconfig = 'admin';
$lang->navGroup->doctemplate = 'admin';
//$lang->navGroup->doctemplate = 'admin';
$lang->navGroup->notifysetting = 'admin';
$lang->navGroup->holidayseason = 'admin';
$lang->navGroup->system = 'admin';
+1
View File
@@ -58,6 +58,7 @@ $config->doc->spaceMethod['product'] = 'productspace';
$config->doc->spaceMethod['project'] = 'projectspace';
$config->doc->spaceMethod['execution'] = 'projectspace';
$config->doc->spaceMethod['custom'] = 'teamspace';
$config->doc->spaceMethod['custom'] = 'teamspace';
$config->doc->search['module'] = 'doc';
$config->doc->search['fields']['title'] = $lang->doc->title;
+3 -2
View File
@@ -1032,12 +1032,13 @@ class doc extends control
* @access public
* @return void
*/
public function ajaxGetSpaceMenu(int $libID, string $module, string $method)
public function ajaxGetSpaceMenu(int $libID, string $module, string $method, string $extra = 'nomine')
{
$this->view->libID = $libID;
$this->view->module = $module;
$this->view->method = $method;
$this->view->spaces = $this->docZen->getAllSpaces('nomine');
$this->view->extra = $extra;
$this->view->spaces = $this->docZen->getAllSpaces($extra);
$this->display();
}
+48 -8
View File
@@ -969,8 +969,8 @@ class docModel extends model
}
/**
* 获取团队空间下的空间。
* Get team spaces.
* 获取文档模板中的空间。
* Get doctemplate spaces.
*
* @access public
* @return array
@@ -979,11 +979,51 @@ class docModel extends model
{
if(common::isTutorialMode()) return $this->loadModel('tutorial')->getTeamSpaces();
$spaces = $this->getSpacePairs('doctemplate');
if(empty($spaces)) $this->initDocTemplateSpaces();
return $this->getSpacePairs('doctemplate');
}
/**
* 初始化文档模板空间。
* Init doctemplate spaces.
*
* @access public
* @return array
*/
public function initDocTemplateSpaces()
{
$this->loadModel('doctempalte');
$defaultSpaces = $this->config->doctemplate->defaultSpaces;
foreach($defaultSpaces as $code => $childs)
{
$spaceID = $this->doInsertLib($this->initDocDefaultSpaces($code));
foreach($childs as $childCode) $this->doInsertLib($this->initDocDefaultSpaces($childCode, $spaceID));
}
}
/**
* 初始化文档模板空间。
* Init doctemplate spaces.
*
* @access public
* @return array
*/
public function initDocDefaultSpaces($code, $parent = 0)
{
$space = new stdclass();
$space->type = 'doctemplate';
$space->vision = 'rnd';
$space->parent = $parent;
$space->name = $this->lang->doctemplate->$code;
$space->acl = 'open';
$space->addedBy = 'system';
$space->addedDate = helper::now();
return $space;
}
/**
@@ -1467,8 +1507,8 @@ class docModel extends model
{
if(common::isTutorialMode()) return $this->loadModel('tutorial')->getDocLibs();
if(!in_array($type, array('mine', 'custom', 'product', 'project', 'execution'))) return array();
if(in_array($type, array('mine', 'custom')))
if(!in_array($type, array('mine', 'custom', 'product', 'project', 'execution', 'doctemplate'))) return array();
if(in_array($type, array('mine', 'custom', 'doctemplate')))
{
$objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)
->where('deleted')->eq(0)
@@ -2319,14 +2359,14 @@ class docModel extends model
$libs = $this->getLibsByObject($type, $objectID, $appendLib);
if(($libID == 0 || !isset($libs[$libID])) && !empty($libs)) $libID = reset($libs)->id;
if(isset($libs[$libID])) $objectDropdown['text'] = zget($libs[$libID], 'name', '');
if($type == 'custom')
if($type == 'custom' || $type == 'doctemplate')
{
$spaceExtra = $type == 'custom' ? 'nomine' : 'doctemplate';
$objectDropdown['text'] = zget($spaces, $objectID, '');
$objectDropdown['link'] = helper::createLink('doc', 'ajaxGetSpaceMenu', "libID={$objectID}&module={$this->app->rawModule}&method={$this->app->rawMethod}");
$objectDropdown['link'] = helper::createLink('doc', 'ajaxGetSpaceMenu', "libID={$objectID}&module={$this->app->rawModule}&method={$this->app->rawMethod}&extra={$spaceExtra}");
}
$object = new stdclass();
$object->id = 0;
$object = $this->dao->select('id,name,deleted')->from(TABLE_DOCLIB)->where('id')->eq($objectID)->fetch();
}
$tab = strpos(',my,doc,product,project,execution,', ",{$this->app->tab},") !== false ? $this->app->tab : 'doc';
+9 -2
View File
@@ -32,14 +32,21 @@ foreach($spaces as $id => $name)
* 定义每个分组名称信息,包括可展开的已关闭分组。
* Define every group name, include expanded group.
*/
$tabs = array();
$tabs = array();
$tabs[] = array('name' => 'normal', 'text' => '');
/**
* 定义最终的 JSON 数据。
* Define the final json data.
*/
$link = $this->createLink('doc', 'teamSpace', "objectID=%s");
if($extra == 'doctemplate')
{
$link = $this->createLink('doctemplate', 'browse', "objectID=%s");
}
else
{
$link = $this->createLink('doc', 'teamSpace', "objectID=%s");
}
$json = array();
$json['data'] = $data;
+1
View File
@@ -931,6 +931,7 @@ class docZen extends doc
*/
public function getAllSpaces(string $extra = ''): array
{
if(strpos($extra, 'doctemplate') !== false) return $this->doc->getDocTemplateSpaces();
if(strpos($extra, 'nomine') !== false) return $this->doc->getTeamSpaces();
if(strpos($extra, 'onlymine') !== false) return array('mine' => $this->lang->doc->spaceList['mine']);
return array('mine' => $this->lang->doc->spaceList['mine']) + $this->doc->getTeamSpaces();