diff --git a/module/action/lang/en.php b/module/action/lang/en.php
index 93ba842862..0262b979aa 100755
--- a/module/action/lang/en.php
+++ b/module/action/lang/en.php
@@ -79,102 +79,104 @@ $lang->action->periods['lastweek'] = $lang->action->dynamic->lastWeek;
$lang->action->periods['thismonth'] = $lang->action->dynamic->thisMonth;
$lang->action->periods['lastmonth'] = $lang->action->dynamic->lastMonth;
-$lang->action->objectTypes['product'] = $lang->productCommon;
-$lang->action->objectTypes['branch'] = 'Branch';
-$lang->action->objectTypes['story'] = $lang->SRCommon;
-$lang->action->objectTypes['design'] = 'Design';
-$lang->action->objectTypes['productplan'] = 'Plan';
-$lang->action->objectTypes['release'] = 'Release';
-$lang->action->objectTypes['program'] = 'Program';
-$lang->action->objectTypes['project'] = 'Project';
-$lang->action->objectTypes['execution'] = $lang->executionCommon;
-$lang->action->objectTypes['task'] = 'Task';
-$lang->action->objectTypes['build'] = 'Build';
-$lang->action->objectTypes['job'] = 'Job';
-$lang->action->objectTypes['bug'] = 'Bug';
-$lang->action->objectTypes['case'] = 'Case';
-$lang->action->objectTypes['caseresult'] = 'Case Result';
-$lang->action->objectTypes['stepresult'] = 'Case Steps';
-$lang->action->objectTypes['caselib'] = 'Library';
-$lang->action->objectTypes['testsuite'] = 'Suite';
-$lang->action->objectTypes['testtask'] = 'Test Build';
-$lang->action->objectTypes['testreport'] = 'Report';
-$lang->action->objectTypes['doc'] = 'Document';
-$lang->action->objectTypes['api'] = 'Interface';
-$lang->action->objectTypes['doclib'] = 'Document Library';
-$lang->action->objectTypes['apistruct'] = 'API struct';
-$lang->action->objectTypes['todo'] = 'Todo';
-$lang->action->objectTypes['risk'] = 'Risk';
-$lang->action->objectTypes['issue'] = 'Issue';
-$lang->action->objectTypes['module'] = 'Module';
-$lang->action->objectTypes['user'] = 'User';
-$lang->action->objectTypes['stakeholder'] = 'Stakeholder';
-$lang->action->objectTypes['budget'] = 'Cost Estimate';
-$lang->action->objectTypes['entry'] = 'Entry';
-$lang->action->objectTypes['webhook'] = 'Webhook';
-$lang->action->objectTypes['team'] = 'Team';
-$lang->action->objectTypes['whitelist'] = 'Whitelist';
-$lang->action->objectTypes['pipeline'] = 'GitLab';
-$lang->action->objectTypes['gitlab'] = 'GitLab';
-$lang->action->objectTypes['jenkins'] = 'Jenkins';
-$lang->action->objectTypes['mr'] = 'Merge Request';
-$lang->action->objectTypes['gitlabproject'] = 'GitLab Project';
-$lang->action->objectTypes['gitlabuser'] = 'GitLab User';
-$lang->action->objectTypes['gitlabgroup'] = 'GitLab Group';
-$lang->action->objectTypes['gitlabbranch'] = 'GitLab Branch';
+$lang->action->objectTypes['product'] = $lang->productCommon;
+$lang->action->objectTypes['branch'] = 'Branch';
+$lang->action->objectTypes['story'] = $lang->SRCommon;
+$lang->action->objectTypes['design'] = 'Design';
+$lang->action->objectTypes['productplan'] = 'Plan';
+$lang->action->objectTypes['release'] = 'Release';
+$lang->action->objectTypes['program'] = 'Program';
+$lang->action->objectTypes['project'] = 'Project';
+$lang->action->objectTypes['execution'] = $lang->executionCommon;
+$lang->action->objectTypes['task'] = 'Task';
+$lang->action->objectTypes['build'] = 'Build';
+$lang->action->objectTypes['job'] = 'Job';
+$lang->action->objectTypes['bug'] = 'Bug';
+$lang->action->objectTypes['case'] = 'Case';
+$lang->action->objectTypes['caseresult'] = 'Case Result';
+$lang->action->objectTypes['stepresult'] = 'Case Steps';
+$lang->action->objectTypes['caselib'] = 'Library';
+$lang->action->objectTypes['testsuite'] = 'Suite';
+$lang->action->objectTypes['testtask'] = 'Test Build';
+$lang->action->objectTypes['testreport'] = 'Report';
+$lang->action->objectTypes['doc'] = 'Document';
+$lang->action->objectTypes['api'] = 'Interface';
+$lang->action->objectTypes['doclib'] = 'Document Library';
+$lang->action->objectTypes['apistruct'] = 'API struct';
+$lang->action->objectTypes['todo'] = 'Todo';
+$lang->action->objectTypes['risk'] = 'Risk';
+$lang->action->objectTypes['issue'] = 'Issue';
+$lang->action->objectTypes['module'] = 'Module';
+$lang->action->objectTypes['user'] = 'User';
+$lang->action->objectTypes['stakeholder'] = 'Stakeholder';
+$lang->action->objectTypes['budget'] = 'Cost Estimate';
+$lang->action->objectTypes['entry'] = 'Entry';
+$lang->action->objectTypes['webhook'] = 'Webhook';
+$lang->action->objectTypes['team'] = 'Team';
+$lang->action->objectTypes['whitelist'] = 'Whitelist';
+$lang->action->objectTypes['pipeline'] = 'GitLab';
+$lang->action->objectTypes['gitlab'] = 'GitLab';
+$lang->action->objectTypes['jenkins'] = 'Jenkins';
+$lang->action->objectTypes['mr'] = 'Merge Request';
+$lang->action->objectTypes['gitlabproject'] = 'GitLab Project';
+$lang->action->objectTypes['gitlabuser'] = 'GitLab User';
+$lang->action->objectTypes['gitlabgroup'] = 'GitLab Group';
+$lang->action->objectTypes['gitlabbranch'] = 'GitLab Branch';
+$lang->action->objectTypes['gitlabbranchpriv'] = 'GitLab Protected Branches';
/* Used to describe operation history. */
$lang->action->desc = new stdclass();
-$lang->action->desc->common = '$date, $action by $actor.' . "\n";
-$lang->action->desc->extra = '$date, $action as $extra by $actor.' . "\n";
-$lang->action->desc->opened = '$date, created by $actor .' . "\n";
-$lang->action->desc->openedbysystem = '$date, opened by system.' . "\n";
-$lang->action->desc->created = '$date, created by $actor .' . "\n";
-$lang->action->desc->added = '$date, added by $actor .' . "\n";
-$lang->action->desc->changed = '$date, changed by $actor .' . "\n";
-$lang->action->desc->edited = '$date, edited by $actor .' . "\n";
-$lang->action->desc->assigned = '$date, $actor assigned to $extra.' . "\n";
-$lang->action->desc->closed = '$date, closed by $actor .' . "\n";
-$lang->action->desc->closedbysystem = '$date, closed by system.' . "\n";
-$lang->action->desc->deleted = '$date, deleted by $actor .' . "\n";
-$lang->action->desc->deletedfile = '$date, $actor deleted $extra.' . "\n";
-$lang->action->desc->editfile = '$date, $actor edited $extra.' . "\n";
-$lang->action->desc->erased = '$date, deleted by $actor .' . "\n";
-$lang->action->desc->undeleted = '$date, restored by $actor .' . "\n";
-$lang->action->desc->hidden = '$date, hidden by $actor .' . "\n";
-$lang->action->desc->commented = '$date, added by $actor.' . "\n";
-$lang->action->desc->activated = '$date, activated by $actor .' . "\n";
-$lang->action->desc->blocked = '$date, blocked by $actor .' . "\n";
-$lang->action->desc->moved = '$date, moved by $actor , which was "$extra".' . "\n";
-$lang->action->desc->confirmed = '$date, $actor confirmed the story change. The latest build is #$extra.' . "\n";
-$lang->action->desc->caseconfirmed = '$date, $actor confirmed the case change. The latest build is #$extra' . "\n";
-$lang->action->desc->bugconfirmed = '$date, $actor confirmed Bug.' . "\n";
-$lang->action->desc->frombug = '$date, converted from $actor. Its ID was $extra.';
-$lang->action->desc->started = '$date, started by $actor.' . "\n";
-$lang->action->desc->restarted = '$date, continued by $actor.' . "\n";
-$lang->action->desc->delayed = '$date, postponed by $actor.' . "\n";
-$lang->action->desc->suspended = '$date, suspended by $actor.' . "\n";
-$lang->action->desc->recordestimate = '$date, recorded by $actor and it cost $extra hours.';
-$lang->action->desc->editestimate = '$date, $actor edited Hour.';
-$lang->action->desc->deleteestimate = '$date, $actor deleted Hour.';
-$lang->action->desc->canceled = '$date, cancelled by $actor.' . "\n";
-$lang->action->desc->svncommited = '$date, $actor committed and the build is #$extra.' . "\n";
-$lang->action->desc->gitcommited = '$date, $actor committed and the build is #$extra.' . "\n";
-$lang->action->desc->finished = '$date, finished by $actor.' . "\n";
-$lang->action->desc->paused = '$date, paused by $actor.' . "\n";
-$lang->action->desc->verified = '$date, verified by $actor.' . "\n";
-$lang->action->desc->diff1 = '%s is changed. It was "%s" and it is "%s".
' . "\n";
-$lang->action->desc->diff2 = '%s is changed. The difference is ' . "\n" . "
%s" . "\n
%s"; -$lang->action->desc->diff3 = 'File Name %s was changed to %s .' . "\n"; -$lang->action->desc->linked2bug = '$date, linked to $extra by $actor'; -$lang->action->desc->linked2testtask = '$date, linked to $extra by $actor'; -$lang->action->desc->resolved = '$date, resolved by $actor ' . "\n"; -$lang->action->desc->managed = '$date, by $actor managed.' . "\n"; -$lang->action->desc->estimated = '$date, by $actor estimated.' . "\n"; -$lang->action->desc->run = '$date, by $actor executed.' . "\n"; -$lang->action->desc->syncprogram = '$date, started by $actor(starting the project sets the program status as Ongoing).' . "\n"; -$lang->action->desc->syncproject = '$date, starting the execution sets the project status as Ongoing.' . "\n"; -$lang->action->desc->syncexecution = '$date, starting the task sets the execution status as Ongoing.' . "\n"; +$lang->action->desc->common = '$date, $action by $actor.' . "\n"; +$lang->action->desc->extra = '$date, $action as $extra by $actor.' . "\n"; +$lang->action->desc->opened = '$date, created by $actor .' . "\n"; +$lang->action->desc->openedbysystem = '$date, opened by system.' . "\n"; +$lang->action->desc->created = '$date, created by $actor .' . "\n"; +$lang->action->desc->added = '$date, added by $actor .' . "\n"; +$lang->action->desc->changed = '$date, changed by $actor .' . "\n"; +$lang->action->desc->edited = '$date, edited by $actor .' . "\n"; +$lang->action->desc->assigned = '$date, $actor assigned to $extra.' . "\n"; +$lang->action->desc->closed = '$date, closed by $actor .' . "\n"; +$lang->action->desc->closedbysystem = '$date, closed by system.' . "\n"; +$lang->action->desc->deleted = '$date, deleted by $actor .' . "\n"; +$lang->action->desc->deletedfile = '$date, $actor deleted $extra.' . "\n"; +$lang->action->desc->editfile = '$date, $actor edited $extra.' . "\n"; +$lang->action->desc->erased = '$date, deleted by $actor .' . "\n"; +$lang->action->desc->undeleted = '$date, restored by $actor .' . "\n"; +$lang->action->desc->hidden = '$date, hidden by $actor .' . "\n"; +$lang->action->desc->commented = '$date, added by $actor.' . "\n"; +$lang->action->desc->activated = '$date, activated by $actor .' . "\n"; +$lang->action->desc->blocked = '$date, blocked by $actor .' . "\n"; +$lang->action->desc->moved = '$date, moved by $actor , which was "$extra".' . "\n"; +$lang->action->desc->confirmed = '$date, $actor confirmed the story change. The latest build is #$extra.' . "\n"; +$lang->action->desc->caseconfirmed = '$date, $actor confirmed the case change. The latest build is #$extra' . "\n"; +$lang->action->desc->bugconfirmed = '$date, $actor confirmed Bug.' . "\n"; +$lang->action->desc->frombug = '$date, converted from $actor. Its ID was $extra.'; +$lang->action->desc->started = '$date, started by $actor.' . "\n"; +$lang->action->desc->restarted = '$date, continued by $actor.' . "\n"; +$lang->action->desc->delayed = '$date, postponed by $actor.' . "\n"; +$lang->action->desc->suspended = '$date, suspended by $actor.' . "\n"; +$lang->action->desc->recordestimate = '$date, recorded by $actor and it cost $extra hours.'; +$lang->action->desc->editestimate = '$date, $actor edited Hour.'; +$lang->action->desc->deleteestimate = '$date, $actor deleted Hour.'; +$lang->action->desc->canceled = '$date, cancelled by $actor.' . "\n"; +$lang->action->desc->svncommited = '$date, $actor committed and the build is #$extra.' . "\n"; +$lang->action->desc->gitcommited = '$date, $actor committed and the build is #$extra.' . "\n"; +$lang->action->desc->finished = '$date, finished by $actor.' . "\n"; +$lang->action->desc->paused = '$date, paused by $actor.' . "\n"; +$lang->action->desc->verified = '$date, verified by $actor.' . "\n"; +$lang->action->desc->diff1 = '%s is changed. It was "%s" and it is "%s".
%s" . "\n
%s"; +$lang->action->desc->diff3 = 'File Name %s was changed to %s .' . "\n"; +$lang->action->desc->linked2bug = '$date, linked to $extra by $actor'; +$lang->action->desc->linked2testtask = '$date, linked to $extra by $actor'; +$lang->action->desc->resolved = '$date, resolved by $actor ' . "\n"; +$lang->action->desc->managed = '$date, by $actor managed.' . "\n"; +$lang->action->desc->estimated = '$date, by $actor estimated.' . "\n"; +$lang->action->desc->run = '$date, by $actor executed.' . "\n"; +$lang->action->desc->syncprogram = '$date, started by $actor(starting the project sets the program status as Ongoing).' . "\n"; +$lang->action->desc->syncproject = '$date, starting the execution sets the project status as Ongoing.' . "\n"; +$lang->action->desc->syncexecution = '$date, starting the task sets the execution status as Ongoing.' . "\n"; +$lang->action->desc->importfromgitlab = '$date, Issue associate created from gitlab by $actor.' . "\n"; /* Used to describe the history of operations related to parent-child tasks. */ $lang->action->desc->createchildren = '$date, $actor created a child task $extra。' . "\n"; @@ -304,6 +306,7 @@ $lang->action->label->compilefail = 'Compile Fail'; $lang->action->label->reopen = 'Reopen'; $lang->action->label->approve = 'Passed'; $lang->action->label->reject = 'Rejected'; +$lang->action->label->importfromgitlab = 'Issue associate created'; /* Dynamic information is grouped by object. */ $lang->action->dynamicAction = new stdclass; @@ -615,6 +618,7 @@ $lang->action->search->label['canceled'] = $lang->action->label->ca $lang->action->search->label['finished'] = $lang->action->label->finished; $lang->action->search->label['paused'] = $lang->action->label->paused; $lang->action->search->label['verified'] = $lang->action->label->verified; +$lang->action->search->label['importfromgitlab'] = $lang->action->label->importfromgitlab; $lang->action->search->label['login'] = $lang->action->label->login; $lang->action->search->label['logout'] = $lang->action->label->logout; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 48f20af743..40bc7d20d8 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -79,102 +79,104 @@ $lang->action->periods['lastweek'] = $lang->action->dynamic->lastWeek; $lang->action->periods['thismonth'] = $lang->action->dynamic->thisMonth; $lang->action->periods['lastmonth'] = $lang->action->dynamic->lastMonth; -$lang->action->objectTypes['product'] = $lang->productCommon; -$lang->action->objectTypes['branch'] = '分支'; -$lang->action->objectTypes['story'] = $lang->SRCommon; -$lang->action->objectTypes['design'] = '设计'; -$lang->action->objectTypes['productplan'] = '计划'; -$lang->action->objectTypes['release'] = '发布'; -$lang->action->objectTypes['program'] = '项目集'; -$lang->action->objectTypes['project'] = '项目'; -$lang->action->objectTypes['execution'] = $config->systemMode == 'new' ? '执行' : $lang->executionCommon; -$lang->action->objectTypes['task'] = '任务'; -$lang->action->objectTypes['build'] = '版本'; -$lang->action->objectTypes['job'] = '构建'; -$lang->action->objectTypes['bug'] = 'Bug'; -$lang->action->objectTypes['case'] = '用例'; -$lang->action->objectTypes['caseresult'] = '用例结果'; -$lang->action->objectTypes['stepresult'] = '用例步骤'; -$lang->action->objectTypes['caselib'] = '用例库'; -$lang->action->objectTypes['testsuite'] = '套件'; -$lang->action->objectTypes['testtask'] = '测试单'; -$lang->action->objectTypes['testreport'] = '报告'; -$lang->action->objectTypes['doc'] = '文档'; -$lang->action->objectTypes['api'] = '接口'; -$lang->action->objectTypes['doclib'] = '文档库'; -$lang->action->objectTypes['apistruct'] = '数据结构'; -$lang->action->objectTypes['todo'] = '待办'; -$lang->action->objectTypes['risk'] = '风险'; -$lang->action->objectTypes['issue'] = '问题'; -$lang->action->objectTypes['module'] = '模块'; -$lang->action->objectTypes['user'] = '用户'; -$lang->action->objectTypes['stakeholder'] = '干系人'; -$lang->action->objectTypes['budget'] = '费用估算'; -$lang->action->objectTypes['entry'] = '应用'; -$lang->action->objectTypes['webhook'] = 'Webhook'; -$lang->action->objectTypes['team'] = '团队'; -$lang->action->objectTypes['whitelist'] = '白名单'; -$lang->action->objectTypes['pipeline'] = 'GitLab'; -$lang->action->objectTypes['gitlab'] = 'GitLab'; -$lang->action->objectTypes['jenkins'] = 'Jenkins'; -$lang->action->objectTypes['mr'] = '合并请求'; -$lang->action->objectTypes['gitlabproject'] = 'GitLab项目'; -$lang->action->objectTypes['gitlabuser'] = 'GitLab用户'; -$lang->action->objectTypes['gitlabgroup'] = 'GitLab群组'; -$lang->action->objectTypes['gitlabbranch'] = 'GitLab分支'; +$lang->action->objectTypes['product'] = $lang->productCommon; +$lang->action->objectTypes['branch'] = '分支'; +$lang->action->objectTypes['story'] = $lang->SRCommon; +$lang->action->objectTypes['design'] = '设计'; +$lang->action->objectTypes['productplan'] = '计划'; +$lang->action->objectTypes['release'] = '发布'; +$lang->action->objectTypes['program'] = '项目集'; +$lang->action->objectTypes['project'] = '项目'; +$lang->action->objectTypes['execution'] = $config->systemMode == 'new' ? '执行' : $lang->executionCommon; +$lang->action->objectTypes['task'] = '任务'; +$lang->action->objectTypes['build'] = '版本'; +$lang->action->objectTypes['job'] = '构建'; +$lang->action->objectTypes['bug'] = 'Bug'; +$lang->action->objectTypes['case'] = '用例'; +$lang->action->objectTypes['caseresult'] = '用例结果'; +$lang->action->objectTypes['stepresult'] = '用例步骤'; +$lang->action->objectTypes['caselib'] = '用例库'; +$lang->action->objectTypes['testsuite'] = '套件'; +$lang->action->objectTypes['testtask'] = '测试单'; +$lang->action->objectTypes['testreport'] = '报告'; +$lang->action->objectTypes['doc'] = '文档'; +$lang->action->objectTypes['api'] = '接口'; +$lang->action->objectTypes['doclib'] = '文档库'; +$lang->action->objectTypes['apistruct'] = '数据结构'; +$lang->action->objectTypes['todo'] = '待办'; +$lang->action->objectTypes['risk'] = '风险'; +$lang->action->objectTypes['issue'] = '问题'; +$lang->action->objectTypes['module'] = '模块'; +$lang->action->objectTypes['user'] = '用户'; +$lang->action->objectTypes['stakeholder'] = '干系人'; +$lang->action->objectTypes['budget'] = '费用估算'; +$lang->action->objectTypes['entry'] = '应用'; +$lang->action->objectTypes['webhook'] = 'Webhook'; +$lang->action->objectTypes['team'] = '团队'; +$lang->action->objectTypes['whitelist'] = '白名单'; +$lang->action->objectTypes['pipeline'] = 'GitLab'; +$lang->action->objectTypes['gitlab'] = 'GitLab'; +$lang->action->objectTypes['jenkins'] = 'Jenkins'; +$lang->action->objectTypes['mr'] = '合并请求'; +$lang->action->objectTypes['gitlabproject'] = 'GitLab项目'; +$lang->action->objectTypes['gitlabuser'] = 'GitLab用户'; +$lang->action->objectTypes['gitlabgroup'] = 'GitLab群组'; +$lang->action->objectTypes['gitlabbranch'] = 'GitLab分支'; +$lang->action->objectTypes['gitlabbranchpriv'] = 'GitLab保护分支'; /* 用来描述操作历史记录。*/ $lang->action->desc = new stdclass(); -$lang->action->desc->common = '$date, $action by $actor。' . "\n"; -$lang->action->desc->extra = '$date, $action as $extra by $actor。' . "\n"; -$lang->action->desc->opened = '$date, 由 $actor 创建。' . "\n"; -$lang->action->desc->openedbysystem = '$date, 由系统创建。' . "\n"; -$lang->action->desc->created = '$date, 由 $actor 创建。' . "\n"; -$lang->action->desc->added = '$date, 由 $actor 添加。' . "\n"; -$lang->action->desc->changed = '$date, 由 $actor 变更。' . "\n"; -$lang->action->desc->edited = '$date, 由 $actor 编辑。' . "\n"; -$lang->action->desc->assigned = '$date, 由 $actor 指派给 $extra。' . "\n"; -$lang->action->desc->closed = '$date, 由 $actor 关闭。' . "\n"; -$lang->action->desc->closedbysystem = '$date, 由系统关闭。' . "\n"; -$lang->action->desc->deleted = '$date, 由 $actor 删除。' . "\n"; -$lang->action->desc->deletedfile = '$date, 由 $actor 删除了附件:$extra。' . "\n"; -$lang->action->desc->editfile = '$date, 由 $actor 编辑了附件:$extra。' . "\n"; -$lang->action->desc->erased = '$date, 由 $actor 删除。' . "\n"; -$lang->action->desc->undeleted = '$date, 由 $actor 还原。' . "\n"; -$lang->action->desc->hidden = '$date, 由 $actor 隐藏。' . "\n"; -$lang->action->desc->commented = '$date, 由 $actor 添加备注。' . "\n"; -$lang->action->desc->activated = '$date, 由 $actor 激活。' . "\n"; -$lang->action->desc->blocked = '$date, 由 $actor 阻塞。' . "\n"; -$lang->action->desc->moved = '$date, 由 $actor 移动,之前为 "$extra"。' . "\n"; -$lang->action->desc->confirmed = '$date, 由 $actor 确认' . $lang->SRCommon . '变动,最新版本为#$extra。' . "\n"; -$lang->action->desc->caseconfirmed = '$date, 由 $actor 确认用例变动,最新版本为#$extra。' . "\n"; -$lang->action->desc->bugconfirmed = '$date, 由 $actor 确认Bug。' . "\n"; -$lang->action->desc->frombug = '$date, 由 $actor Bug转化而来,Bug编号为 $extra。'; -$lang->action->desc->started = '$date, 由 $actor 启动。' . "\n"; -$lang->action->desc->restarted = '$date, 由 $actor 继续。' . "\n"; -$lang->action->desc->delayed = '$date, 由 $actor 延期。' . "\n"; -$lang->action->desc->suspended = '$date, 由 $actor 挂起。' . "\n"; -$lang->action->desc->recordestimate = '$date, 由 $actor 记录工时,消耗 $extra 小时。'; -$lang->action->desc->editestimate = '$date, 由 $actor 编辑工时。'; -$lang->action->desc->deleteestimate = '$date, 由 $actor 删除工时。'; -$lang->action->desc->canceled = '$date, 由 $actor 取消。' . "\n"; -$lang->action->desc->svncommited = '$date, 由 $actor 提交代码,版本为#$extra。' . "\n"; -$lang->action->desc->gitcommited = '$date, 由 $actor 提交代码,版本为#$extra。' . "\n"; -$lang->action->desc->finished = '$date, 由 $actor 完成。' . "\n"; -$lang->action->desc->paused = '$date, 由 $actor 暂停。' . "\n"; -$lang->action->desc->verified = '$date, 由 $actor 验收。' . "\n"; -$lang->action->desc->diff1 = '修改了 %s,旧值为 "%s",新值为 "%s"。
%s" . "\n
%s"; -$lang->action->desc->diff3 = '将文件名 %s 改为 %s 。' . "\n"; -$lang->action->desc->linked2bug = '$date 由 $actor 关联到版本 $extra'; -$lang->action->desc->linked2testtask = '$date 由 $actor 关联到测试单 $extra'; -$lang->action->desc->resolved = '$date, 由 $actor 解决。' . "\n"; -$lang->action->desc->managed = '$date, 由 $actor 维护。' . "\n"; -$lang->action->desc->estimated = '$date, 由 $actor 估算。' . "\n"; -$lang->action->desc->run = '$date, 由 $actor 执行。' . "\n"; -$lang->action->desc->syncprogram = '$date, 由 $actor 启动(因项目开始而启动项目集)。' . "\n"; -$lang->action->desc->syncproject = '$date, 系统判断由于执行开始,将项目状态置为进行中。' . "\n"; -$lang->action->desc->syncexecution = '$date, 系统判断由于任务开始,将执行状态置为进行中。' . "\n"; +$lang->action->desc->common = '$date, $action by $actor。' . "\n"; +$lang->action->desc->extra = '$date, $action as $extra by $actor。' . "\n"; +$lang->action->desc->opened = '$date, 由 $actor 创建。' . "\n"; +$lang->action->desc->openedbysystem = '$date, 由系统创建。' . "\n"; +$lang->action->desc->created = '$date, 由 $actor 创建。' . "\n"; +$lang->action->desc->added = '$date, 由 $actor 添加。' . "\n"; +$lang->action->desc->changed = '$date, 由 $actor 变更。' . "\n"; +$lang->action->desc->edited = '$date, 由 $actor 编辑。' . "\n"; +$lang->action->desc->assigned = '$date, 由 $actor 指派给 $extra。' . "\n"; +$lang->action->desc->closed = '$date, 由 $actor 关闭。' . "\n"; +$lang->action->desc->closedbysystem = '$date, 由系统关闭。' . "\n"; +$lang->action->desc->deleted = '$date, 由 $actor 删除。' . "\n"; +$lang->action->desc->deletedfile = '$date, 由 $actor 删除了附件:$extra。' . "\n"; +$lang->action->desc->editfile = '$date, 由 $actor 编辑了附件:$extra。' . "\n"; +$lang->action->desc->erased = '$date, 由 $actor 删除。' . "\n"; +$lang->action->desc->undeleted = '$date, 由 $actor 还原。' . "\n"; +$lang->action->desc->hidden = '$date, 由 $actor 隐藏。' . "\n"; +$lang->action->desc->commented = '$date, 由 $actor 添加备注。' . "\n"; +$lang->action->desc->activated = '$date, 由 $actor 激活。' . "\n"; +$lang->action->desc->blocked = '$date, 由 $actor 阻塞。' . "\n"; +$lang->action->desc->moved = '$date, 由 $actor 移动,之前为 "$extra"。' . "\n"; +$lang->action->desc->confirmed = '$date, 由 $actor 确认' . $lang->SRCommon . '变动,最新版本为#$extra。' . "\n"; +$lang->action->desc->caseconfirmed = '$date, 由 $actor 确认用例变动,最新版本为#$extra。' . "\n"; +$lang->action->desc->bugconfirmed = '$date, 由 $actor 确认Bug。' . "\n"; +$lang->action->desc->frombug = '$date, 由 $actor Bug转化而来,Bug编号为 $extra。'; +$lang->action->desc->started = '$date, 由 $actor 启动。' . "\n"; +$lang->action->desc->restarted = '$date, 由 $actor 继续。' . "\n"; +$lang->action->desc->delayed = '$date, 由 $actor 延期。' . "\n"; +$lang->action->desc->suspended = '$date, 由 $actor 挂起。' . "\n"; +$lang->action->desc->recordestimate = '$date, 由 $actor 记录工时,消耗 $extra 小时。'; +$lang->action->desc->editestimate = '$date, 由 $actor 编辑工时。'; +$lang->action->desc->deleteestimate = '$date, 由 $actor 删除工时。'; +$lang->action->desc->canceled = '$date, 由 $actor 取消。' . "\n"; +$lang->action->desc->svncommited = '$date, 由 $actor 提交代码,版本为#$extra。' . "\n"; +$lang->action->desc->gitcommited = '$date, 由 $actor 提交代码,版本为#$extra。' . "\n"; +$lang->action->desc->finished = '$date, 由 $actor 完成。' . "\n"; +$lang->action->desc->paused = '$date, 由 $actor 暂停。' . "\n"; +$lang->action->desc->verified = '$date, 由 $actor 验收。' . "\n"; +$lang->action->desc->diff1 = '修改了 %s,旧值为 "%s",新值为 "%s"。
%s" . "\n
%s"; +$lang->action->desc->diff3 = '将文件名 %s 改为 %s 。' . "\n"; +$lang->action->desc->linked2bug = '$date 由 $actor 关联到版本 $extra'; +$lang->action->desc->linked2testtask = '$date 由 $actor 关联到测试单 $extra'; +$lang->action->desc->resolved = '$date, 由 $actor 解决。' . "\n"; +$lang->action->desc->managed = '$date, 由 $actor 维护。' . "\n"; +$lang->action->desc->estimated = '$date, 由 $actor 估算。' . "\n"; +$lang->action->desc->run = '$date, 由 $actor 执行。' . "\n"; +$lang->action->desc->syncprogram = '$date, 由 $actor 启动(因项目开始而启动项目集)。' . "\n"; +$lang->action->desc->syncproject = '$date, 系统判断由于执行开始,将项目状态置为进行中。' . "\n"; +$lang->action->desc->syncexecution = '$date, 系统判断由于任务开始,将执行状态置为进行中。' . "\n"; +$lang->action->desc->importfromgitlab = '$date, 由 $actor 从Gitlab的Issue关联创建。' . "\n"; /* 用来描述和父子任务相关的操作历史记录。*/ $lang->action->desc->createchildren = '$date, 由 $actor 创建子任务 $extra。' . "\n"; @@ -304,6 +306,7 @@ $lang->action->label->compilefail = '构建失败'; $lang->action->label->reopen = '重新打开'; $lang->action->label->approve = '通过了'; $lang->action->label->reject = '拒绝了'; +$lang->action->label->importfromgitlab = '从Gitlab关联创建了'; /* 动态信息按照对象分组 */ $lang->action->dynamicAction = new stdclass(); @@ -615,6 +618,7 @@ $lang->action->search->label['canceled'] = $lang->action->label->ca $lang->action->search->label['finished'] = $lang->action->label->finished; $lang->action->search->label['paused'] = $lang->action->label->paused; $lang->action->search->label['verified'] = $lang->action->label->verified; +$lang->action->search->label['importfromgitlab'] = $lang->action->label->importfromgitlab; $lang->action->search->label['login'] = $lang->action->label->login; $lang->action->search->label['logout'] = $lang->action->label->logout; diff --git a/module/gitlab/control.php b/module/gitlab/control.php index 5206321ea7..d6e34fc2c2 100644 --- a/module/gitlab/control.php +++ b/module/gitlab/control.php @@ -948,7 +948,6 @@ class gitlab extends control if($gitlab) $user = $this->gitlab->apiGetCurrentUser($gitlab->url, $gitlab->token); if(empty($user->is_admin)) die(js::alert($this->lang->gitlab->tokenLimit) . js::locate($this->createLink('gitlab', 'edit', array('gitlabID' => $gitlabID)))); - if($_POST) { $executionList = $this->post->executionList; @@ -958,38 +957,40 @@ class gitlab extends control $failedIssues = array(); foreach($executionList as $issueID => $executionID) { - if($executionID) + if(empty($executionID) and $productList[$issueID] != 0) return $this->send(array('result' => 'fail', 'message' => $this->lang->gitlab->importIssueError, 'locate' => $this->server->http_referer)); + } + + foreach($executionList as $issueID => $executionID) + { + if(empty($executionID)) continue; + + $objectType = $objectTypeList[$issueID]; + + $issue = $this->gitlab->apiGetSingleIssue($gitlabID, $projectID, $issueID); + $issue->objectType = $objectType; + $issue->objectID = 0; // Meet the required parameters for issueToZentaoObject. + if(isset($issue->assignee)) $issue->assignee_id = $issue->assignee->id; + $issue->updated_by_id = $issue->author->id; // Here can be replaced by current zentao user. + + $object = $this->gitlab->issueToZentaoObject($issue, $gitlabID); + $object->product = $productList[$issueID]; + $object->execution = $executionID; + $clonedObject = clone $object; + + if($objectType == 'task') $objectID = $this->loadModel('task')->createTaskFromGitlabIssue($clonedObject, $executionID); + if($objectType == 'bug') $objectID = $this->loadModel('bug')->createBugFromGitlabIssue($clonedObject, $executionID); + if($objectType == 'story') $objectID = $this->loadModel('story')->createStoryFromGitlabIssue($clonedObject, $executionID); + + if($objectID) { - $objectType = $objectTypeList[$issueID]; + $this->loadModel('action')->create($objectType, $objectID, 'ImportFromGitlab', '', $issueID); - $issue = $this->gitlab->apiGetSingleIssue($gitlabID, $projectID, $issueID); - $issue->objectType = $objectType; - $issue->objectID = 0; // Meet the required parameters for issueToZentaoObject. - if(isset($issue->assignee)) $issue->assignee_id = $issue->assignee->id; - $issue->updated_by_id = $issue->author->id; // Here can be replaced by current zentao user. - - $object = $this->gitlab->issueToZentaoObject($issue, $gitlabID); - $object->product = $productList[$issueID]; - $object->execution = $executionID; - $clonedObject = clone $object; - - if($objectType == 'task') $objectID = $this->loadModel('task')->createTaskFromGitlabIssue($clonedObject, $executionID); - if($objectType == 'bug') $objectID = $this->loadModel('bug')->createBugFromGitlabIssue($clonedObject, $executionID); - if($objectType == 'story') $objectID = $this->loadModel('story')->createStoryFromGitlabIssue($clonedObject, $executionID); - - if($objectID) - { - $object->id = $objectID; - $this->gitlab->saveImportedIssue($gitlabID, $projectID, $objectType, $objectID, $issue, $object); - } - else - { - $failedIssues[] = $issue->iid; - } + $object->id = $objectID; + $this->gitlab->saveImportedIssue($gitlabID, $projectID, $objectType, $objectID, $issue, $object); } else { - if($productList[$issueID] != 0) return $this->send(array('result' => 'fail', 'message' => $this->lang->gitlab->importIssueError, 'locate' => $this->server->http_referer)); + $failedIssues[] = $issue->iid; } } diff --git a/module/gitlab/js/managegroupmembers.js b/module/gitlab/js/managegroupmembers.js index f67e13d81e..c67e34038e 100644 --- a/module/gitlab/js/managegroupmembers.js +++ b/module/gitlab/js/managegroupmembers.js @@ -44,3 +44,18 @@ function deleteItem(obj) if($('#teamForm .table-form tbody').children().length < 2) return false; $(obj).closest('tr').remove(); } + +$(document).on('change', '[id^="levels"]', function() +{ + $next = $(this).closest('td').next() + if($(this).val() == '50') + { + $next.prepend(''); + $next.find('[id^="expires"]').addClass('hidden'); + } + else + { + $next.find('[id^="expires"]').removeClass('hidden'); + $next.find('input.disabled').remove(); + } +}) diff --git a/module/gitlab/view/createproject.html.php b/module/gitlab/view/createproject.html.php index 34641ae86b..a2766dbe0b 100644 --- a/module/gitlab/view/createproject.html.php +++ b/module/gitlab/view/createproject.html.php @@ -20,9 +20,9 @@