diff --git a/module/common/model.php b/module/common/model.php index 9d94fb82b9..320cac8343 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -1419,6 +1419,9 @@ EOD; if(isset($this->app->user)) { + if(!defined('IN_UPGRADE')) $this->session->user->view = $this->loadModel('user')->grantUserView(); + $this->app->user = $this->session->user; + if(!commonModel::hasPriv($module, $method)) $this->deny($module, $method); } else diff --git a/module/dev/lang/en.php b/module/dev/lang/en.php index f997948afc..3693dc709f 100644 --- a/module/dev/lang/en.php +++ b/module/dev/lang/en.php @@ -3,6 +3,7 @@ $lang->dev->common = 'Develop'; $lang->dev->api = 'API'; $lang->dev->db = 'Database'; $lang->dev->editor = 'Editor'; +$lang->dev->translate = 'Translate'; $lang->dev->dbList = 'Database'; $lang->dev->moduleList = 'Modules'; $lang->dev->params = 'Parameters'; @@ -11,10 +12,12 @@ $lang->dev->desc = 'Description'; $lang->dev->noParams = 'No Parameters'; $lang->dev->post = 'POST Parameter'; -$lang->dev->paramRange = 'Parameter Range: %s'; -$lang->dev->paramDate = 'Date format: YY-mm-dd, e.g 2019-01-01'; -$lang->dev->paramColor = 'Color format: #RGB, e.g. #3da7f5'; -$lang->dev->paramMailto = "User account. Separate accounts by ','."; +$lang->dev->paramRange = 'Parameter Range: %s'; +$lang->dev->paramDate = 'Date format: YY-mm-dd, e.g 2019-01-01'; +$lang->dev->paramColor = 'Color format: #RGB, e.g. #3da7f5'; +$lang->dev->paramMailto = "User account. Separate accounts by ','."; +$lang->dev->noteEditor = "The editor is disabled for security reasons. To use this feature, please go to the official website to download and install the plugin of the editor."; +$lang->dev->noteTranslate = "The translation is disabled for security reasons. To use this feature, please go to the official website to download and install the plugin of translation."; $lang->dev->fields = array(); $lang->dev->fields['id'] = 'ID'; @@ -71,7 +74,6 @@ $lang->dev->tableList['backup'] = 'Backup'; $lang->dev->tableList['common'] = 'Common'; $lang->dev->tableList['convert'] = 'Convert'; $lang->dev->tableList['dev'] = 'Develop'; -$lang->dev->tableList['editor'] = 'Editor'; $lang->dev->tableList['git'] = 'GIT'; $lang->dev->tableList['index'] = 'Home'; $lang->dev->tableList['install'] = 'Install'; @@ -94,7 +96,6 @@ $lang->dev->tableList['block'] = 'Block'; $lang->dev->tableList['branch'] = 'Branch'; $lang->dev->tableList['doccontent'] = 'Doc Content'; $lang->dev->tableList['storystage'] = 'Story Phase'; -$lang->dev->tableList['translate'] = 'Translate'; $lang->dev->tableList['tutorial'] = 'Tutorial'; $lang->dev->tableList['suitecase'] = 'Suite Case'; $lang->dev->tableList['score'] = 'Score'; diff --git a/module/dev/lang/zh-cn.php b/module/dev/lang/zh-cn.php index c49df36c8f..586b22eecf 100644 --- a/module/dev/lang/zh-cn.php +++ b/module/dev/lang/zh-cn.php @@ -16,8 +16,8 @@ $lang->dev->paramRange = '取值范围:%s'; $lang->dev->paramDate = '日期格式:YY-mm-dd,如:2019-01-01'; $lang->dev->paramColor = '颜色格式:#RGB,如:#3da7f5'; $lang->dev->paramMailto = "填写帐号,多个账号用','分隔。"; -$lang->dev->noteEditor = "编辑器功能因为安全原因被禁用。如果想用该功能,请到官网下载安装 扩展编辑器 插件。"; -$lang->dev->noteTranslate = "翻译功能因为安全原因被禁用。如果想用该功能,请到官网下载安装 翻译 插件。"; +$lang->dev->noteEditor = "编辑器功能因为安全原因被禁用。使用该功能,请到官网下载安装 扩展编辑器 插件。"; +$lang->dev->noteTranslate = "翻译功能因为安全原因被禁用。使用该功能,请到官网下载安装 翻译 插件。"; $lang->dev->fields = array(); $lang->dev->fields['id'] = '序号'; diff --git a/module/project/model.php b/module/project/model.php index 9bb742bc5b..571f9fee26 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -1416,8 +1416,10 @@ class projectModel extends model $this->loadModel('task'); $this->loadModel('story'); - $now = helper::now(); - $modules = $this->loadModel('tree')->getTaskOptionMenu($projectID); + $now = helper::now(); + + $showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : ''; + $modules = $this->loadModel('tree')->getTaskOptionMenu($projectID, 0, 0, $showAllModule ? 'allModule' : ''); $bugToTasks = fixer::input('post')->get(); $bugs = $this->bug->getByList(array_keys($bugToTasks->import)); diff --git a/module/task/control.php b/module/task/control.php index dc46171491..b8fcf1c5db 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -174,7 +174,8 @@ class task extends control $users = $this->loadModel('user')->getPairs('noclosed|nodeleted'); $members = $this->project->getTeamMemberPairs($projectID, 'nodeleted'); - $moduleOptionMenu = $this->tree->getTaskOptionMenu($projectID); + $showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : ''; + $moduleOptionMenu = $this->tree->getTaskOptionMenu($projectID, 0, 0, $showAllModule ? 'allModule' : ''); /* Fix bug #2737. When moduleID is not story module. */ $moduleIdList = array(); @@ -194,8 +195,9 @@ class task extends control foreach(explode(',', $this->config->task->customCreateFields) as $field) $customFields[$field] = $this->lang->task->$field; if($project->type == 'ops') unset($customFields['story']); - $this->view->customFields = $customFields; - $this->view->showFields = $this->config->task->custom->createFields; + $this->view->customFields = $customFields; + $this->view->showFields = $this->config->task->custom->createFields; + $this->view->showAllModule = $showAllModule; $this->view->title = $title; $this->view->position = $position; @@ -253,9 +255,13 @@ class task extends control $this->view->customFields = $customFields; $this->view->showFields = $this->config->task->custom->batchCreateFields; + $stories = $this->story->getProjectStoryPairs($projectID, 0, 0, 0, 'short'); $members = $this->project->getTeamMemberPairs($projectID, 'nodeleted'); - $modules = $this->loadModel('tree')->getTaskOptionMenu($projectID); + + $showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : ''; + $modules = $this->loadModel('tree')->getTaskOptionMenu($projectID, 0, 0, $showAllModule ? 'allModule' : ''); + $title = $project->name . $this->lang->colon . $this->lang->task->batchCreate; $position[] = html::a($taskLink, $project->name); $position[] = $this->lang->task->common; @@ -359,13 +365,14 @@ class task extends control if(isset($tasks[$taskID])) unset($tasks[$taskID]); if(!isset($this->view->members[$this->view->task->assignedTo])) $this->view->members[$this->view->task->assignedTo] = $this->view->task->assignedTo; - $this->view->title = $this->lang->task->edit . 'TASK' . $this->lang->colon . $this->view->task->name; - $this->view->position[] = $this->lang->task->common; - $this->view->position[] = $this->lang->task->edit; - $this->view->stories = $this->story->getProjectStoryPairs($this->view->project->id); - $this->view->tasks = $tasks; - $this->view->users = $this->loadModel('user')->getPairs('nodeleted', "{$this->view->task->openedBy},{$this->view->task->canceledBy},{$this->view->task->closedBy}"); - $this->view->modules = $this->tree->getTaskOptionMenu($this->view->task->project); + $this->view->title = $this->lang->task->edit . 'TASK' . $this->lang->colon . $this->view->task->name; + $this->view->position[] = $this->lang->task->common; + $this->view->position[] = $this->lang->task->edit; + $this->view->stories = $this->story->getProjectStoryPairs($this->view->project->id); + $this->view->tasks = $tasks; + $this->view->users = $this->loadModel('user')->getPairs('nodeleted', "{$this->view->task->openedBy},{$this->view->task->canceledBy},{$this->view->task->closedBy}"); + $this->view->showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : ''; + $this->view->modules = $this->tree->getTaskOptionMenu($this->view->task->project, 0, 0, $this->view->showAllModule ? 'allModule' : ''); $this->display(); } @@ -420,8 +427,10 @@ class task extends control $this->project->setMenu($this->project->getPairs(), $project->id); /* Set modules and members. */ - $modules = $this->tree->getTaskOptionMenu($projectID); - $modules = array('ditto' => $this->lang->task->ditto) + $modules; + $showAllModule = isset($this->config->project->task->allModule) ? $this->config->project->task->allModule : ''; + $modules = $this->tree->getTaskOptionMenu($projectID, 0, 0, $showAllModule ? 'allModule' : ''); + $modules = array('ditto' => $this->lang->task->ditto) + $modules; + $members = $this->project->getTeamMemberPairs($projectID, 'nodeleted'); $members = array('' => '', 'ditto' => $this->lang->task->ditto) + $members; $members['closed'] = 'Closed'; diff --git a/module/task/view/create.html.php b/module/task/view/create.html.php index 2dec4fc89f..305defd393 100644 --- a/module/task/view/create.html.php +++ b/module/task/view/create.html.php @@ -44,7 +44,7 @@