*[misc] modify doctemplate-browse.
This commit is contained in:
@@ -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];
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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';
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user