This commit is contained in:
lichengjun
2021-09-14 06:31:41 +00:00
25 changed files with 1713 additions and 88 deletions
+5 -1
View File
@@ -76,8 +76,12 @@ class bugsEntry extends entry
* @access public
* @return void
*/
public function post($productID)
public function post($productID = 0)
{
if(!$productID) $productID = $this->param('product');
if(!$productID and isset($this->requestBody->product)) $productID = $this->requestBody->product;
if(!$productID) return $this->sendError(400, 'Need product id.');
$fields = 'title,project,execution,openedBuild,assignedTo,pri,severity,type,story';
$this->batchSetPost($fields);
+4 -1
View File
@@ -28,7 +28,10 @@ class testcaseEntry extends entry
if(isset($data->status) and $data->status == 'fail') return $this->sendError(400, $data->message);
if(!isset($data->case)) $this->sendError(400, 'error');
$this->send(200, $this->format($data->case, 'openedDate:time,lastEditedDate:time,lastRunDate:time,scriptedDate:date,reviewedDate:date,deleted:bool'));
$case = $data->case;
$case->steps = (isset($case->steps) and !empty($case->steps)) ? array_values(get_object_vars($case->steps)) : array();
$this->send(200, $this->format($case, 'openedDate:time,lastEditedDate:time,lastRunDate:time,scriptedDate:date,reviewedDate:date,deleted:bool'));
}
/**
+49
View File
@@ -57,4 +57,53 @@ class testcasesEntry extends entry
return $this->sendError(400, 'error');
}
/**
* POST method.
*
* @param int $productID
* @access public
* @return void
*/
public function post($productID = 0)
{
if(!$productID) $productID = $this->param('product');
if(!$productID and isset($this->requestBody->product)) $productID = $this->requestBody->product;
if(!$productID) return $this->sendError(400, 'Need product id.');
$fields = 'module,type,stage,story,title,precondition,pri';
$this->batchSetPost($fields);
$this->setPost('product', $productID);
/* Set steps and expects. */
if(isset($this->requestBody->steps))
{
$steps = array();
$expects = array();
$stepType = array();
foreach($this->requestBody->steps as $step)
{
$steps[] = $step->desc;
$expects[] = $step->expect;
$stepType[] = 'item';
}
$this->setPost('steps', $steps);
$this->setPost('expects', $expects);
$this->setPost('stepType', $stepType);
}
$control = $this->loadController('testcase', 'create');
$this->requireFields('title,type,pri,steps');
$control->create(0);
$data = $this->getData();
if(isset($data->result) and $data->result == 'fail') return $this->sendError(400, $data->message);
if(isset($data->result) and !isset($data->id)) return $this->sendError(400, $data->message);
$case = $this->loadModel('testcase')->getByID($data->id);
$case->steps = (isset($case->steps) and !empty($case->steps)) ? array_values($case->steps) : array();
$this->send(200, $this->format($case, 'openedDate:time,lastEditedDate:time,lastRunDate:time,scriptedDate:date,reviewedDate:date,deleted:bool'));
}
}
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -18,7 +18,7 @@ CREATE TABLE `zt_mr` (
`createdDate` datetime NOT NULL,
`editedBy` varchar(30) NOT NULL,
`editedDate` datetime NOT NULL,
`deleted` tinyint(1) NOT NULL,
`deleted` enum('0','1') NOT NULL DEFAULT '0',
`status` char(30) NOT NULL,
`mergeStatus` char(30) NOT NULL,
PRIMARY KEY (`id`)
+4 -3
View File
@@ -546,7 +546,7 @@ CREATE TABLE IF NOT EXISTS `zt_module` (
KEY `path` (`path`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- DROP TABLE IF EXISTS `zt_mr`;
CREATE TABLE `zt_mr` (
CREATE TABLE IF NOT EXISTS `zt_mr` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`gitlabID` mediumint(8) unsigned NOT NULL,
`sourceProject` int unsigned NOT NULL,
@@ -562,7 +562,7 @@ CREATE TABLE `zt_mr` (
`createdDate` datetime NOT NULL,
`editedBy` varchar(30) NOT NULL,
`editedDate` datetime NOT NULL,
`deleted` tinyint(1) NOT NULL,
`deleted` enum('0','1') NOT NULL DEFAULT '0',
`status` char(30) NOT NULL,
`mergeStatus` char(30) NOT NULL,
PRIMARY KEY (`id`)
@@ -1352,7 +1352,8 @@ INSERT INTO `zt_cron` (`m`, `h`, `dom`, `mon`, `dow`, `command`, `remark`, `type
('1', '1', '*', '*', '*', 'moduleName=todo&methodName=createCycle', '生成周期性待办', 'zentao', 1, 'normal', '0000-00-00 00:00:00'),
('1', '0', '*', '*', '*', 'moduleName=ci&methodName=initQueue', '创建周期性任务', 'zentao', 1, 'normal', '0000-00-00 00:00:00'),
('*/5', '*', '*', '*', '*', 'moduleName=ci&methodName=checkCompileStatus', '同步DevOps构建任务状态', 'zentao', 1, 'normal', '0000-00-00 00:00:00'),
('*/5', '*', '*', '*', '*', 'moduleName=ci&methodName=exec', '执行DevOps构建任务', 'zentao', 1, 'normal', '0000-00-00 00:00:00');
('*/5', '*', '*', '*', '*', 'moduleName=ci&methodName=exec', '执行DevOps构建任务', 'zentao', 1, 'normal', '0000-00-00 00:00:00'),
('*/5', '*', '*', '*', '*', 'moduleName=mr&methodName=syncMR', '定时同步GitLab合并数据到禅道数据库', 'zentao', 1, 'normal', '0000-00-00 00:00:00');
INSERT INTO `zt_group` (`id`, `name`, `role`, `desc`) VALUES
(1, 'ADMIN', 'admin', 'for administrator'),
+136 -26
View File
@@ -1,3 +1,113 @@
2021-09-14 15.5
完成的需求
28102 在项目集中添加批量编辑项目功能
28048 执行视图二级菜单增加更多菜单
28042 执行列表区块中在执行名称前显示项目名称
28039 待处理区块用下拉菜单展示显示不完整的对象类型
28037 欢迎总览区块和面板中增加新手引导入口
28034 实现老版本管理模式的新手引导功能
28025 可视化看板中大泳道第一列颜色规范
28022 可视化看板中列表高度计算规则
28021 项目的二级导航中增加项目看板菜单
28020 产品的二级导航中增加产品看板菜单
28019 项目集的二级导航中增加项目集看板菜单
28018 实现产品的看板视图功能
28017 实现项目的看板视图功能
28016 实现项目集的看板视图功能
28015 二级导航中打印全局添加按钮
28014 实现禅道全局添加功能
27999 编辑页面点击返回操作后返回到同一个应用内session里面记录的列表地址
27927 执行看板默认只显示一屏滚动时再往下加载
27888 项目需求列表增加已关联执行和未关联执行的查询条件
27886 导入数据时只能导入所属业务对象内的数据
27755 新用户安装禅道15以上版本时增加禅道功能介绍页面
27452 调整在禅道软件里面打开的帮助手册
26226 将任务列表的任务类型字段调整为类型
15615 实现全新项目集管理模式的新手引导功能
15514 列表字段的宽度使用有指定含义的内容命名
修复的BUG
14046 项目白名单成员首次登陆系统,关闭青春蓝提示后报错
14146 试用版批量添加用户超过授权数量不提示
14150 国际版-授权提醒文档需要修改(各种场景)
14422 升级流程优化
6814 通知邮件中的链接地址与禅道中填写的不一致
6935 使用模块访问需求页面响应慢。
11549 钉钉webhook配置后出发多的情况下会创建出异常的bug信息
12610 未登录会获取禅道中的用户信息
13417 钉钉机器人关联产品之后不通知
13771 搜索列表与数字显示不一致
13821 产品中可以选到已删除的项目
13824 权限设置可访问产品报错
13826 可访问产品设置不生效
13940 预算太大时在项目集列表页面显示不正确
13941 编辑项目集中预算信息过大时会自动变成待定
13942 项目中预算数字显示不正确
13963 附件库列表下载附件时页面加载了空白页面
13989 下载已完成但是还是显现在加载
14007 后台人员模块中权限新增分组不显示
14013 发布所属项目丢失
14017 批量编辑计划选择结束日期显示错误
14028 执行-文档中,三级导航显示错误
14057 项目白名单成员无法访问该项目下的执行
14058 批量编辑需求计划后列表显示有问题
14108 完成任务时完成时间不应该大于开始时间
14112 构建-不选择流水线报错
14113 创建版本库gitlab server和gitlab token未设置成必填
14115 点击动态中的项目集链接报错
14128 15版本部分接口无法正常调用
14137 应用集成访问禅道总是提示初始化设置
14144 专业版12.1老模式安装升新模式后项目团队成员看不到项目主库
14147 国际版主题 -青春蓝应予引导页面的Young Blue统一翻译
14148 国际版升级数据合并页面选项未对齐
14149 国际版升级数据合并页面项目集和项目未能区分名称
14160 维护联系人之后创建任务页面无法选择
14161 需求描述中加号被过滤掉了
14162 进入维护干系人动态链接页面下拉组件缺失
14165 创建项目和执行页面,不能设置白名单
14178 维护产品线后创建产品的时候不显示
14179 测试-用例/测试单下有多余导航白条
14181 调整产品计划下需求的所属模块后需求列表没有更新
14182 邮件中显示的发信人不是禅道中配置的发信人
14197 进入Bug详情页导航跳转了2次
14202 禅道客户端截图不能截笔记本的图,只能截图外接屏幕
14211 创建文档库页面分组下拉页有遮挡
14215 直接关闭裁剪页面也可以更换头像
14221 我的地盘-待处理-任务 设置分页后切换页面后失效
14222 后台批量添加人员密码报错无法输入
14230 用例历史记录不记录批量修改记录
14235 计划列表的描述折叠按钮无法展开
14239 新增功能权限没有初始化到对应的权限分组
14240 下拉组件的图标位置优化
14241 任务列表状态字段内容显示不全
14244 视野维护中可访问项目处提示语不对
14250 按产品线升级,填写项目集名称不填写项目名称保存后升级数据错误
14256 点击全屏按钮后保存按钮位置错乱
14257 编辑文档保存时提示信息位置需优化
14259 执行看板排序功能异常
14268 执行复制白名单提示信息遮挡
14272 编辑产品文档页面有代码报错
14273 执行团队管理页面维护用户控件可以全部删除掉
14277 执行库的主库名称未根据自定义的迭代/冲刺显示
14279 点击迭代库下创建文档动态链接后页面有代码报错
14282 组织--团队页面显示为白屏
14283 创建版本时需要过滤掉上一个已删除的版本
14284 弹出文档保存提示时文档内容未正常显示
14285 提交测试时,创建版本成功后没直接显示
14291 测试统计中产品数据外面的圈没显示
14292 项目下的测试用例页面操作按钮有遮挡
14365 任务可以对未来日期记录工时
14366 项目集下的白名单列表中部门换行了
14367 忘记密码 页面提示的路径不准确
14387 执行列表导出选中记录,导出的excel没有数据
14389 批量编辑执行二级导航不对
14401 国际版-OA-考勤-弹窗页面“描述”未完全显示
14402 国际版-OA-考勤-登入、出表头未完全显示
14403 国际版-测试-BUG-二级导航排版乱了
14404 国际版-系统-Todo-部门下拉菜单超出表格范围
14405 国际版-运维-设置-语言选项与按钮错位
14457 集成钉钉工作消息通知时,选择部分用户会提示报错
14475 批量编辑任务时模块名显示不正确
2021-08-23 15.4
完成的需求
27731 ctrl+点击按钮可以新标签页打开页面
@@ -2031,32 +2141,32 @@
2018-08-09 10.3.stable
修复的Bug
1523 计划编辑结束日期有问题
1994 添加待办时间控件异常
2003 已保存的搜索历史页面显示异常
2006 批量提需求时,多图上传后需求创建失败
2010 记录工时页面显示异常
2017 待办弹窗页,激活操作不生效
2022 计划关联需求功能异常
2024 提Bug页面无法删除已保存的模板
2043 创建文档库时,所属产品或项目的下拉菜单显示不全
2056 创建项目,有下拉菜单的2级导航被隐藏
2057 我的地盘待办显示问题
2058 为刚创建的任务指派人员时,提示错误消息
2070 统计中项目偏差报表没有数据
2071 文档列表增加分页功能
2072 执行用例添加附件不显示
2074 任务维护模块页面会列出非关联的平台模块信息
2081 搜索日期无法选择
2085 权限的成员维护sql显示2次查询日志
2088 我的地盘项目统计区块数据统计不正确
2096 文档页没有分页功能,最多显示20个文档
2097 多人任务点击开始按钮开始后状态还是未开始
2098 需求的多行录入无响应
2099 创建文档库的时候无法选择所属项目
2101 任务创建页面优先级没有设置默认值
2102 上传附件的时候,数据库里附件名称包含了文件扩展名
2109 任务批量指派会检查剩余工时是否为0
1523 计划编辑结束日期有问题
1994 添加待办时间控件异常
2003 已保存的搜索历史页面显示异常
2006 批量提需求时,多图上传后需求创建失败
2010 记录工时页面显示异常
2017 待办弹窗页,激活操作不生效
2022 计划关联需求功能异常
2024 提Bug页面无法删除已保存的模板
2043 创建文档库时,所属产品或项目的下拉菜单显示不全
2056 创建项目,有下拉菜单的2级导航被隐藏
2057 我的地盘待办显示问题
2058 为刚创建的任务指派人员时,提示错误消息
2070 统计中项目偏差报表没有数据
2071 文档列表增加分页功能
2072 执行用例添加附件不显示
2074 任务维护模块页面会列出非关联的平台模块信息
2081 搜索日期无法选择
2085 权限的成员维护sql显示2次查询日志
2088 我的地盘项目统计区块数据统计不正确
2096 文档页没有分页功能,最多显示20个文档
2097 多人任务点击开始按钮开始后状态还是未开始
2098 需求的多行录入无响应
2099 创建文档库的时候无法选择所属项目
2101 任务创建页面优先级没有设置默认值
2102 上传附件的时候,数据库里附件名称包含了文件扩展名
2109 任务批量指派会检查剩余工时是否为0
2018-07-11 10.1.stable
完成的需求
+107 -11
View File
@@ -285,18 +285,18 @@ $lang->action->dynamicAction->todo['assigned'] = '指派待辦';
$lang->action->dynamicAction->todo['undeleted'] = '還原待辦';
$lang->action->dynamicAction->todo['hidden'] = '隱藏待辦';
$lang->action->dynamicAction->program['create'] = '創建項目集';
$lang->action->dynamicAction->program['edit'] = '編輯項目集';
$lang->action->dynamicAction->program['activate'] = '激活項目集';
$lang->action->dynamicAction->program['delete'] = '刪除項目集';
$lang->action->dynamicAction->program['close'] = '關閉項目集';
$lang->action->dynamicAction->program['opened'] = '創建項目集';
$lang->action->dynamicAction->program['edited'] = '編輯項目集';
$lang->action->dynamicAction->program['activated'] = '激活項目集';
$lang->action->dynamicAction->program['deleted'] = '刪除項目集';
$lang->action->dynamicAction->program['closed'] = '關閉項目集';
$lang->action->dynamicAction->project['create'] = '創建項目';
$lang->action->dynamicAction->project['edit'] = '編輯項目';
$lang->action->dynamicAction->project['start'] = '開始項目';
$lang->action->dynamicAction->project['suspend'] = '延期項目';
$lang->action->dynamicAction->project['activate'] = '激活項目';
$lang->action->dynamicAction->project['close'] = '關閉項目';
$lang->action->dynamicAction->project['opened'] = '創建項目';
$lang->action->dynamicAction->project['edited'] = '編輯項目';
$lang->action->dynamicAction->project['started'] = '開始項目';
$lang->action->dynamicAction->project['suspended'] = '延期項目';
$lang->action->dynamicAction->project['activated'] = '激活項目';
$lang->action->dynamicAction->project['closed'] = '關閉項目';
$lang->action->dynamicAction->product['opened'] = '創建' . $lang->productCommon;
$lang->action->dynamicAction->product['edited'] = '編輯' . $lang->productCommon;
@@ -566,3 +566,99 @@ $lang->action->search->label['paused'] = $lang->action->label->pa
$lang->action->search->label['verified'] = $lang->action->label->verified;
$lang->action->search->label['login'] = $lang->action->label->login;
$lang->action->search->label['logout'] = $lang->action->label->logout;
/* Action language config for API(JIHU) */
$lang->action->apiTitle = new stdclass();
$lang->action->apiTitle->opened = '首次創建。';
$lang->action->apiTitle->created = '首次創建。';
$lang->action->apiTitle->added = '添加成功。';
$lang->action->apiTitle->changed = '進行了需求變更。';
$lang->action->apiTitle->edited = '編輯操作。';
$lang->action->apiTitle->assigned = '指派給 <strong>%s</strong>。';
$lang->action->apiTitle->closed = '執行了關閉操作。';
$lang->action->apiTitle->deleted = '執行刪除操作。';
$lang->action->apiTitle->deletedfile = '刪除了附件:<strong><i>%s</i></strong>。';
$lang->action->apiTitle->editfile = '編輯了附件:<strong><i>%s</i></strong>。';
$lang->action->apiTitle->erased = '執行了刪除操作。';
$lang->action->apiTitle->undeleted = '執行還原操作。';
$lang->action->apiTitle->hidden = '進行隱藏操作。';
$lang->action->apiTitle->commented = '添加了備註';
$lang->action->apiTitle->activated = '執行激活操作。';
$lang->action->apiTitle->confirmed = '確認' . $lang->SRCommon . '變動,最新版本為<strong>#%s</strong>。';
$lang->action->apiTitle->caseconfirmed = '確認用例變動,最新版本為<strong>#%s</strong>。';
$lang->action->apiTitle->bugconfirmed = '確認了Bug。';
$lang->action->apiTitle->frombug = 'Bug轉化而來,Bug編號為 <strong>%s</strong>。';
$lang->action->apiTitle->started = '啟動。';
$lang->action->apiTitle->restarted = '繼續。';
$lang->action->apiTitle->delayed = '執行了延期操作。';
$lang->action->apiTitle->suspended = '掛起。';
$lang->action->apiTitle->recordestimate = '記錄工時,消耗 <strong>%s</strong> 小時。';
$lang->action->apiTitle->editestimate = '編輯了工時。';
$lang->action->apiTitle->deleteestimate = '刪除工時。';
$lang->action->apiTitle->canceled = '執行取消操作。';
$lang->action->apiTitle->svncommited = '提交代碼,版本為<strong>#%s</strong>。';
$lang->action->apiTitle->gitcommited = '提交代碼,版本為<strong>#%s</strong>。';
$lang->action->apiTitle->finished = '完成。';
$lang->action->apiTitle->paused = '暫停。';
$lang->action->apiTitle->linked2bug = '關聯到版本 <strong>%s</strong>';
$lang->action->apiTitle->linked2testtask = '關聯到測試單 <strong>%s</strong>';
$lang->action->apiTitle->resolved = '解決。';
$lang->action->apiTitle->managed = '維護。';
$lang->action->apiTitle->estimated = '估算。';
$lang->action->apiTitle->run = '執行。';
$lang->action->apiTitle->tostory = "{$lang->SRCommon}";
$lang->action->apiTitle->createchildren = '創建子任務 <strong>%s</strong>。';
$lang->action->apiTitle->linkchildtask = '關聯子任務 <strong>%s</strong>。';
$lang->action->apiTitle->unlinkchildrentask = '移除子任務 <strong>%s</strong>。';
$lang->action->apiTitle->linkparenttask = '關聯到父任務 <strong>%s</strong>。';
$lang->action->apiTitle->unlinkparenttask = '從父任務<strong>%s</strong>取消關聯。';
$lang->action->apiTitle->deletechildrentask = '刪除子任務<strong>%s</strong>。';
$lang->action->apiTitle->createchildrenstory = '創建子需求 <strong>%s</strong>。';
$lang->action->apiTitle->linkchildstory = '關聯子需求 <strong>%s</strong>。';
$lang->action->apiTitle->unlinkchildrenstory = '移除子需求 <strong>%s</strong>。';
$lang->action->apiTitle->linkparentstory = '關聯到父需求 <strong>%s</strong>。';
$lang->action->apiTitle->unlinkparentstory = '從父需求<strong>%s</strong>取消關聯。';
$lang->action->apiTitle->deletechildrenstory = '刪除子需求<strong>%s</strong>。';
$lang->action->apiTitle->linkrelatedcase = '關聯相關用例 <strong>%s</strong>。';
$lang->action->apiTitle->unlinkrelatedcase = '移除相關用例 <strong>%s</strong>。';
$lang->action->apiTitle->openedbysystem = '系統創建';
$lang->action->apiTitle->closedbysystem = '系統關閉';
$lang->action->apiTitle->communicated = '溝通';
$lang->action->apiTitle->blocked = '阻塞';
$lang->action->apiTitle->reviewed = '評審';
$lang->action->apiTitle->recalled = '撤銷評審';
$lang->action->apiTitle->moved = '移動';
$lang->action->apiTitle->fromlib = '從用例庫導入';
$lang->action->apiTitle->totask = '轉任務';
$lang->action->apiTitle->linked2plan = "關聯計劃";
$lang->action->apiTitle->unlinkedfromplan = "移除計劃";
$lang->action->apiTitle->changestatus = '修改狀態';
$lang->action->apiTitle->marked = '編輯';
$lang->action->apiTitle->linked2execution = "關聯{$lang->executionCommon}";
$lang->action->apiTitle->unlinkedfromexecution = "移除{$lang->executionCommon}";
$lang->action->apiTitle->linked2project = "關聯項目";
$lang->action->apiTitle->unlinkedfromproject = "移除項目";
$lang->action->apiTitle->unlinkedfrombuild = "移除版本";
$lang->action->apiTitle->linked2release = "關聯發佈";
$lang->action->apiTitle->unlinkedfromrelease = "移除發佈";
$lang->action->apiTitle->linkrelatedbug = "關聯了相關Bug";
$lang->action->apiTitle->unlinkrelatedbug = "移除了相關Bug";
$lang->action->apiTitle->linkrelatedstory = "關聯了相關{$lang->SRCommon}";
$lang->action->apiTitle->unlinkrelatedstory = "移除了相關{$lang->SRCommon}";
$lang->action->apiTitle->subdividestory = "細分了{$lang->SRCommon}";
$lang->action->apiTitle->unlinkchildstory = "移除了細分{$lang->SRCommon}";
$lang->action->apiTitle->verified = '驗收';
$lang->action->apiTitle->login = '登錄系統';
$lang->action->apiTitle->logout = "退出登錄";
$lang->action->apiTitle->linked2build = "關聯";
$lang->action->apiTitle->unlinkedfromtesttask = "移除";
$lang->action->apiTitle->batchcreate = "批量創建任務";
$lang->action->apiTitle->managedteam = "維護";
$lang->action->apiTitle->managedwhitelist = "維護";
$lang->action->apiTitle->tracked = '跟蹤';
$lang->action->apiTitle->hangup = '掛起';
$lang->action->apiTitle->reviewpassed = '確認通過';
$lang->action->apiTitle->reviewrejected = '拒絶';
$lang->action->apiTitle->reviewclarified = '有待明確';
$lang->action->apiTitle->commitsummary = '提交培訓總結';
$lang->action->apiTitle->updatetrainee = '更新培訓人員';
+1 -1
View File
@@ -27,7 +27,7 @@
<?php $viewLink = $this->createLink('project', 'index', "programID={$project->id}");?>
<tr>
<td title='<?php echo $project->name?>'><?php echo html::a($viewLink, $project->name);?></td>
<td><?php echo zget($users, $project->PM, $project->PM)?></td>
<td title="<?php echo zget($users, $project->PM, $project->PM)?>"><?php echo zget($users, $project->PM, $project->PM)?></td>
<td class='c-status'>
<span class="status-program status-<?php echo $project->status?>"><?php echo zget($lang->project->statusList, $project->status);?></span>
</td>
+1
View File
@@ -174,6 +174,7 @@ $lang->custom->notice->readOnlyOfProduct = '禁止修改後,已關閉' . $la
$lang->custom->notice->readOnlyOfExecution = "禁止修改後,已關閉{$lang->custom->execution}下的任務、版本、日誌以及關聯需求都禁止修改。";
$lang->custom->notice->URSREmpty = '自定義需求名稱不能為空!';
$lang->custom->notice->confirmDelete = '您確定要刪除嗎?';
$lang->custom->notice->confirmReviewCase = '是否將待評審的用例修改為正常狀態?';
$lang->custom->notice->indexPage['product'] = "從8.2版本起增加了產品主頁視圖,是否預設進入產品主頁?";
$lang->custom->notice->indexPage['project'] = "從8.2版本起增加了項目主頁視圖,是否預設進入項目主頁?";
+1 -1
View File
@@ -117,7 +117,7 @@ $lang->doc->allExecutions = '所有' . $lang->executionCommon;
$lang->doc->libTypeList['product'] = $lang->productCommon . '文檔庫';
if($config->systemMode == 'new') $lang->doc->libTypeList['project'] = '項目文檔庫';
$lang->doc->libTypeList['execution'] = $lang->executionCommon . '文檔庫';
$lang->doc->libTypeList['execution'] = $lang->execution->common . '文檔庫';
$lang->doc->libTypeList['custom'] = '自定義文檔庫';
$lang->doc->libIconList['product'] = 'icon-product';
+2 -2
View File
@@ -1,4 +1,4 @@
.main-table .table {cursor: default;}
.main-table .table {cursor: default; border-collapse: unset;}
.boards {display: table; table-layout: fixed; width: 100%; min-width: 140px;}
.board {display: table-cell; width: 25%; padding: 10px;}
@@ -12,7 +12,7 @@
#kanban thead > tr > th:not(:last-child) {border-right: 2px solid #efefef;}
#kanban tbody > tr > td {line-height: 24px;}
#kanban tbody > tr > td {background-color: #F5F5F5;}
#kanban tbody > tr:not(:last-child) {border-bottom: 5px solid #fff !important;}
#kanban tbody > tr:not(:last-child) > td {border-bottom: 5px solid #fff !important;}
.s-doing .table-row .table-col:last-child, .c-progress {width: 30px; padding-left: 3px; padding-top: 1px;}
.table-row .table-col:first-child, .board-project {overflow: hidden; white-space: nowrap;}
+1 -1
View File
@@ -9,7 +9,7 @@ $(function()
$td.find('a').eq(0).css('max-width', $td.width() - labelWidth - 60);
});
toggleFold('#projectTaskForm', unfoldTasks, executionID, 'project');
toggleFold('#executionTaskForm', unfoldTasks, executionID, 'project');
adjustTableFooter();
$('body').on('click', '#toggleFold', adjustTableFooter);
+1 -1
View File
@@ -310,7 +310,7 @@ $lang->execution->workloadTotal = "工作量占比累計不應當超過100
// $lang->execution->linkProjectStoryTip = "(關聯{$lang->SRCommon}來源於項目下所關聯的{$lang->SRCommon})";
$lang->execution->linkAllStoryTip = "(項目下還未關聯{$lang->SRCommon},可直接關聯該{$lang->execution->common}所關聯產品的{$lang->SRCommon})";
if($config->systemMode == 'classic') $lang->execution->copyTeamTitle = "選擇一個{$lang->execution->common}團隊來複制";
if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "選擇一個{$lang->projectCommon}{$lang->execution->common}團隊來複制";
if($config->systemMode == 'new') $lang->execution->copyTeamTitle = "選擇一個{$lang->project->common}{$lang->execution->common}團隊來複制";
/* 交互提示。*/
$lang->execution->confirmDelete = "您確定刪除{$lang->executionCommon}[%s]嗎?";
+2
View File
@@ -92,6 +92,7 @@ $lang->misc->feature->downloadFile = 'Download introduction';
$lang->misc->feature->tutorialDesc = '<p>ZenTao 15.0 has new functions, and you know how to use it through the "<strong>Tutorial</strong>".</p><p>Click your [<span style="color: #0c60e1">Avatar-Theme-Young Blue</span>] to set it.</p>';
$lang->misc->feature->themeDesc = '<p>ZenTao 15.0+ a new "Youth Blue" theme, the pages are more beautiful and the experience is more friendly.</p><p>Click your [<span style="color: #0c60e1">Avatar-Theme-Young Blue</span>] to set it.</p>';
$lang->misc->releaseDate['15.5'] = '2021-09-14';
$lang->misc->releaseDate['15.4'] = '2021-08-23';
$lang->misc->releaseDate['15.3'] = '2021-08-04';
$lang->misc->releaseDate['15.2'] = '2021-07-20';
@@ -156,6 +157,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
$lang->misc->feature->all['15.5'][] = array('title' => 'Add Program / Product / Project Kanban, global addition function and novice guidance. Fix bug.', 'desc' => '');
$lang->misc->feature->all['15.4'][] = array('title' => 'Fix bug', 'desc' => '');
$lang->misc->feature->all['15.3'][] = array('title' => 'Adjust interface style and document, fix bug', 'desc' => '');
$lang->misc->feature->all['15.2'][] = array('title' => 'Optimize the new version upgrade process, add execution kanban.', 'desc' => '');
+2
View File
@@ -92,6 +92,7 @@ $lang->misc->feature->downloadFile = '下载新版本功能介绍文档';
$lang->misc->feature->tutorialDesc = "<p>禅道15系列新增了多项功能,您可以通过“<strong>新手引导教程</strong>”快速了解禅道的基本使用方法。</p><p>通过鼠标经过 [<span style='color: #0c60e1'>头像-新手引导</span>],点击新手引导,即可进入新手引导教程。</p>";
$lang->misc->feature->themeDesc = "<p>禅道15系列上线了全新的“青春蓝”主题,页面呈现更加美观,体验更加友好。</p><p>通过鼠标经过 [<span style='color: #0c60e1'>头像-主题-青春蓝</span>],点击青春蓝,即可设置成功。</p>";
$lang->misc->releaseDate['15.5'] = '2021-09-14';
$lang->misc->releaseDate['15.4'] = '2021-08-23';
$lang->misc->releaseDate['15.3'] = '2021-08-04';
$lang->misc->releaseDate['15.2'] = '2021-07-20';
@@ -156,6 +157,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
$lang->misc->feature->all['15.5'][] = array('title' => '增加项目集/产品/项目看板视图、全局添加功能、新手引导。 修复Bug。', 'desc' => '');
$lang->misc->feature->all['15.4'][] = array('title' => '修复Bug', 'desc' => '');
$lang->misc->feature->all['15.3'][] = array('title' => '实现界面风格改动和文档优化,修复Bug', 'desc' => '');
$lang->misc->feature->all['15.2'][] = array('title' => '优化新版本升级流程,增加执行看板。', 'desc' => '');
+12 -2
View File
@@ -81,9 +81,18 @@ $lang->misc->noticeRepair = "<h5>普通用戶請聯繫管理員進行修復</h5>
</ol>";
$lang->misc->feature = new stdclass();
$lang->misc->feature->lastest = '最新版本';
$lang->misc->feature->detailed = '詳情';
$lang->misc->feature->lastest = '最新版本';
$lang->misc->feature->detailed = '詳情';
$lang->misc->feature->introduction = '新功能介紹';
$lang->misc->feature->tutorial = '新手引導教程';
$lang->misc->feature->youngBlueTheme = '全新青春藍主題';
$lang->misc->feature->nextStep = '下一步';
$lang->misc->feature->close = '關閉';
$lang->misc->feature->downloadFile = '下載新版本功能介紹文檔';
$lang->misc->feature->tutorialDesc = "<p>禪道15系列新增了多項功能,您可以通過“<strong>新手引導教程</strong>”快速瞭解禪道的基本使用方法。</p><p>通過滑鼠經過 [<span style='color: #0c60e1'>頭像-新手引導</span>],點擊新手引導,即可進入新手引導教程。</p>";
$lang->misc->feature->themeDesc = "<p>禪道15系列上線了全新的“青春藍”主題,頁面呈現更加美觀,體驗更加友好。</p><p>通過滑鼠經過 [<span style='color: #0c60e1'>頭像-主題-青春藍</span>],點擊青春藍,即可設置成功。</p>";
$lang->misc->releaseDate['15.5'] = '2021-09-14';
$lang->misc->releaseDate['15.4'] = '2021-08-23';
$lang->misc->releaseDate['15.3'] = '2021-08-04';
$lang->misc->releaseDate['15.2'] = '2021-07-20';
@@ -148,6 +157,7 @@ $lang->misc->releaseDate['7.2.stable'] = '2015-05-22';
$lang->misc->releaseDate['7.1.stable'] = '2015-03-07';
$lang->misc->releaseDate['6.3.stable'] = '2014-11-07';
$lang->misc->feature->all['15.5'][] = array('title' => '增加項目集/產品/項目看板視圖、全局添加功能、新手引導。 修復Bug。', 'desc' => '');
$lang->misc->feature->all['15.4'][] = array('title' => '修復Bug', 'desc' => '');
$lang->misc->feature->all['15.3'][] = array('title' => '實現界面風格改動和文檔優化,修復Bug', 'desc' => '');
$lang->misc->feature->all['15.2'][] = array('title' => '優化新版本升級流程,增加執行看板。', 'desc' => '');
+1
View File
@@ -77,6 +77,7 @@ $lang->mr->mergeFailed = "Unable to merge request, please check the merge req
$lang->mr->mergeSuccess = "Merge Request Successfully";
$lang->mr->todomessage = "project was assigned to you";
/**
* Merge Command Document.
*
-1
View File
@@ -78,7 +78,6 @@ $lang->mr->mergeSuccess = "已成功合并";
$lang->mr->todomessage = "项目中指派给你了";
/**
* Merge Command Document.
*
+3
View File
@@ -23,6 +23,7 @@ $lang->mr->reviewer = '評審人';
$lang->mr->mergeStatus = '是否可合併';
$lang->mr->commits = '提交數';
$lang->mr->changes = '更改數';
$lang->mr->gitlabID = 'GitLab';
$lang->mr->statusList = array();
$lang->mr->statusList['opened'] = '開放中';
@@ -75,6 +76,8 @@ $lang->mr->acceptMR = "合併";
$lang->mr->mergeFailed = "無法合併,請核對合併請求狀態";
$lang->mr->mergeSuccess = "已成功合併";
$lang->mr->todomessage = "項目中指派給你了";
/**
* Merge Command Document.
*
+11 -11
View File
@@ -127,17 +127,17 @@ $lang->testtask->fail = '失敗';
$lang->testtask->showResult = '共執行<span class="text-info">%s</span>次';
$lang->testtask->showFail = '失敗<span class="text-danger">%s</span>次';
$lang->testtask->confirmDelete = '您確認要刪除該測試單嗎?';
$lang->testtask->confirmUnlinkCase = '您確認要移除該用例嗎?';
$lang->testtask->noticeNoOther = '該產品還沒有其他測試單';
$lang->testtask->noTesttask = '暫時沒有測試單。';
$lang->testtask->checkLinked = "請檢查測試單的產品是否與{$lang->executionCommon}相關聯";
$lang->testtask->noImportData = '導入的XML沒有解析出數據。';
$lang->testtask->unitXMLFormat = '請選擇Junit XML 格式的檔案。';
$lang->testtask->titleOfAuto = "%s 自動化測試";
$lang->testtask->cannotBeParsed = '導入的XML檔案內容格式錯誤,無法解析。';
$lang->testtask->finishedDateError = '實際完成日期不能小於開始日期%s';
$lang->testtask->finishedDateError2 = '實際完成日期不能大於今天';
$lang->testtask->confirmDelete = '您確認要刪除該測試單嗎?';
$lang->testtask->confirmUnlinkCase = '您確認要移除該用例嗎?';
$lang->testtask->noticeNoOther = '該產品還沒有其他測試單';
$lang->testtask->noTesttask = '暫時沒有測試單。';
$lang->testtask->checkLinked = "請檢查測試單的產品是否與{$lang->executionCommon}相關聯";
$lang->testtask->noImportData = '導入的XML沒有解析出數據。';
$lang->testtask->unitXMLFormat = '請選擇Junit XML 格式的檔案。';
$lang->testtask->titleOfAuto = "%s 自動化測試";
$lang->testtask->cannotBeParsed = '導入的XML檔案內容格式錯誤,無法解析。';
$lang->testtask->finishedDateLess = '實際完成日期不能小於開始日期%s';
$lang->testtask->finishedDateMore = '實際完成日期不能大於今天';
$lang->testtask->assignedToMe = '指派給我';
$lang->testtask->allCases = '所有用例';
+7 -7
View File
@@ -54,28 +54,28 @@ $lang->tutorial->tasks['createStory']['desc'] = "<p>Create a story: </p><ul><li
$lang->tutorial->tasks['createProject'] = array('title' => 'Create a ' . $lang->executionCommon);
$lang->tutorial->tasks['createProject']['mode'] = 'new';
$lang->tutorial->tasks['createProject']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => 'Create ' . $lang->projectCommon);
$lang->tutorial->tasks['createProject']['desc'] = "<p>Create a {$lang->projectCommon}: </p><ul><li data-target='nav'>Open <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> New</span> Page;</li><li data-target='form'>Fill the form with {$lang->projectCommon} information;</li><li data-target='submit'>Save</li></ul>";
$lang->tutorial->tasks['createProject']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => 'Create Project');
$lang->tutorial->tasks['createProject']['desc'] = "<p>Create a project: </p><ul><li data-target='nav'>Open <span class='task-nav'> Project <i class='icon icon-angle-right'></i> New</span> Page;</li><li data-target='form'>Fill the form with project information;</li><li data-target='submit'>Save</li></ul>";
$lang->tutorial->tasks['manageTeam'] = array('title' => "Manage {$lang->projectCommon} Team");
$lang->tutorial->tasks['manageTeam'] = array('title' => "Manage Project Team");
$lang->tutorial->tasks['manageTeam']['mode'] = 'new';
$lang->tutorial->tasks['manageTeam']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="members"],.manage-team-btn', 'target' => '.manage-team-btn', 'vars' => 'projectID=0', 'form' => '#teamForm', 'requiredFields' => 'accounts1,accounts', 'submit' => '#submit', 'targetPageName' => 'Manage team members');
$lang->tutorial->tasks['manageTeam']['desc'] = "<p>Manage {$lang->projectCommon} team members: </p><ul><li data-target='nav'>Open <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> Team <i class='icon icon-angle-right'></i> Manage Team Members</span> Page</li><li data-target='form'>Choose users for the team.</li><li data-target='submit'>Save</li></ul>";
$lang->tutorial->tasks['manageTeam']['desc'] = "<p>Manage project team members: </p><ul><li data-target='nav'>Open <span class='task-nav'> project <i class='icon icon-angle-right'></i> Team <i class='icon icon-angle-right'></i> Manage Team Members</span> Page</li><li data-target='form'>Choose users for the team.</li><li data-target='submit'>Save</li></ul>";
$lang->tutorial->tasks['createProjectExecution'] = array('title' => 'Create a ' . $lang->executionCommon);
$lang->tutorial->tasks['createProjectExecution']['mode'] = 'new';
$lang->tutorial->tasks['createProjectExecution']['nav'] = array('app' => 'project', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="execution"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => 'Create' . $lang->executionCommon);
$lang->tutorial->tasks['createProjectExecution']['desc'] = "<p>Create a new {$lang->executionCommon}</p><ul><li data-target='nav'>Open <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->executionCommon} list <i class='icon icon-angle-right'></i> Create {$lang->executionCommon}</span>;</li><li data-target='form'>Fill the form with {$lang->executionCommon} information</li><li data-target='submit'>Save {$lang->executionCommon}</li></ul>";
$lang->tutorial->tasks['createProjectExecution']['desc'] = "<p>Create a new {$lang->executionCommon}</p><ul><li data-target='nav'>Open <span class='task-nav'> Project <i class='icon icon-angle-right'></i> {$lang->executionCommon} list <i class='icon icon-angle-right'></i> Create {$lang->executionCommon}</span>;</li><li data-target='form'>Fill the form with {$lang->executionCommon} information</li><li data-target='submit'>Save {$lang->executionCommon}</li></ul>";
$lang->tutorial->tasks['createExecution'] = array('title' => 'Create a ' . $lang->executionCommon);
$lang->tutorial->tasks['createExecution']['mode'] = 'classic';
$lang->tutorial->tasks['createExecution']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => 'Create ' . $lang->executionCommon);
$lang->tutorial->tasks['createExecution']['desc'] = "<p>Create a new {$lang->executionCommon}</p><ul><li data-target='nav'>Open <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->executionCommon} list <i class='icon icon-angle-right'></i> Create {$lang->executionCommon}</span>;</li><li data-target='form'>Fill the form with {$lang->executionCommon} information</li><li data-target='submit'>Save {$lang->executionCommon}</li></ul>";
$lang->tutorial->tasks['createExecution']['desc'] = "<p>Create a new {$lang->executionCommon}</p><ul><li data-target='nav'>Open <span class='task-nav'> Project <i class='icon icon-angle-right'></i> {$lang->executionCommon} list <i class='icon icon-angle-right'></i> Create {$lang->executionCommon}</span>;</li><li data-target='form'>Fill the form with {$lang->executionCommon} information</li><li data-target='submit'>Save {$lang->executionCommon}</li></ul>";
$lang->tutorial->tasks['manageExecutionTeam'] = array('title' => "Manage Team");
$lang->tutorial->tasks['manageExecutionTeam']['mode'] = 'classic';
$lang->tutorial->tasks['manageExecutionTeam']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#executionTableList>tr:first>.c-name>a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="team"],.manage-team-btn', 'target' => '.manage-team-btn', 'form' => '#teamForm', 'requiredFields' => 'account1', 'submit' => '#submit', 'targetPageName' => 'Manage team members');
$lang->tutorial->tasks['manageExecutionTeam']['desc'] = "<p>Manage {$lang->projectCommon} team members: </p><ul><li data-target='nav'>Open <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> Team <i class='icon icon-angle-right'></i> Manage Team Members</span> Page</li><li data-target='form'>Choose users for the team.</li><li data-target='submit'>Save</li></ul>";
$lang->tutorial->tasks['manageExecutionTeam']['desc'] = "<p>Manage project team members: </p><ul><li data-target='nav'>Open <span class='task-nav'> Project <i class='icon icon-angle-right'></i> Team <i class='icon icon-angle-right'></i> Manage Team Members</span> Page</li><li data-target='form'>Choose users for the team.</li><li data-target='submit'>Save</li></ul>";
$lang->tutorial->tasks['linkStory'] = array('title' => 'Link a Story');
$lang->tutorial->tasks['linkStory']['mode'] = 'new';
+7 -7
View File
@@ -52,25 +52,25 @@ $lang->tutorial->tasks['createStory'] = array('title' => "创建{$lang->
$lang->tutorial->tasks['createStory']['nav'] = array('app' => 'product', 'module' => 'story', 'method' => 'create', 'menuModule' => 'story', 'menu' => '#productTableList>tr:not(.has-nest-child):first>.c-name>a,#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-story-btn', 'target' => '.create-story-btn', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => "{$lang->SRCommon}");
$lang->tutorial->tasks['createStory']['desc'] = "<p>在系统创建一个新的{$lang->SRCommon}</p><ul><li data-target='nav'>打开 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 提{$lang->SRCommon}</span> 页面;</li><li data-target='form'>在{$lang->productCommon}表单中填写要创建的{$lang->SRCommon}信息;</li><li data-target='submit'>保存{$lang->SRCommon}信息。</li></ul>";
$lang->tutorial->tasks['createProject'] = array('title' => '创建' . $lang->projectCommon);
$lang->tutorial->tasks['createProject'] = array('title' => '创建项目');
$lang->tutorial->tasks['createProject']['mode'] = 'new';
$lang->tutorial->tasks['createProject']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => '添加' . $lang->projectCommon);
$lang->tutorial->tasks['createProject']['desc'] = "<p>在系统创建一个新的{$lang->projectCommon}</p><ul><li data-target='nav'>打开 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->projectCommon}列表 <i class='icon icon-angle-right'></i> 创建{$lang->projectCommon}</span> 页面;</li><li data-target='form'>在{$lang->projectCommon}表单中填写要创建的{$lang->projectCommon}信息;</li><li data-target='submit'>保存{$lang->projectCommon}信息。</li></ul>";
$lang->tutorial->tasks['createProject']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => '添加项目');
$lang->tutorial->tasks['createProject']['desc'] = "<p>在系统创建一个新的项目</p><ul><li data-target='nav'>打开 <span class='task-nav'> 项目 <i class='icon icon-angle-right'></i> 项目列表 <i class='icon icon-angle-right'></i> 创建项目</span> 页面;</li><li data-target='form'>在项目表单中填写要创建的项目信息;</li><li data-target='submit'>保存项目信息。</li></ul>";
$lang->tutorial->tasks['manageTeam'] = array('title' => "管理{$lang->projectCommon}团队");
$lang->tutorial->tasks['manageTeam'] = array('title' => "管理项目团队");
$lang->tutorial->tasks['manageTeam']['mode'] = 'new';
$lang->tutorial->tasks['manageTeam']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="members"],.manage-team-btn', 'target' => '.manage-team-btn', 'vars' => 'projectID=0', 'form' => '#teamForm', 'requiredFields' => 'accounts1', 'submit' => '#submit', 'targetPageName' => '团队管理');
$lang->tutorial->tasks['manageTeam']['desc'] = "<p>管理{$lang->projectCommon}团队成员:</p><ul><li data-target='nav'>打开 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> 设置 <i class='icon icon-angle-right'></i> 团队 <i class='icon icon-angle-right'></i> 团队管理</span> 页面;</li><li data-target='form'>选择要加入{$lang->projectCommon}团队的成员;</li><li data-target='submit'>保存团队成员信息。</li></ul>";
$lang->tutorial->tasks['manageTeam']['desc'] = "<p>管理项目团队成员:</p><ul><li data-target='nav'>打开 <span class='task-nav'> 项目 <i class='icon icon-angle-right'></i> 设置 <i class='icon icon-angle-right'></i> 团队 <i class='icon icon-angle-right'></i> 团队管理</span> 页面;</li><li data-target='form'>选择要加入项目团队的成员;</li><li data-target='submit'>保存团队成员信息。</li></ul>";
$lang->tutorial->tasks['createProjectExecution'] = array('title' => '添加' . $lang->executionCommon);
$lang->tutorial->tasks['createProjectExecution']['mode'] = 'new';
$lang->tutorial->tasks['createProjectExecution']['nav'] = array('app' => 'project', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="execution"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => '添加' . $lang->executionCommon);
$lang->tutorial->tasks['createProjectExecution']['desc'] = "<p>在系统创建一个新的{$lang->executionCommon}</p><ul><li data-target='nav'>打开 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->executionCommon} <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 页面;</li><li data-target='form'>在{$lang->executionCommon}表单中填写要创建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
$lang->tutorial->tasks['createProjectExecution']['desc'] = "<p>在系统创建一个新的{$lang->executionCommon}</p><ul><li data-target='nav'>打开 <span class='task-nav'> 项目 <i class='icon icon-angle-right'></i> {$lang->executionCommon} <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 页面;</li><li data-target='form'>在{$lang->executionCommon}表单中填写要创建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
$lang->tutorial->tasks['createExecution'] = array('title' => '创建' . $lang->executionCommon);
$lang->tutorial->tasks['createExecution']['mode'] = 'classic';
$lang->tutorial->tasks['createExecution']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => '添加' . $lang->executionCommon);
$lang->tutorial->tasks['createExecution']['desc'] = "<p>在系统创建一个新的{$lang->executionCommon}</p><ul><li data-target='nav'>打开 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->executionCommon}列表 <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 页面;</li><li data-target='form'>在表单中填写要创建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
$lang->tutorial->tasks['createExecution']['desc'] = "<p>在系统创建一个新的{$lang->executionCommon}</p><ul><li data-target='nav'>打开 <span class='task-nav'> 项目 <i class='icon icon-angle-right'></i> {$lang->executionCommon}列表 <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 页面;</li><li data-target='form'>在表单中填写要创建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
$lang->tutorial->tasks['manageExecutionTeam'] = array('title' => "管理团队");
$lang->tutorial->tasks['manageExecutionTeam']['mode'] = 'classic';
+29 -11
View File
@@ -46,38 +46,56 @@ $lang->tutorial->tasks['createProgram']['desc'] = "<p>在系統創建一個新
$lang->tutorial->tasks['createProduct'] = array('title' => '創建' . $lang->productCommon);
$lang->tutorial->tasks['createProduct']['nav'] = array('app' => 'product', 'module' => 'product', 'method' => 'create', 'menuModule' => 'product', 'menu' => 'all', 'form' => '#createForm', 'submit' => '#submit', 'target' => '.create-product-btn', 'targetPageName' => '添加' . $lang->productCommon);
$lang->tutorial->tasks['createProduct']['desc'] = "<p>在系統創建一個新的{$lang->productCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> {$lang->productCommon}列表 <i class='icon icon-angle-right'></i> 添加{$lang->productCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->productCommon}信息;</li><li data-target='submit'>保存{$lang->productCommon}信息。</li></ul>";
$lang->tutorial->tasks['createProduct']['desc'] = "<p>在系統創建一個新的{$lang->productCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> {$lang->productCommon}列表 <i class='icon icon-angle-right'></i> 添加{$lang->productCommon}</span> 頁面;</li><li data-target='form'>在添加{$lang->productCommon}表單中填寫要創建的{$lang->productCommon}信息;</li><li data-target='submit'>保存{$lang->productCommon}信息。</li></ul>";
$lang->tutorial->tasks['createStory'] = array('title' => "創建{$lang->SRCommon}");
$lang->tutorial->tasks['createStory']['nav'] = array('app' => 'product', 'module' => 'story', 'method' => 'create', 'menuModule' => 'story', 'menu' => '#productTableList>tr:not(.has-nest-child):first>.c-name>a,#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-story-btn', 'target' => '.create-story-btn', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => "{$lang->SRCommon}");
$lang->tutorial->tasks['createStory']['desc'] = "<p>在系統創建一個新的{$lang->SRCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 提{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->SRCommon}信息;</li><li data-target='submit'>保存{$lang->SRCommon}信息。</li></ul>";
$lang->tutorial->tasks['createStory']['desc'] = "<p>在系統創建一個新的{$lang->SRCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'>{$lang->productCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 提{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在{$lang->productCommon}表單中填寫要創建的{$lang->SRCommon}信息;</li><li data-target='submit'>保存{$lang->SRCommon}信息。</li></ul>";
$lang->tutorial->tasks['createProject'] = array('title' => '創建' . $lang->projectCommon);
$lang->tutorial->tasks['createProject']['mode'] = 'new';
$lang->tutorial->tasks['createProject']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-project-btn', 'targetPageName' => '添加' . $lang->projectCommon);
$lang->tutorial->tasks['createProject']['desc'] = "<p>在系統創建一個新的{$lang->projectCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->projectCommon}列表 <i class='icon icon-angle-right'></i> 創建{$lang->projectCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->projectCommon}信息;</li><li data-target='submit'>保存{$lang->projectCommon}信息。</li></ul>";
$lang->tutorial->tasks['createProject']['desc'] = "<p>在系統創建一個新的{$lang->projectCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->projectCommon}列表 <i class='icon icon-angle-right'></i> 創建{$lang->projectCommon}</span> 頁面;</li><li data-target='form'>在{$lang->projectCommon}表單中填寫要創建的{$lang->projectCommon}信息;</li><li data-target='submit'>保存{$lang->projectCommon}信息。</li></ul>";
$lang->tutorial->tasks['manageTeam'] = array('title' => "管理{$lang->projectCommon}團隊");
$lang->tutorial->tasks['manageTeam']['mode'] = 'new';
$lang->tutorial->tasks['manageTeam']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="members"],.manage-team-btn', 'target' => '.manage-team-btn', 'form' => '#teamForm', 'requiredFields' => 'accounts1', 'submit' => '#submit', 'targetPageName' => '團隊管理');
$lang->tutorial->tasks['manageTeam']['desc'] = "<p>管理{$lang->projectCommon}團隊成員:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> 設置 <i class='icon icon-angle-right'></i> 團隊 <i class='icon icon-angle-right'></i> 團隊管理</span> 頁面;</li><li data-target='form'>選擇要加入團隊的成員;</li><li data-target='submit'>保存團隊成員信息。</li></ul>";
$lang->tutorial->tasks['manageTeam']['nav'] = array('app' => 'project', 'module' => 'project', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="members"],.manage-team-btn', 'target' => '.manage-team-btn', 'vars' => 'projectID=0', 'form' => '#teamForm', 'requiredFields' => 'accounts1', 'submit' => '#submit', 'targetPageName' => '團隊管理');
$lang->tutorial->tasks['manageTeam']['desc'] = "<p>管理{$lang->projectCommon}團隊成員:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> 設置 <i class='icon icon-angle-right'></i> 團隊 <i class='icon icon-angle-right'></i> 團隊管理</span> 頁面;</li><li data-target='form'>選擇要加入{$lang->projectCommon}團隊的成員;</li><li data-target='submit'>保存團隊成員信息。</li></ul>";
$lang->tutorial->tasks['createProjectExecution'] = array('title' => '添加' . $lang->executionCommon);
$lang->tutorial->tasks['createProjectExecution']['mode'] = 'new';
$lang->tutorial->tasks['createProjectExecution']['nav'] = array('app' => 'project', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#projectTableList>tr:first>.c-name a,#navbar>.nav>li[data-id="execution"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => '添加' . $lang->executionCommon);
$lang->tutorial->tasks['createProjectExecution']['desc'] = "<p>在系統創建一個新的{$lang->executionCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->executionCommon} <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 頁面;</li><li data-target='form'>在{$lang->executionCommon}表單中填寫要創建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
$lang->tutorial->tasks['createExecution'] = array('title' => '創建' . $lang->executionCommon);
$lang->tutorial->tasks['createExecution']['mode'] = 'classic';
$lang->tutorial->tasks['createExecution']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'create', 'menuModule' => 'browse', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],.create-execution-btn', 'form' => '#dataform', 'submit' => '#submit', 'target' => '.create-execution-btn', 'targetPageName' => '添加' . $lang->executionCommon);
$lang->tutorial->tasks['createExecution']['desc'] = "<p>在系統創建一個新的{$lang->executionCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->executionCommon}列表 <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
$lang->tutorial->tasks['createExecution']['desc'] = "<p>在系統創建一個新的{$lang->executionCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->projectCommon} <i class='icon icon-angle-right'></i> {$lang->executionCommon}列表 <i class='icon icon-angle-right'></i> 添加{$lang->executionCommon}</span> 頁面;</li><li data-target='form'>在表單中填寫要創建的{$lang->executionCommon}信息;</li><li data-target='submit'>保存{$lang->executionCommon}信息。</li></ul>";
$lang->tutorial->tasks['manageExecutionTeam'] = array('title' => "管理{$lang->executionCommon}團隊");
$lang->tutorial->tasks['manageExecutionTeam'] = array('title' => "管理團隊");
$lang->tutorial->tasks['manageExecutionTeam']['mode'] = 'classic';
$lang->tutorial->tasks['manageExecutionTeam']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#executionTableList>tr:first>.c-name>a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="team"],.manage-team-btn', 'target' => '.manage-team-btn', 'form' => '#teamForm', 'requiredFields' => 'account1', 'submit' => '#submit', 'targetPageName' => '團隊管理');
$lang->tutorial->tasks['manageExecutionTeam']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'managemembers', 'menuModule' => '', 'menu' => '#navbar>.nav>li[data-id="browse"],#cards>.col>.panel:first .project-name,#executionTableList>tr:first>.c-name>a,#navbar>.nav>li[data-id="settings"],#subNavbar>.nav>li[data-id="team"],.manage-team-btn', 'target' => '.manage-team-btn', 'form' => '#teamForm', 'requiredFields' => 'account1,accounts', 'submit' => '#submit', 'targetPageName' => '團隊管理');
$lang->tutorial->tasks['manageExecutionTeam']['desc'] = "<p>管理{$lang->executionCommon}團隊成員:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> 設置 <i class='icon icon-angle-right'></i> 團隊 <i class='icon icon-angle-right'></i> 團隊管理</span> 頁面;</li><li data-target='form'>選擇要加入團隊的成員;</li><li data-target='submit'>保存團隊成員信息。</li></ul>";
$lang->tutorial->tasks['linkStory'] = array('title' => "關聯{$lang->SRCommon}");
$lang->tutorial->tasks['linkStory']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'linkStory', 'menuModule' => 'story', 'menu' => '', 'target' => '.link-story-btn', 'form' => '#linkStoryForm', 'formType' => 'table', 'submit' => '#submit', 'targetPageName' => "關聯{$lang->SRCommon}");
$lang->tutorial->tasks['linkStory']['desc'] = "<p>將{$lang->SRCommon}關聯到{$lang->executionCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 關聯{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在{$lang->SRCommon}列表中勾選要關聯的{$lang->SRCommon}</li><li data-target='submit'>保存關聯{$lang->SRCommon}信息。</li></ul>";
$lang->tutorial->tasks['linkStory']['mode'] = 'new';
$lang->tutorial->tasks['linkStory']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'linkStory', 'menuModule' => 'story', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],#navbar>.nav>li[data-id="story"],#executionTableList>tr:first>.c-name>a,.link-story-btn', 'target' => '.link-story-btn', 'form' => '#linkStoryForm', 'formType' => 'table', 'submit' => '#submit', 'targetPageName' => "關聯{$lang->SRCommon}");
$lang->tutorial->tasks['linkStory']['desc'] = "<p>將{$lang->SRCommon}關聯到執行:</p><ul><li data-target='nav'>打開 <span class='task-nav'> 執行 <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 關聯{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在{$lang->SRCommon}列表中勾選要關聯的{$lang->SRCommon}</li><li data-target='submit'>保存關聯的{$lang->SRCommon}信息。</li></ul>";
$lang->tutorial->tasks['linkExecutionStory'] = array('title' => "關聯{$lang->SRCommon}");
$lang->tutorial->tasks['linkExecutionStory']['mode'] = 'classic';
$lang->tutorial->tasks['linkExecutionStory']['nav'] = array('app' => 'execution', 'module' => 'execution', 'method' => 'linkStory', 'menuModule' => 'story', 'menu' => '#heading>.header-btn:first,#navbar>.nav>li[data-id="all"],#navbar>.nav>li[data-id="story"],#executionTableList>tr:first>.c-name>a,.link-story-btn', 'target' => '.link-story-btn', 'form' => '#linkStoryForm', 'formType' => 'table', 'submit' => '#submit', 'targetPageName' => "關聯{$lang->SRCommon}");
$lang->tutorial->tasks['linkExecutionStory']['desc'] = "<p>將{$lang->SRCommon}關聯到{$lang->executionCommon}</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 關聯{$lang->SRCommon}</span> 頁面;</li><li data-target='form'>在{$lang->SRCommon}列表中勾選要關聯的{$lang->SRCommon}</li><li data-target='submit'>保存關聯的{$lang->SRCommon}信息。</li></ul>";
$lang->tutorial->tasks['createTask'] = array('title' => '分解任務');
$lang->tutorial->tasks['createTask']['mode'] = 'new';
$lang->tutorial->tasks['createTask']['nav'] = array('app' => 'execution', 'module' => 'task', 'method' => 'create', 'menuModule' => 'story', 'menu' => '', 'target' => '.btn-task-create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => '建任務');
$lang->tutorial->tasks['createTask']['desc'] = "<p>將{$lang->executionCommon}{$lang->SRCommon}分解為任務:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 分解任務</span> 頁面;</li><li data-target='form'>在表單中填寫任務信息;</li><li data-target='submit'>保存任務信息。</li></ul>";
$lang->tutorial->tasks['createTask']['desc'] = "<p>將執行{$lang->SRCommon}分解為任務:</p><ul><li data-target='nav'>打開 <span class='task-nav'> 執行 <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 分解任務</span> 頁面;</li><li data-target='form'>在表單中填寫任務信息;</li><li data-target='submit'>保存任務信息。</li></ul>";
$lang->tutorial->tasks['createExecutionTask'] = array('title' => '分解任務');
$lang->tutorial->tasks['createExecutionTask']['mode'] = 'classic';
$lang->tutorial->tasks['createExecutionTask']['nav'] = array('app' => 'execution', 'module' => 'task', 'method' => 'create', 'menuModule' => 'story', 'menu' => '', 'target' => '.btn-task-create', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => '建任務');
$lang->tutorial->tasks['createExecutionTask']['desc'] = "<p>將{$lang->executionCommon}{$lang->SRCommon}分解為任務:</p><ul><li data-target='nav'>打開 <span class='task-nav'> {$lang->executionCommon} <i class='icon icon-angle-right'></i> {$lang->SRCommon} <i class='icon icon-angle-right'></i> 分解任務</span> 頁面;</li><li data-target='form'>在表單中填寫任務信息;</li><li data-target='submit'>保存任務信息。</li></ul>";
$lang->tutorial->tasks['createBug'] = array('title' => '提Bug');
$lang->tutorial->tasks['createBug']['nav'] = array('app' => 'qa', 'module' => 'bug', 'method' => 'create', 'menuModule' => 'bug', 'menu' => 'bug', 'target' => '.create-bug-btn', 'vars' => 'productID=0', 'form' => '#dataform', 'submit' => '#submit', 'targetPageName' => '提Bug');
+58
View File
@@ -16,6 +16,64 @@ $config->URAndSR = true;
$config->systemScore = true;
/* set module root path and included the resource of group module. */
$lang = new stdclass();
$lang->index = new stdclass();
$lang->my = new stdclass();
$lang->personnel = new stdclass();
$lang->program = new stdclass();
$lang->project = new stdclass();
$lang->projectbuild = new stdclass();
$lang->projectstory = new stdclass();
$lang->projectrelease = new stdclass();
$lang->stakeholder = new stdclass();
$lang->product = new stdclass();
$lang->branch = new stdclass();
$lang->story = new stdclass();
$lang->productplan = new stdclass();
$lang->release = new stdclass();
$lang->execution = new stdclass();
$lang->task = new stdclass();
$lang->build = new stdclass();
$lang->qa = new stdclass();
$lang->bug = new stdclass();
$lang->testcase = new stdclass();
$lang->testtask = new stdclass();
$lang->testreport = new stdclass();
$lang->testsuite = new stdclass();
$lang->caselib = new stdclass();
$lang->automation = new stdclass();
$lang->repo = new stdclass();
$lang->ci = new stdclass();
$lang->compile = new stdclass();
$lang->jenkins = new stdclass();
$lang->job = new stdclass();
$lang->doc = new stdclass();
$lang->mail = new stdclass();
$lang->custom = new stdclass();
$lang->datatable = new stdclass();
$lang->svn = new stdclass();
$lang->gitlab = new stdclass();
$lang->mr = new stdclass();
$lang->git = new stdclass();
$lang->company = new stdclass();
$lang->dept = new stdclass();
$lang->group = new stdclass();
$lang->user = new stdclass();
$lang->tree = new stdclass();
$lang->report = new stdclass();
$lang->search = new stdclass();
$lang->admin = new stdclass();
$lang->extension = new stdclass();
$lang->webhook = new stdclass();
$lang->api = new stdclass();
$lang->file = new stdclass();
$lang->misc = new stdclass();
$lang->message = new stdclass();
$lang->action = new stdclass();
$lang->backup = new stdclass();
$lang->cron = new stdclass();
$lang->dev = new stdclass();
$moduleRoot = '../module/';
include $moduleRoot . '/group/lang/resource.php';
foreach(glob($moduleRoot . '/group/ext/lang/zh-cn/*.php') as $resourceFile) include $resourceFile;