From 5ce0a2ca78219a7163f9b802a8be9fc1876ad3a5 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Thu, 21 Nov 2019 16:02:44 +0800 Subject: [PATCH 1/6] * code for task #6566. --- module/dev/lang/en.php | 13 +++++++------ module/dev/lang/zh-cn.php | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) 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'] = '序号'; From ebf78655dc4f9f61518ff1de9aac61f29b4ee485 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Thu, 21 Nov 2019 16:03:39 +0800 Subject: [PATCH 2/6] * fix error. --- module/webhook/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/webhook/control.php b/module/webhook/control.php index d452c980ad..d31b3a671b 100644 --- a/module/webhook/control.php +++ b/module/webhook/control.php @@ -170,7 +170,7 @@ class webhook extends control $response = $dingapi->getAllUsers(); if($response['result'] == 'fail') { - echo js::error($response->message); + echo js::error($response['message']); die(js::locate($this->createLink('webhook', 'browse'))); } From b93dd94b05bd279c138a0ff39de8e7e8be5d6192 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Thu, 21 Nov 2019 16:19:59 +0800 Subject: [PATCH 3/6] * code for task #6548. --- module/project/model.php | 6 ++++-- module/task/control.php | 35 ++++++++++++++++++++------------ module/task/view/create.html.php | 2 +- module/task/view/edit.html.php | 2 +- 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/module/project/model.php b/module/project/model.php index 3f84159446..8cefe72371 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 93f32d05d7..66878975d4 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 @@ module, "class='form-control chosen' onchange='setStories(this.value, $project->id)'");?>
- + >
diff --git a/module/task/view/edit.html.php b/module/task/view/edit.html.php index 933faa2bbd..8ad4cfffa7 100644 --- a/module/task/view/edit.html.php +++ b/module/task/view/edit.html.php @@ -101,7 +101,7 @@ module, 'class="form-control chosen" onchange="loadModuleRelated()"');?>
- + >
From 2d500ae75c81ab3d00ee55fc7b75afa74c709052 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Thu, 21 Nov 2019 16:49:08 +0800 Subject: [PATCH 4/6] * code for task #6566. --- module/upgrade/model.php | 88 ++++++++++++++++++++++++++-------------- 1 file changed, 57 insertions(+), 31 deletions(-) diff --git a/module/upgrade/model.php b/module/upgrade/model.php index 1757b15956..b828fcba19 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -535,9 +535,10 @@ class upgradeModel extends model $this->saveLogs('Execute 11_6_5'); $this->execSQL($this->getUpgradeFile('11.6.5')); $this->fixGroupAcl(); - $this->appendExec('11_6_5'); - case '11_6_6': $this->fixBugTypeList(); + $this->adjustPriv11_6_6(); + $this->rmEditorAndTranslateDir(); + $this->appendExec('11_6_5'); } $this->deletePatch(); @@ -687,6 +688,7 @@ class upgradeModel extends model case '11_6_2' : case '11_6_3' : case '11_6_4' : $confirmContent .= file_get_contents($this->getUpgradeFile('11.6.4')); + case '11_6_5' : $confirmContent .= file_get_contents($this->getUpgradeFile('11.6.5')); } return str_replace('zt_', $this->config->db->prefix, $confirmContent); } @@ -3458,35 +3460,6 @@ class upgradeModel extends model return true; } - /** - * Save Logs. - * - * @param string $log - * @access public - * @return void - */ - public function saveLogs($log) - { - $logFile = $this->app->getTmpRoot() . 'log/upgrade.' . date('Ymd') . '.log.php'; - $log = date('Y-m-d H:i:s') . ' ' . trim($log) . "\n"; - if(!file_exists($logFile)) $log = "\n" . $log; - - static $fh; - if(empty($fh)) $fh = fopen($logFile, 'a'); - fwrite($fh, $log); - } - - /** - * Append execute for pro and biz. - * - * @param string $fromVersion - * @access public - * @return void - */ - public function appendExec($zentaoVersion) - { - } - /** * Fix bug typeList. * @@ -3495,6 +3468,8 @@ class upgradeModel extends model */ public function fixBugTypeList() { + $this->saveLogs('Run Method ' . __FUNCTION__); + foreach($this->config->upgrade->discardedBugTypes as $langCode => $types) { $bugs = $this->dao->select('type')->from(TABLE_BUG)->where('type')->in(array_keys($types))->fetchAll('type'); @@ -3530,4 +3505,55 @@ class upgradeModel extends model } return true; } + + /** + * Remove editor and translate. + * + * @access public + * @return bool + */ + public function rmEditorAndTranslateDir() + { + $this->saveLogs('Run Method ' . __FUNCTION__); + + $zfile = $this->app->loadClass('zfile'); + $moduleRoot = $this->app->getModuleRoot(); + + $editorDir = $moduleRoot . 'editor'; + if(is_dir($editor)) $zfile->removeDir($editorDir); + + $translateDir = $moduleRoot . 'translate'; + if(is_dir($translateDir)) $zfile->removeDir($translateDir); + + return true; + } + + /** + * Save Logs. + * + * @param string $log + * @access public + * @return void + */ + public function saveLogs($log) + { + $logFile = $this->app->getTmpRoot() . 'log/upgrade.' . date('Ymd') . '.log.php'; + $log = date('Y-m-d H:i:s') . ' ' . trim($log) . "\n"; + if(!file_exists($logFile)) $log = "\n" . $log; + + static $fh; + if(empty($fh)) $fh = fopen($logFile, 'a'); + fwrite($fh, $log); + } + + /** + * Append execute for pro and biz. + * + * @param string $fromVersion + * @access public + * @return void + */ + public function appendExec($zentaoVersion) + { + } } From e4d0ca4ff6ea0e7b8c253d224f1ca31b45c03e4b Mon Sep 17 00:00:00 2001 From: guanxiying Date: Thu, 21 Nov 2019 17:15:18 +0800 Subject: [PATCH 5/6] * Fix bug 2790. --- module/testreport/view/blockcases.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/testreport/view/blockcases.html.php b/module/testreport/view/blockcases.html.php index 903969ba75..d2d7dbd087 100644 --- a/module/testreport/view/blockcases.html.php +++ b/module/testreport/view/blockcases.html.php @@ -25,7 +25,7 @@ lastRunner);?> lastRunDate, 2);?> testcase->resultList, $case->lastRunResult);?> - processStatus('testcase', $case);?> + testtask->statusList, $case->status);?> From 41c693d07afc60a8788a3adf0fb244dfdefcade5 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Fri, 22 Nov 2019 10:37:50 +0800 Subject: [PATCH 6/6] * finish task #6488. --- module/common/model.php | 3 +++ 1 file changed, 3 insertions(+) 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