diff --git a/db/update16.0.beta1.sql b/db/update16.0.beta1.sql
new file mode 100644
index 0000000000..6634ac2b81
--- /dev/null
+++ b/db/update16.0.beta1.sql
@@ -0,0 +1,7 @@
+ALTER TABLE `zt_task` ADD `repo` mediumint unsigned NOT NULL AFTER `activatedDate`;
+ALTER TABLE `zt_task` ADD `entry` varchar(255) NOT NULL AFTER `repo`;
+ALTER TABLE `zt_task` ADD `lines` varchar(10) NOT NULL AFTER `entry`;
+ALTER TABLE `zt_task` ADD `v1` varchar(40) NOT NULL AFTER `lines`;
+ALTER TABLE `zt_task` ADD `v2` varchar(40) NOT NULL AFTER `v1`;
+ALTER TABLE `zt_task` ADD `mr` mediumint(8) unsigned NOT NULL AFTER `repo`;
+ALTER TABLE `zt_bug` ADD `mr` mediumint(8) unsigned NOT NULL AFTER `repo`;
diff --git a/db/zentao.sql b/db/zentao.sql
index d05177fe58..4ecc3b3137 100644
--- a/db/zentao.sql
+++ b/db/zentao.sql
@@ -203,6 +203,7 @@ CREATE TABLE IF NOT EXISTS `zt_bug` (
`caseVersion` smallint(6) NOT NULL DEFAULT '1',
`result` mediumint(8) unsigned NOT NULL,
`repo` mediumint(8) unsigned NOT NULL,
+ `mr` mediumint(8) unsigned NOT NULL,
`entry` varchar(255) NOT NULL,
`lines` varchar(10) NOT NULL,
`v1` varchar(40) NOT NULL,
@@ -1250,6 +1251,12 @@ CREATE TABLE IF NOT EXISTS `zt_task` (
`lastEditedBy` varchar(30) NOT NULL,
`lastEditedDate` datetime NOT NULL,
`activatedDate` date NOT NULL,
+ `repo` mediumint(8) unsigned NOT NULL,
+ `mr` mediumint(8) unsigned NOT NULL,
+ `entry` varchar(255) NOT NULL,
+ `lines` varchar(10) NOT NULL,
+ `v1` varchar(40) NOT NULL,
+ `v2` varchar(40) NOT NULL,
`deleted` enum('0','1') NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `execution` (`execution`),
diff --git a/module/action/lang/en.php b/module/action/lang/en.php
index 93ba842862..f0923f5bb5 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; @@ -354,6 +357,7 @@ $lang->action->dynamicAction->release['notified'] = 'Notify Release'; $lang->action->dynamicAction->release['hidden'] = 'Hide Release'; $lang->action->dynamicAction->story['opened'] = 'Create Story'; +$lang->action->dynamicAction->story['importfromgitlab'] = "Issue associate create story"; $lang->action->dynamicAction->story['edited'] = 'Edit Story'; $lang->action->dynamicAction->story['activated'] = 'Activate Story'; $lang->action->dynamicAction->story['reviewed'] = 'Review Story'; @@ -394,6 +398,7 @@ $lang->action->dynamicAction->kanbanlane['moved'] = 'Move Swimlane'; $lang->action->dynamicAction->team['managedTeam'] = 'Manage Team'; $lang->action->dynamicAction->task['opened'] = 'Create Task'; +$lang->action->dynamicAction->task['importfromgitlab'] = "Issue associate create task"; $lang->action->dynamicAction->task['edited'] = 'Edit Task'; $lang->action->dynamicAction->task['commented'] = 'Task Comment'; $lang->action->dynamicAction->task['assigned'] = 'Assign Task'; @@ -427,6 +432,7 @@ $lang->action->dynamicAction->build['edited'] = 'Edit Build'; $lang->action->dynamicAction->build['deleted'] = 'Delete Build'; $lang->action->dynamicAction->bug['opened'] = 'Report Bug'; +$lang->action->dynamicAction->bug['importfromgitlab'] = "Issue associate create bug"; $lang->action->dynamicAction->bug['edited'] = 'Edit Bug'; $lang->action->dynamicAction->bug['activated'] = 'Activate Bug'; $lang->action->dynamicAction->bug['assigned'] = 'Assign Bug'; @@ -615,6 +621,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..58fc5a8433 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(); @@ -354,6 +357,7 @@ $lang->action->dynamicAction->release['notified'] = '通知发布'; $lang->action->dynamicAction->release['hidden'] = '隐藏发布'; $lang->action->dynamicAction->story['opened'] = "创建{$lang->SRCommon}"; +$lang->action->dynamicAction->story['importfromgitlab'] = "从Gitlab关联创建{$lang->SRCommon}"; $lang->action->dynamicAction->story['edited'] = "编辑{$lang->SRCommon}"; $lang->action->dynamicAction->story['activated'] = "激活{$lang->SRCommon}"; $lang->action->dynamicAction->story['reviewed'] = "评审{$lang->SRCommon}"; @@ -394,6 +398,7 @@ $lang->action->dynamicAction->kanbanlane['moved'] = '移动泳道'; $lang->action->dynamicAction->team['managedTeam'] = '维护团队'; $lang->action->dynamicAction->task['opened'] = '创建任务'; +$lang->action->dynamicAction->task['importfromgitlab'] = "从Gitlab关联创建任务"; $lang->action->dynamicAction->task['edited'] = '编辑任务'; $lang->action->dynamicAction->task['commented'] = '备注任务'; $lang->action->dynamicAction->task['assigned'] = '指派任务'; @@ -427,6 +432,7 @@ $lang->action->dynamicAction->build['edited'] = '编辑版本'; $lang->action->dynamicAction->build['deleted'] = '删除版本'; $lang->action->dynamicAction->bug['opened'] = '创建Bug'; +$lang->action->dynamicAction->bug['importfromgitlab'] = "从Gitlab关联创建Bug"; $lang->action->dynamicAction->bug['edited'] = '编辑Bug'; $lang->action->dynamicAction->bug['activated'] = '激活Bug'; $lang->action->dynamicAction->bug['assigned'] = '指派Bug'; @@ -615,6 +621,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 589e0ffc61..a9391db43b 100644 --- a/module/gitlab/js/managegroupmembers.js +++ b/module/gitlab/js/managegroupmembers.js @@ -41,6 +41,25 @@ function addItem(obj) */ function deleteItem(obj) { - if($('#teamForm .table tbody').children().length < 2) return false; + if($('#teamForm .table-form tbody').children().length < 2) return false; $(obj).closest('tr').remove(); -} \ No newline at end of file +} + +$(document).on('change', '[id^="levels"]', function() +{ + $tr = $(this).closest('tr'); + $next = $(this).closest('td').next() + var ownerLevel = 50; + if($(this).val() == ownerLevel) + { + $next.prepend(''); + $next.find('[id^="expires"]').addClass('hidden'); + $tr.find('a[onclick^="deleteItem"]').addClass('disabled'); + } + else + { + $next.find('[id^="expires"]').removeClass('hidden'); + $next.find('input.disabled').remove(); + $tr.find('a[onclick^="deleteItem"]').removeClass('disabled'); + } +}) diff --git a/module/gitlab/js/manageprojectmembers.js b/module/gitlab/js/manageprojectmembers.js index 589e0ffc61..f67e13d81e 100644 --- a/module/gitlab/js/manageprojectmembers.js +++ b/module/gitlab/js/manageprojectmembers.js @@ -41,6 +41,6 @@ function addItem(obj) */ function deleteItem(obj) { - if($('#teamForm .table tbody').children().length < 2) return false; + if($('#teamForm .table-form tbody').children().length < 2) return false; $(obj).closest('tr').remove(); -} \ No newline at end of file +} diff --git a/module/gitlab/lang/en.php b/module/gitlab/lang/en.php index cf6809d55d..b03cf87c94 100644 --- a/module/gitlab/lang/en.php +++ b/module/gitlab/lang/en.php @@ -63,7 +63,7 @@ $lang->gitlab->lblCreate = 'Create GitLab Server'; $lang->gitlab->desc = 'Description'; $lang->gitlab->tokenFirst = 'When the Token is not empty, the Token will be used first'; $lang->gitlab->tips = 'When using a password, please disable the "Prevent cross-site request forgery" option in the GitLab global security settings.'; -$lang->gitlab->emptyError = "cannot be empty"; +$lang->gitlab->emptyError = " cannot be empty"; $lang->gitlab->createSuccess = "Create success"; $lang->gitlab->placeholder = new stdclass; @@ -91,12 +91,14 @@ $lang->gitlab->apiError[1] = 'public is not allowed in a private group.'; $lang->gitlab->apiError[2] = 'is too short (minimum is 8 characters)'; $lang->gitlab->apiError[3] = "can contain only letters, digits, '_', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom'"; $lang->gitlab->apiError[4] = 'Branch already exists'; +$lang->gitlab->apiError[5] = 'Failed to save group {:path=>["has already been taken"]}'; $lang->gitlab->errorLang[0] = 'You cannot set Internal as its Visibility Level, if it is private in GitLab.'; $lang->gitlab->errorLang[1] = 'You cannot set Public as its Visibility Level, if it is private in GitLab.'; $lang->gitlab->errorLang[2] = 'Password is too short (minimum is 8 characters)'; $lang->gitlab->errorLang[3] = 'It should contain only letters, digits, underscore, hyphen and period. It should not start with hypen, or end with .git or .atom.'; $lang->gitlab->errorLang[4] = 'Branch already exists.'; +$lang->gitlab->errorLang[5] = 'Failed to save group, path has already been taken.'; $lang->gitlab->project = new stdclass; $lang->gitlab->project->id = "Project ID"; @@ -184,7 +186,7 @@ $lang->gitlab->group->memberExpiresAt = 'Expiration time $lang->gitlab->group->repeatError = "Group members cannot be added repeatedly"; $lang->gitlab->branch = new stdclass(); -$lang->gitlab->branch->name = 'Branch Name'; +$lang->gitlab->branch->name = 'Branch name'; $lang->gitlab->branch->from = 'Create from'; $lang->gitlab->branch->create = 'Create'; $lang->gitlab->branch->lastCommitter = 'Last Committer'; diff --git a/module/gitlab/lang/zh-cn.php b/module/gitlab/lang/zh-cn.php index 3b58bb2bcf..658367e491 100644 --- a/module/gitlab/lang/zh-cn.php +++ b/module/gitlab/lang/zh-cn.php @@ -91,12 +91,14 @@ $lang->gitlab->apiError[1] = 'public is not allowed in a private group.'; $lang->gitlab->apiError[2] = 'is too short (minimum is 8 characters)'; $lang->gitlab->apiError[3] = "can contain only letters, digits, '_', '-' and '.'. Cannot start with '-', end in '.git' or end in '.atom'"; $lang->gitlab->apiError[4] = 'Branch already exists'; +$lang->gitlab->apiError[5] = 'Failed to save group {:path=>["has already been taken"]}'; $lang->gitlab->errorLang[0] = '私有分组的项目,可见性级别不能设为内部。'; $lang->gitlab->errorLang[1] = '私有分组的项目,可见性级别不能设为公开。'; $lang->gitlab->errorLang[2] = '密码太短(最少8个字符)'; $lang->gitlab->errorLang[3] = "只能包含字母、数字、'.'-'和'.'。不能以'-'开头、以'.git'结尾或以'.atom'结尾。"; $lang->gitlab->errorLang[4] = '分支名已存在。'; +$lang->gitlab->errorLang[5] = '保存失败,群组URL路径已经被使用。'; $lang->gitlab->project = new stdclass; $lang->gitlab->project->id = "项目ID"; diff --git a/module/gitlab/model.php b/module/gitlab/model.php index 246d7ff619..672e8f7a07 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -2050,15 +2050,15 @@ class gitlabModel extends model if(empty($project->path)) dao::$errors['path'][] = $this->lang->gitlab->project->emptyPathError; if(dao::isError()) return false; - $reponse = $this->apiCreateProject($gitlabID, $project); + $response = $this->apiCreateProject($gitlabID, $project); - if(!empty($reponse->id)) + if(!empty($response->id)) { - $this->loadModel('action')->create('gitlabproject', $reponse->id, 'created', '', $reponse->name); + $this->loadModel('action')->create('gitlabproject', $response->id, 'created', '', $response->name); return true; } - return $this->apiErrorHandling($reponse); + return $this->apiErrorHandling($response); } /** @@ -2074,15 +2074,15 @@ class gitlabModel extends model if(empty($project->name)) dao::$errors['name'][] = $this->lang->gitlab->project->emptyNameError; if(dao::isError()) return false; - $reponse = $this->apiUpdateProject($gitlabID, $project); + $response = $this->apiUpdateProject($gitlabID, $project); - if(!empty($reponse->id)) + if(!empty($response->id)) { $this->loadModel('action')->create('gitlabproject', $project->id, 'edited', '', $project->name); return true; } - return $this->apiErrorHandling($reponse); + return $this->apiErrorHandling($response); } /** @@ -2119,11 +2119,11 @@ class gitlabModel extends model } } - $reponse = $this->apiCreateUser($gitlabID, $user); + $response = $this->apiCreateUser($gitlabID, $user); - if(!empty($reponse->id)) + if(!empty($response->id)) { - $this->loadModel('action')->create('gitlabuser', $reponse->id, 'created', '', $reponse->name); + $this->loadModel('action')->create('gitlabuser', $response->id, 'created', '', $response->name); /* Bind user. */ if($user->account) @@ -2132,13 +2132,13 @@ class gitlabModel extends model $userBind->providerID = $gitlabID; $userBind->providerType = 'gitlab'; $userBind->account = $user->account; - $userBind->openID = $reponse->id; + $userBind->openID = $response->id; $this->dao->insert(TABLE_OAUTH)->data($userBind)->exec(); } return true; } - return $this->apiErrorHandling($reponse); + return $this->apiErrorHandling($response); } /** @@ -2179,14 +2179,14 @@ class gitlabModel extends model } } - $reponse = $this->apiUpdateUser($gitlabID, $user); + $response = $this->apiUpdateUser($gitlabID, $user); - if(!empty($reponse->id)) + if(!empty($response->id)) { - $this->loadModel('action')->create('gitlabuser', $reponse->id, 'edited', '', $reponse->name); + $this->loadModel('action')->create('gitlabuser', $response->id, 'edited', '', $response->name); /* Delete old bind. */ - $this->dao->delete()->from(TABLE_OAUTH)->where('providerType')->eq('gitlab')->andWhere('providerID')->eq($gitlabID)->andWhere('openID')->eq($reponse->id)->andWhere('account')->ne($user->account)->exec(); + $this->dao->delete()->from(TABLE_OAUTH)->where('providerType')->eq('gitlab')->andWhere('providerID')->eq($gitlabID)->andWhere('openID')->eq($response->id)->andWhere('account')->ne($user->account)->exec(); /* Bind user. */ if($user->account && $changeBind) { @@ -2194,13 +2194,13 @@ class gitlabModel extends model $userBind->providerID = $gitlabID; $userBind->providerType = 'gitlab'; $userBind->account = $user->account; - $userBind->openID = $reponse->id; + $userBind->openID = $response->id; $this->dao->replace(TABLE_OAUTH)->data($userBind)->exec(); } return true; } - return $this->apiErrorHandling($reponse); + return $this->apiErrorHandling($response); } /** @@ -2218,15 +2218,15 @@ class gitlabModel extends model if(empty($group->path)) dao::$errors['path'][] = $this->lang->gitlab->group->path . $this->lang->gitlab->group->emptyError; if(dao::isError()) return false; - $reponse = $this->apiCreateGroup($gitlabID, $group); + $response = $this->apiCreateGroup($gitlabID, $group); - if(!empty($reponse->id)) + if(!empty($response->id)) { - $this->loadModel('action')->create('gitlabgroup', $reponse->id, 'created', '', $reponse->name); + $this->loadModel('action')->create('gitlabgroup', $response->id, 'created', '', $response->name); return true; } - return $this->apiErrorHandling($reponse); + return $this->apiErrorHandling($response); } /** @@ -2243,15 +2243,15 @@ class gitlabModel extends model if(empty($group->name)) dao::$errors['name'][] = $this->lang->gitlab->group->name . $this->lang->gitlab->group->emptyError; if(dao::isError()) return false; - $reponse = $this->apiUpdateGroup($gitlabID, $group); + $response = $this->apiUpdateGroup($gitlabID, $group); - if(!empty($reponse->id)) + if(!empty($response->id)) { - $this->loadModel('action')->create('gitlabgroup', $reponse->id, 'edited', '', $reponse->name); + $this->loadModel('action')->create('gitlabgroup', $response->id, 'edited', '', $response->name); return true; } - return $this->apiErrorHandling($reponse); + return $this->apiErrorHandling($response); } /** @@ -2270,41 +2270,41 @@ class gitlabModel extends model if(empty($branch->ref)) dao::$errors['ref'][] = $this->lang->gitlab->branch->from . $this->lang->gitlab->emptyError; if(dao::isError()) return false; - $reponse = $this->apiCreateBranch($gitlabID, $projectID, $branch); + $response = $this->apiCreateBranch($gitlabID, $projectID, $branch); - if(!empty($reponse->name)) + if(!empty($response->name)) { - $this->loadModel('action')->create('gitlabbranch', 0, 'created', '', $reponse->name); + $this->loadModel('action')->create('gitlabbranch', 0, 'created', '', $response->name); return true; } - return $this->apiErrorHandling($reponse); + return $this->apiErrorHandling($response); } /** * Api error handling. * - * @param object $reponse + * @param object $response * @access public * @return bool */ - public function apiErrorHandling($reponse) + public function apiErrorHandling($response) { - if(!empty($reponse->error)) + if(!empty($response->error)) { - dao::$errors[] = $reponse->error; + dao::$errors[] = $response->error; return false; } - if(!empty($reponse->message)) + if(!empty($response->message)) { - if(is_string($reponse->message)) + if(is_string($response->message)) { - $errorKey = array_search($reponse->message, $this->lang->gitlab->apiError); - dao::$errors[] = $errorKey === false ? $reponse->message : zget($this->lang->gitlab->errorLang, $errorKey); + $errorKey = array_search($response->message, $this->lang->gitlab->apiError); + dao::$errors[] = $errorKey === false ? $response->message : zget($this->lang->gitlab->errorLang, $errorKey); } else { - foreach($reponse->message as $field => $fieldErrors) + foreach($response->message as $field => $fieldErrors) { foreach($fieldErrors as $error) { @@ -2315,7 +2315,7 @@ class gitlabModel extends model } } - if(!$reponse) dao::$errors[] = false; + if(!$response) dao::$errors[] = false; return false; } @@ -2397,9 +2397,9 @@ class gitlabModel extends model $singleBranch = $this->apiGetSingleBranchPriv($gitlabID, $projectID, $priv->name); if(empty($branch) && !empty($singleBranch->id)) dao::$errors['name'][] = $this->lang->gitlab->branch->issetPrivNameError; if(dao::isError()) return false; - if(!empty($branch) && !empty($singleBranch->id)) $this->apiDeleteBranchPriv($gitlabID, $projectID, $branch); + if(!empty($branch) && !empty($singleBranch->id)) $this->apiDeleteBranchPriv($gitlabID, $projectID, $branch); - $response = $this->apiCreateBranchPriv($gitlabID, $projectID, $priv); + $response = $this->apiCreateBranchPriv($gitlabID, $projectID, $priv); if(!empty($response->id)) { diff --git a/module/gitlab/view/binduser.html.php b/module/gitlab/view/binduser.html.php index 107697b1e2..381867a303 100644 --- a/module/gitlab/view/binduser.html.php +++ b/module/gitlab/view/binduser.html.php @@ -21,7 +21,7 @@