diff --git a/framework/router.class.php b/framework/router.class.php index 8bb5971aa1..b45829ea7c 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -268,13 +268,13 @@ class router extends baseRouter public function setControlFile($exitIfNone = true) { /* If the module and method is defined in workflow, run workflow engine. */ - if(defined('TABLE_WORKFLOW')) + if(defined('TABLE_WORKFLOW') && defined('TABLE_WORKFLOWACTION')) { $flow = $this->dbh->query("SELECT * FROM " . TABLE_WORKFLOW . " WHERE `module` = '$this->moduleName'")->fetch(); if($flow) { $action = $this->dbh->query("SELECT * FROM " . TABLE_WORKFLOWACTION . " WHERE `module` = '$this->moduleName' AND `action` = '$this->methodName'")->fetch(); - if($action) + if(zget($action, 'extensionType') == 'override') { $this->workflowModule = $this->moduleName; $this->workflowMethod = $this->methodName; diff --git a/module/backup/lang/en.php b/module/backup/lang/en.php index 92a6375d5c..d3bc95fea2 100644 --- a/module/backup/lang/en.php +++ b/module/backup/lang/en.php @@ -3,7 +3,7 @@ $lang->backup->common = 'Backup'; $lang->backup->index = 'Home'; $lang->backup->history = 'History'; $lang->backup->delete = 'Delete'; -$lang->backup->backup = 'Back Up'; +$lang->backup->backup = 'BackUp'; $lang->backup->restore = 'Restore'; $lang->backup->change = 'Edit Expiration'; $lang->backup->changeAB = 'Edit'; diff --git a/module/custom/lang/en.php b/module/custom/lang/en.php index f60e86ea85..7688452786 100644 --- a/module/custom/lang/en.php +++ b/module/custom/lang/en.php @@ -97,6 +97,7 @@ $lang->custom->notice->invalidNumberKey = 'The key should be =< 255.'; $lang->custom->notice->invalidStringKey = 'The key should be a combination of lowercase letters, numbers or underlines.'; $lang->custom->notice->cannotSetTimezone = 'date_default_timezone_set does not exist or is disabled. Timezone cannot be set.'; $lang->custom->notice->noClosedBlock = 'You have no blocks that are closed permanently.'; +$lang->custom->notice->required = 'The selected field is required.'; $lang->custom->notice->indexPage['product'] = "ZenTao 8.2+ has Product Home. Do you want to go to Product Home?"; $lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has Project Home. Do you want to go to Project Home?"; @@ -135,6 +136,7 @@ $lang->custom->workingList['onlyTask'] = 'Task Management'; $lang->custom->menuTip = 'Click to show/hide the menu. Drag to switch display order.'; $lang->custom->saveFail = 'Failed to save!'; +$lang->custom->page = ' Page'; $lang->custom->scoreStatus[0] = 'Off'; $lang->custom->scoreStatus[1] = 'On'; diff --git a/module/custom/lang/zh-cn.php b/module/custom/lang/zh-cn.php index f840afed4e..bbb46256ed 100644 --- a/module/custom/lang/zh-cn.php +++ b/module/custom/lang/zh-cn.php @@ -96,6 +96,7 @@ $lang->custom->notice->invalidNumberKey = '键值应为不大于255 $lang->custom->notice->invalidStringKey = '键值应当为小写英文字母、数字或下划线的组合'; $lang->custom->notice->cannotSetTimezone = 'date_default_timezone_set方法不存在或禁用,不能设置时区。'; $lang->custom->notice->noClosedBlock = '没有永久关闭的区块'; +$lang->custom->notice->required = '页面提交时,选中的字段必填'; $lang->custom->notice->indexPage['product'] = "从8.2版本起增加了产品主页视图,是否默认进入产品主页?"; $lang->custom->notice->indexPage['project'] = "从8.2版本起增加了项目主页视图,是否默认进入项目主页?"; @@ -134,6 +135,7 @@ $lang->custom->workingList['onlyTask'] = '任务管理工具'; $lang->custom->menuTip = '点击显示或隐藏导航条目,拖拽来更改显示顺序。'; $lang->custom->saveFail = '保存失败!'; +$lang->custom->page = '页面'; $lang->custom->scoreStatus[0] = '关闭'; $lang->custom->scoreStatus[1] = '开启'; diff --git a/module/custom/view/required.html.php b/module/custom/view/required.html.php index 0f0ccef0c5..e8467469bc 100644 --- a/module/custom/view/required.html.php +++ b/module/custom/view/required.html.php @@ -33,7 +33,8 @@ - getClientLang() == 'en' ? 'w-200px' : 'w-100px';?> + getClientLang() == 'en' ? 'w-250px' : 'w-120px';?> + $requiredField):?> - + + - diff --git a/module/doc/view/index.html.php b/module/doc/view/index.html.php index ecfca69294..af4d93ed4d 100644 --- a/module/doc/view/index.html.php +++ b/module/doc/view/index.html.php @@ -125,7 +125,7 @@
-
project->undone . ($app->getClientLang() == 'en' ? ' ' : '') . $lang->projectCommon;?>
+
project->undone . ($app->getClientLang() == 'en' ? ' ' : '') ."{$lang->projectCommon}s";?>
diff --git a/module/project/css/grouptask.css b/module/project/css/grouptask.css index b84261504e..db07791412 100644 --- a/module/project/css/grouptask.css +++ b/module/project/css/grouptask.css @@ -1,6 +1,6 @@ .table-group-btns {width: 200px;} .group-menu {padding: 1px 5px!important;} -.group-menu .btn {font-size: 15px; color: #3C4353;} +.group-menu .btn {font-size: 14px; color: #3C4353;} .fixed-header-copy .group-menu .btn {background-color: transparent; color: #fff;} .fixed-header-copy .group-menu .btn .icon {background: transparent!important; color: #fff; opacity: .5;} .icon-caret-right.text-muted {color: #CBD0DB;} @@ -23,4 +23,4 @@ .c-side-lg .group-header {display: flex; flex-direction: column; position: absolute; top: 0; right: 0; left: 0; bottom: 0; justify-content: space-between;} .is-firefox .group-header:before {content: ' '; position: absolute; top: 0; right: 0; left: 0; bottom: 0; background: #fff; z-index: 0;} .is-firefox .group-header > a, -.is-firefox .group-header > .groupSummary {position: relative; z-index: 1;} \ No newline at end of file +.is-firefox .group-header > .groupSummary {position: relative; z-index: 1;} diff --git a/module/project/lang/en.php b/module/project/lang/en.php index 06a9cbbd17..e0431cc697 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -180,12 +180,12 @@ $lang->project->groups['finishedBy'] = 'Group by FinishedBy'; $lang->project->groups['closedBy'] = 'Group by ClosedBy'; $lang->project->groups['type'] = 'Group by Type'; -$lang->project->groupFilter['story']['all'] = $lang->project->all; -$lang->project->groupFilter['story']['linked'] = 'LinkedtoStory Task'; -$lang->project->groupFilter['pri']['all'] = $lang->project->all; +$lang->project->groupFilter['story']['all'] = 'All'; +$lang->project->groupFilter['story']['linked'] = 'Tasks of linked story'; +$lang->project->groupFilter['pri']['all'] = 'All'; $lang->project->groupFilter['pri']['noset'] = 'Not Set'; $lang->project->groupFilter['assignedTo']['undone'] = 'Unfinished'; -$lang->project->groupFilter['assignedTo']['all'] = $lang->project->all; +$lang->project->groupFilter['assignedTo']['all'] = 'All'; $lang->project->byQuery = 'Search'; diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index 1f11e7b934..9e41818c27 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -180,12 +180,12 @@ $lang->project->groups['finishedBy'] = '完成者分组'; $lang->project->groups['closedBy'] = '关闭者分组'; $lang->project->groups['type'] = '类型分组'; -$lang->project->groupFilter['story']['all'] = $lang->project->all; +$lang->project->groupFilter['story']['all'] = '所有'; $lang->project->groupFilter['story']['linked'] = '已关联需求的任务'; -$lang->project->groupFilter['pri']['all'] = $lang->project->all; +$lang->project->groupFilter['pri']['all'] = '所有'; $lang->project->groupFilter['pri']['noset'] = '未设置'; $lang->project->groupFilter['assignedTo']['undone'] = '未完成'; -$lang->project->groupFilter['assignedTo']['all'] = $lang->project->all; +$lang->project->groupFilter['assignedTo']['all'] = '所有'; $lang->project->byQuery = '搜索'; diff --git a/module/project/view/grouptask.html.php b/module/project/view/grouptask.html.php index d442750c76..4fcc20cdb3 100644 --- a/module/project/view/grouptask.html.php +++ b/module/project/view/grouptask.html.php @@ -118,7 +118,7 @@
- + diff --git a/module/task/view/recordestimate.html.php b/module/task/view/recordestimate.html.php index 25a89a971e..73e5a39125 100644 --- a/module/task/view/recordestimate.html.php +++ b/module/task/view/recordestimate.html.php @@ -24,6 +24,7 @@ team);?> assignedTo != end($team)) ? $lang->task->confirmTransfer : $lang->task->confirmRecord);?> task->noticeSaveRecord);?> +getClientLang() == 'en' ? 'w-90px' : 'w-70px';?>
@@ -41,7 +42,6 @@
- getClientLang() == 'en' ? 'w-90px' : 'w-70px';?> diff --git a/module/testcase/lang/zh-cn.php b/module/testcase/lang/zh-cn.php index b9213c690b..ca78d46f8f 100644 --- a/module/testcase/lang/zh-cn.php +++ b/module/testcase/lang/zh-cn.php @@ -66,8 +66,8 @@ $lang->testcase->fromModule = '来源模块'; $lang->testcase->fromCase = '来源用例'; $lang->testcase->sync = '同步'; $lang->testcase->ignore = '忽略'; -$lang->testcase->fromTesttask = '测试单用例'; -$lang->testcase->fromCaselib = '用例库用例'; +$lang->testcase->fromTesttask = '来自测试单用例'; +$lang->testcase->fromCaselib = '来自用例库用例'; $lang->case = $lang->testcase; // 用于DAO检查时使用。因为case是系统关键字,所以无法定义该模块为case,只能使用testcase,但表还是使用的case。 $lang->testcase->stepID = '编号'; diff --git a/module/testcase/model.php b/module/testcase/model.php index e0afa9ea2e..d945474a73 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -1397,11 +1397,11 @@ class testcaseModel extends model case 'status': if($case->needconfirm) { - print("lang->testcase->fromTesttask}>{$this->lang->story->changed}"); + print("{$this->lang->story->changed}"); } elseif(isset($case->fromCaseVersion) and $case->fromCaseVersion > $case->version and !$case->needconfirm) { - print("lang->testcase->fromCaselib}>{$this->lang->testcase->changed}"); + print("{$this->lang->testcase->changed}"); } else { diff --git a/module/user/lang/en.php b/module/user/lang/en.php index fb008526c8..8bccf25541 100644 --- a/module/user/lang/en.php +++ b/module/user/lang/en.php @@ -94,17 +94,17 @@ $lang->user->todo = 'Todo'; $lang->user->story = 'Stories'; $lang->user->dynamic = 'Dynamics'; -$lang->user->openedBy = 'CreatedBy %s'; -$lang->user->assignedTo = 'AssignedTo %s'; -$lang->user->finishedBy = 'FinishedBy %s'; -$lang->user->resolvedBy = 'ResolvedBy %s'; -$lang->user->closedBy = 'ClosedBy %s'; -$lang->user->reviewedBy = 'ReviewedBy %s'; -$lang->user->canceledBy = 'CancelledBy %s'; +$lang->user->openedBy = 'CreatedBy%s'; +$lang->user->assignedTo = 'AssignedTo%s'; +$lang->user->finishedBy = 'FinishedBy%s'; +$lang->user->resolvedBy = 'ResolvedBy%s'; +$lang->user->closedBy = 'ClosedBy%s'; +$lang->user->reviewedBy = 'ReviewedBy%s'; +$lang->user->canceledBy = 'CancelledBy%s'; -$lang->user->testTask2Him = 'BuildBy %s'; -$lang->user->case2Him = 'CaseAssignedTo %s'; -$lang->user->caseByHim = 'CaseCreatedBy %s'; +$lang->user->testTask2Him = 'AssignTo%s'; +$lang->user->case2Him = 'CaseAssignedTo%s'; +$lang->user->caseByHim = 'CaseCreatedBy%s'; $lang->user->errorDeny = "Sorry, your access to %s of %s is denied. Please contact your Admin to get privileges. Click Back to return."; $lang->user->loginFailed = "Login failed. Please check your account and password."; diff --git a/module/user/lang/zh-cn.php b/module/user/lang/zh-cn.php index 6d38ff8bc9..f2aea2b414 100644 --- a/module/user/lang/zh-cn.php +++ b/module/user/lang/zh-cn.php @@ -102,7 +102,7 @@ $lang->user->closedBy = '由%s关闭'; $lang->user->reviewedBy = '由%s评审'; $lang->user->canceledBy = '由%s取消'; -$lang->user->testTask2Him = '%s负责版本'; +$lang->user->testTask2Him = '%s负责的版本'; $lang->user->case2Him = '给%s的用例'; $lang->user->caseByHim = '%s建的用例'; diff --git a/module/webhook/lang/en.php b/module/webhook/lang/en.php index 9280ab02dd..e2bea9c193 100644 --- a/module/webhook/lang/en.php +++ b/module/webhook/lang/en.php @@ -57,7 +57,7 @@ $lang->webhook->trimWords = ''; $lang->webhook->note = new stdClass(); $lang->webhook->note->async = 'If the sending type is asynchronous, you have to go to Admin-System to turn on the cron.'; $lang->webhook->note->product = "All actions will trigger the hook if {$lang->productCommon} is empty, or only actions of {$lang->productCommon} will trigger it."; -$lang->webhook->note->project = "All actions will trigger the hook if {$lang->projectCommon} is empty, or only actions of {$lang->projectCommon} will trigger it."; +$lang->webhook->note->project = "All actions will trigger the hook if {$lang->projectCommon} is empty, or only actions of selected {$lang->projectCommon} will trigger it."; $lang->webhook->note->typeList['bearychat'] = 'Add a ZenTao bot in bearychat and get the webhook url.'; $lang->webhook->note->typeList['dingding'] = 'Add a customized bot in dingding and get the webhook url.'; diff --git a/xuanxuan/module/chat/ext/lang/en/xuanxuan.php b/xuanxuan/module/chat/ext/lang/en/xuanxuan.php index 5ca8714770..2b9742479d 100644 --- a/xuanxuan/module/chat/ext/lang/en/xuanxuan.php +++ b/xuanxuan/module/chat/ext/lang/en/xuanxuan.php @@ -27,6 +27,6 @@ $lang->chat->info = "ZenTao client is powered by chat->xxServerConfirm = 'Go to Admin-ZT Client to download the ZenTao Client Server!'; -$lang->chat->xxdServerTip = 'XXD server address contains protocol, host and port,such as http://192.168.1.35 or http://pms.zentao.com. It should not be 127.0.0.1.'; +$lang->chat->xxdServerTip = 'XXD server address contains protocol, host and port,such as http://192.168.1.35 or http://domain. It should not be 127.0.0.1.'; $lang->chat->xxdServerEmpty = 'XXD server address is empty.'; $lang->chat->xxdServerError = 'XXD server address should not be 127.0.0.1.'; diff --git a/xuanxuan/module/client/ext/view/browse.html.php b/xuanxuan/module/client/ext/view/browse.html.php index c080f1652f..59e7a8b75e 100644 --- a/xuanxuan/module/client/ext/view/browse.html.php +++ b/xuanxuan/module/client/ext/view/browse.html.php @@ -20,8 +20,8 @@ $position[] = $this->lang->client->browse;
+ client->create, '', "class='btn' data-toggle='modal'");?> client->checkUpgrade, '', "class='btn btn-primary'");?> - client->create, '', "class='btn btn-primary' data-toggle='modal'");?>

client->browseVersion;?>

@@ -49,15 +50,16 @@ $fields = $this->custom->getFormFields('testcase', $method); $method = 'createCase'; } - echo $lang->$moduleName->$method; + echo $lang->$moduleName->$method . $lang->custom->page; ?> custom->notice->required}'" : ''));?>
+ custom->restore, 'hiddenwin', "class='btn btn-wide'");?> task->estimateAB;?> task->consumedAB;?> task->leftAB;?>task->progress;?>task->progressAB;?> typeAB;?> task->deadlineAB;?> actions;?>
idAB;?> task->date;?>task->consumed;?> task->left;?> comment;?>