diff --git a/config/zentaopms.php b/config/zentaopms.php index c91d33a7d4..3d9c507e50 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -85,29 +85,29 @@ $config->storyCommonList['vi'][0] = 'Câu chuyện'; $config->storyCommonList['vi'][1] = 'Câu chuyện'; /* Story common list. */ -$config->hourPointCommonList['zh-cn'][0] = '工时'; -$config->hourPointCommonList['zh-cn'][1] = '故事点'; -$config->hourPointCommonList['zh-cn'][2] = '功能点'; +$config->hourPointCommonList['zh-cn'][0] = '故事点'; +$config->hourPointCommonList['zh-cn'][1] = '功能点'; +$config->hourPointCommonList['zh-cn'][2] = '代码行'; -$config->hourPointCommonList['zh-tw'][0] = '工时'; -$config->hourPointCommonList['zh-tw'][1] = '故事点'; -$config->hourPointCommonList['zh-tw'][2] = '功能点'; +$config->hourPointCommonList['zh-tw'][0] = '故事点'; +$config->hourPointCommonList['zh-tw'][1] = '功能点'; +$config->hourPointCommonList['zh-tw'][2] = '代碼行'; -$config->hourPointCommonList['en'][0] = 'hour'; -$config->hourPointCommonList['en'][1] = 'story point'; -$config->hourPointCommonList['en'][2] = 'function point'; +$config->hourPointCommonList['en'][0] = 'story point'; +$config->hourPointCommonList['en'][1] = 'function point'; +$config->hourPointCommonList['en'][2] = 'loc point'; -$config->hourPointCommonList['de'][0] = 'hour'; -$config->hourPointCommonList['de'][1] = 'story point'; -$config->hourPointCommonList['de'][2] = 'function point'; +$config->hourPointCommonList['de'][0] = 'story point'; +$config->hourPointCommonList['de'][1] = 'function point'; +$config->hourPointCommonList['de'][2] = 'loc point'; -$config->hourPointCommonList['fr'][0] = 'hour'; -$config->hourPointCommonList['fr'][1] = 'story point'; -$config->hourPointCommonList['fr'][2] = 'function point'; +$config->hourPointCommonList['fr'][0] = 'story point'; +$config->hourPointCommonList['fr'][1] = 'function point'; +$config->hourPointCommonList['fr'][2] = 'loc point'; -$config->hourPointCommonList['vi'][0] = 'giờ'; -$config->hourPointCommonList['vi'][1] = 'điểm'; -$config->hourPointCommonList['vi'][2] = 'function point'; +$config->hourPointCommonList['vi'][0] = 'điểm'; +$config->hourPointCommonList['vi'][1] = 'function point'; +$config->hourPointCommonList['vi'][2] = 'loc point'; /* Plan common list. */ $config->planCommonList['zh-cn'][0] = '计划'; diff --git a/module/block/lang/de.php b/module/block/lang/de.php index 6f57c53b35..d49b8ebe3a 100644 --- a/module/block/lang/de.php +++ b/module/block/lang/de.php @@ -59,7 +59,6 @@ $lang->block->estimatedHours = 'Estimated Hours'; $lang->block->consumedHours = 'Consumed Hours'; $lang->block->time = 'No'; $lang->block->week = 'Week'; -$lang->block->month = 'Month'; $lang->block->selectProduct = 'Product selection'; $lang->block->params = new stdclass(); diff --git a/module/block/lang/fr.php b/module/block/lang/fr.php index 7195314dd2..365e9fa581 100644 --- a/module/block/lang/fr.php +++ b/module/block/lang/fr.php @@ -59,7 +59,6 @@ $lang->block->estimatedHours = 'Estimated Hours'; $lang->block->consumedHours = 'Consumed Hours'; $lang->block->time = 'No'; $lang->block->week = 'Week'; -$lang->block->month = 'Month'; $lang->block->selectProduct = 'Product selection'; $lang->block->params = new stdclass(); diff --git a/module/block/lang/vi.php b/module/block/lang/vi.php index 376f7d2c46..6192e97b88 100644 --- a/module/block/lang/vi.php +++ b/module/block/lang/vi.php @@ -59,7 +59,6 @@ $lang->block->estimatedHours = 'Estimated Hours'; $lang->block->consumedHours = 'Consumed Hours'; $lang->block->time = 'No'; $lang->block->week = 'Week'; -$lang->block->month = 'Month'; $lang->block->selectProduct = 'Product selection'; $lang->block->params = new stdclass(); diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 16459ff48e..8ec2802eb8 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -151,9 +151,9 @@ if(isset($_COOKIE['systemModel']) and $_COOKIE['systemModel'] == 'scrum') $lang->system->menu = new stdclass(); $lang->system->menu->subject = array('link' => 'Subject|subject|browse|'); $lang->system->menu->holiday = array('link' => 'Holiday|holiday|browse|'); - $lang->system->menu->custom = array('link' => 'Custom|custom|concept|'); + $lang->system->menu->custom = array('link' => 'Custom|custom|configurescrum|'); - $lang->mainNav->system = ' System|subject|settips|'; + $lang->mainNav->system = ' System|subject|browse|'; unset($lang->system->dividerMenu); } diff --git a/module/custom/lang/de.php b/module/custom/lang/de.php index c25684d762..35d31ffdc7 100644 --- a/module/custom/lang/de.php +++ b/module/custom/lang/de.php @@ -19,8 +19,8 @@ $lang->custom->score = 'Score'; $lang->custom->timezone = 'Timezone'; $lang->custom->scoreReset = 'Reset Score'; $lang->custom->scoreTitle = 'Point Feature'; -$lang->custom->setscrum = 'Interval Hint'; -$lang->custom->setWaterfall = 'Switch Views'; +$lang->custom->setscrum = 'Switch the scrum view'; +$lang->custom->setWaterfall = 'Switch the waterfall view'; $lang->custom->estimate = 'Estimated configuration'; $lang->custom->estimateConfig = 'Estimated configuration'; $lang->custom->estimateUnit = 'Estimating Unit'; @@ -32,9 +32,13 @@ $lang->custom->region = 'Interval'; $lang->custom->tips = 'Tips'; $lang->custom->setTips = 'Set Tips'; $lang->custom->isRange = 'Is Target Control'; -$lang->custom->configureScrum = 'Concept'; $lang->custom->URStory = "User requirements"; $lang->custom->SRStory = "Software requirements"; +$lang->custom->epic = "Epic"; +$lang->custom->scrumStory = "Story"; +$lang->custom->waterfallCommon = "Waterfall"; +$lang->custom->configureWaterfall = "Waterfall Configure"; +$lang->custom->configureScrum = "Scrum Configure"; $lang->custom->object['program'] = 'Program'; $lang->custom->program->fields['unitList'] = 'Unit List'; @@ -198,3 +202,16 @@ $lang->custom->conceptOptions->hourPoint = array(); $lang->custom->conceptOptions->hourPoint['0'] = 'Story Point'; $lang->custom->conceptOptions->hourPoint['1'] = 'Function Point'; $lang->custom->conceptOptions->hourPoint['2'] = 'Code Line'; + +$lang->custom->waterfall = new stdclass(); +$lang->custom->waterfall->URAndSR = 'Are requirements and stories concepts enabled?'; +$lang->custom->waterfall->URSRName = 'A conceptual definition of requirements and stories?'; + +$lang->custom->scrum = new stdclass(); +$lang->custom->scrum->URAndSR = 'Is it going to be epic?'; +$lang->custom->scrum->URSRName = 'A conceptual definition of requirements?'; + +$lang->custom->waterfallOptions = new stdclass(); +$lang->custom->waterfallOptions->URAndSR = array(); +$lang->custom->waterfallOptions->URAndSR[0] = 'No'; +$lang->custom->waterfallOptions->URAndSR[1] = 'Yes'; diff --git a/module/custom/lang/en.php b/module/custom/lang/en.php index 8ed042d56e..c5fcb5d5ed 100644 --- a/module/custom/lang/en.php +++ b/module/custom/lang/en.php @@ -19,6 +19,8 @@ $lang->custom->score = 'Point'; $lang->custom->timezone = 'Timezone'; $lang->custom->scoreReset = 'Reset Points'; $lang->custom->scoreTitle = 'Point Feature'; +$lang->custom->setscrum = 'Switch the scrum view'; +$lang->custom->setWaterfall = 'Switch the waterfall view'; $lang->custom->estimate = 'Estimated configuration'; $lang->custom->estimateConfig = 'Estimated configuration'; $lang->custom->estimateUnit = 'Estimating Unit'; @@ -32,6 +34,8 @@ $lang->custom->setTips = 'Set Tips'; $lang->custom->isRange = 'Is Target Control'; $lang->custom->URStory = "User requirements"; $lang->custom->SRStory = "Software requirements"; +$lang->custom->epic = "Epic"; +$lang->custom->scrumStory = "Story"; $lang->custom->waterfallCommon = "Waterfall"; $lang->custom->configureWaterfall = "Waterfall Configure"; $lang->custom->configureScrum = "Scrum Configure"; @@ -203,6 +207,10 @@ $lang->custom->waterfall = new stdclass(); $lang->custom->waterfall->URAndSR = 'Are requirements and stories concepts enabled?'; $lang->custom->waterfall->URSRName = 'A conceptual definition of requirements and stories?'; +$lang->custom->scrum = new stdclass(); +$lang->custom->scrum->URAndSR = 'Are epic concept enabled?'; +$lang->custom->scrum->URSRName = 'A conceptual definition of epic?'; + $lang->custom->waterfallOptions = new stdclass(); $lang->custom->waterfallOptions->URAndSR = array(); $lang->custom->waterfallOptions->URAndSR[0] = 'No'; diff --git a/module/custom/lang/fr.php b/module/custom/lang/fr.php index f5b1395194..edd28f4a4f 100644 --- a/module/custom/lang/fr.php +++ b/module/custom/lang/fr.php @@ -19,8 +19,8 @@ $lang->custom->score = 'Point'; $lang->custom->timezone = 'Timezone'; $lang->custom->scoreReset = 'Réinit Points'; $lang->custom->scoreTitle = 'Fonctionnalité des Points'; -$lang->custom->setscrum = 'Interval Hint'; -$lang->custom->setWaterfall = 'Switch Views'; +$lang->custom->setscrum = 'Switch the scrum view'; +$lang->custom->setWaterfall = 'Switch the waterfall view'; $lang->custom->estimate = 'Estimated configuration'; $lang->custom->estimateConfig = 'Estimated configuration'; $lang->custom->estimateUnit = 'Estimating Unit'; @@ -32,9 +32,13 @@ $lang->custom->region = 'Interval'; $lang->custom->tips = 'Tips'; $lang->custom->setTips = 'Set Tips'; $lang->custom->isRange = 'Is Target Control'; -$lang->custom->configureScrum = 'Concept'; $lang->custom->URStory = "User requirements"; $lang->custom->SRStory = "Software requirements"; +$lang->custom->epic = "Epic"; +$lang->custom->scrumStory = "Story"; +$lang->custom->waterfallCommon = "Waterfall"; +$lang->custom->configureWaterfall = "Waterfall Configure"; +$lang->custom->configureScrum = "Scrum Configure"; $lang->custom->object['program'] = 'Program'; $lang->custom->program->fields['unitList'] = 'Unit List'; @@ -198,3 +202,16 @@ $lang->custom->conceptOptions->hourPoint = array(); $lang->custom->conceptOptions->hourPoint['0'] = 'Points de Story'; $lang->custom->conceptOptions->hourPoint['1'] = 'Points de Fonction'; $lang->custom->conceptOptions->hourPoint['2'] = 'Code Line'; + +$lang->custom->waterfall = new stdclass(); +$lang->custom->waterfall->URAndSR = 'Are requirements and stories concepts enabled?'; +$lang->custom->waterfall->URSRName = 'A conceptual definition of requirements and stories?'; + +$lang->custom->scrum = new stdclass(); +$lang->custom->scrum->URAndSR = 'Is it going to be epic?'; +$lang->custom->scrum->URSRName = 'A conceptual definition of requirements?'; + +$lang->custom->waterfallOptions = new stdclass(); +$lang->custom->waterfallOptions->URAndSR = array(); +$lang->custom->waterfallOptions->URAndSR[0] = 'No'; +$lang->custom->waterfallOptions->URAndSR[1] = 'Yes'; diff --git a/module/custom/lang/vi.php b/module/custom/lang/vi.php index 8f0480a418..361deb8351 100644 --- a/module/custom/lang/vi.php +++ b/module/custom/lang/vi.php @@ -19,8 +19,8 @@ $lang->custom->score = 'Điểm'; $lang->custom->timezone = 'Timezone'; $lang->custom->scoreReset = 'Thiết lập lại điểm'; $lang->custom->scoreTitle = 'Tính năng điểm'; -$lang->custom->setscrum = 'Interval Hint'; -$lang->custom->setWaterfall = 'Switch Views'; +$lang->custom->setscrum = 'Switch the scrum view'; +$lang->custom->setWaterfall = 'Switch the waterfall view'; $lang->custom->estimate = 'Estimated configuration'; $lang->custom->estimateConfig = 'Estimated configuration'; $lang->custom->estimateUnit = 'Estimating Unit'; @@ -32,9 +32,13 @@ $lang->custom->region = 'Interval'; $lang->custom->tips = 'Tips'; $lang->custom->setTips = 'Set Tips'; $lang->custom->isRange = 'Is Target Control'; -$lang->custom->configureScrum = 'Concept'; $lang->custom->URStory = "User requirements"; $lang->custom->SRStory = "Software requirements"; +$lang->custom->epic = "Epic"; +$lang->custom->scrumStory = "Story"; +$lang->custom->waterfallCommon = "Waterfall"; +$lang->custom->configureWaterfall = "Waterfall Configure"; +$lang->custom->configureScrum = "Scrum Configure"; $lang->custom->object['program'] = 'Program'; $lang->custom->program->fields['unitList'] = 'Unit List'; @@ -198,3 +202,16 @@ $lang->custom->conceptOptions->hourPoint = array(); $lang->custom->conceptOptions->hourPoint['0'] = 'Điểm'; $lang->custom->conceptOptions->hourPoint['1'] = 'Function Point'; $lang->custom->conceptOptions->hourPoint['2'] = 'Code Line'; + +$lang->custom->waterfall = new stdclass(); +$lang->custom->waterfall->URAndSR = 'Are requirements and stories concepts enabled?'; +$lang->custom->waterfall->URSRName = 'A conceptual definition of requirements and stories?'; + +$lang->custom->scrum = new stdclass(); +$lang->custom->scrum->URAndSR = 'Is it going to be epic?'; +$lang->custom->scrum->URSRName = 'A conceptual definition of requirements?'; + +$lang->custom->waterfallOptions = new stdclass(); +$lang->custom->waterfallOptions->URAndSR = array(); +$lang->custom->waterfallOptions->URAndSR[0] = 'No'; +$lang->custom->waterfallOptions->URAndSR[1] = 'Yes'; diff --git a/module/custom/lang/zh-cn.php b/module/custom/lang/zh-cn.php index 9357669526..706c38052b 100644 --- a/module/custom/lang/zh-cn.php +++ b/module/custom/lang/zh-cn.php @@ -19,6 +19,8 @@ $lang->custom->score = '积分'; $lang->custom->timezone = '时区'; $lang->custom->scoreReset = '重置积分'; $lang->custom->scoreTitle = '积分功能'; +$lang->custom->setscrum = '切换敏捷视图'; +$lang->custom->setWaterfall = '切换瀑布视图'; $lang->custom->estimate = '估算配置'; $lang->custom->estimateConfig = '估算配置'; $lang->custom->estimateUnit = '估算单位'; diff --git a/module/custom/view/estimate.html.php b/module/custom/view/estimate.html.php index cba9a42443..27b1654642 100644 --- a/module/custom/view/estimate.html.php +++ b/module/custom/view/estimate.html.php @@ -28,14 +28,9 @@ $lang->custom->system[] = 'estimate'; custom->unitList['manhour'] . $lang->custom->unitList['loc']; - } - else - { - echo $lang->custom->unitList['efficiency'] . $lang->hourCommon; - } + if($unit == 0) echo $lang->custom->unitList['efficiency'] . $lang->custom->conceptOptions->hourPoint[0]; + if($unit == 1) echo $lang->custom->unitList['efficiency'] . $lang->custom->conceptOptions->hourPoint[1]; + if($unit == 2) echo $lang->custom->unitList['manhour'] . $lang->custom->unitList['loc']; ?> @@ -85,8 +80,8 @@ $lang->custom->system[] = 'estimate'; -custom->conceptOptions->hourPoint[1]);?> -custom->conceptOptions->hourPoint[2]);?> +custom->conceptOptions->hourPoint[0]);?> +custom->conceptOptions->hourPoint[1]);?> custom->unitList['loc']);?> custom->unitList['efficiency']);?> custom->unitList['manhour']);?> @@ -94,9 +89,9 @@ $lang->custom->system[] = 'estimate'; $('#estimateTab').addClass('btn-active-text'); $('input[name="hourPoint"]').change(function() { - if($(this).val() == 1) $('#efficiency + span').text(efficiency + storyPoint); - if($(this).val() == 2) $('#efficiency + span').text(efficiency + functionPoint); - if($(this).val() == 3) $('#efficiency + span').text(manhour + loc); + if($(this).val() == 0) $('#efficiency + span').text(efficiency + storyPoint); + if($(this).val() == 1) $('#efficiency + span').text(efficiency + functionPoint); + if($(this).val() == 2) $('#efficiency + span').text(manhour + loc); }) diff --git a/module/issue/control.php b/module/issue/control.php index 4f1601f9bc..f009392b9d 100644 --- a/module/issue/control.php +++ b/module/issue/control.php @@ -311,7 +311,10 @@ class issue extends control $this->loadModel('action')->create('issue', $issueID, 'Resolved', $comment); } + if($resolution == 'resolved') $this->loadModel('action')->create('issue', $issueID, 'Resolved'); $this->dao->update(TABLE_ISSUE)->set('objectID')->eq($objectID)->where('id')->eq($issueID)->exec(); + + if(isonlybody()) die(js::closeModal('parent.parent', 'this')); die(js::locate(inLink('browse'), 'parent')); } diff --git a/module/issue/model.php b/module/issue/model.php index 99ffb682b1..2c3e7eb387 100644 --- a/module/issue/model.php +++ b/module/issue/model.php @@ -343,11 +343,11 @@ class issueModel extends model public function createStory() { $story = fixer::input('post') - ->remove('resolution,resolvedBy,resolvedDate') ->add('openedBy', $this->app->user->account) ->add('openedDate', helper::now()) - ->setIF($this->post->needNotReview, 'status', 'active') + ->setIF($this->post->needNotReview or $this->post->product > 0, 'status', 'active') ->stripTags('spec', $this->config->allowedTags) + ->remove('resolution,resolvedBy,resolvedDate,needNotReview') ->get(); $this->dao->insert(TABLE_STORY)->data($story, 'spec')->exec(); diff --git a/module/issue/view/taskform.html.php b/module/issue/view/taskform.html.php index 3bc610245d..3b65481c16 100644 --- a/module/issue/view/taskform.html.php +++ b/module/issue/view/taskform.html.php @@ -116,13 +116,48 @@ $hiddenDeadline = strpos(",$showFields,", ',deadline,') === false; diff --git a/module/programplan/lang/en.php b/module/programplan/lang/en.php index 79f6d47929..34d8770bd6 100644 --- a/module/programplan/lang/en.php +++ b/module/programplan/lang/en.php @@ -63,5 +63,4 @@ $lang->programplan->error = new stdclass(); $lang->programplan->error->percentNumber = '"Workload %" must be digits.'; $lang->programplan->error->planFinishSmall = 'The "End" date must be > the "Begin" date.'; $lang->programplan->error->percentOver = 'The sum of "Workload %" cannot exceed 100%.'; -$lang->programplan->error->onlyOneDev = 'Only one stage plan can be set for a first-level stage plan.'; $lang->programplan->error->createdTask = 'The task has been decomposed. Sub phases cannot be added.'; diff --git a/module/story/lang/de.php b/module/story/lang/de.php index acc2b43fcb..e2cca57ca8 100644 --- a/module/story/lang/de.php +++ b/module/story/lang/de.php @@ -21,7 +21,6 @@ if(!empty($config->URAndSR)) $lang->story->createStory = 'Create ' . $lang->story->story; $lang->story->createRequirement = 'Create ' . $lang->story->requirement; $lang->story->affectedStories = "Affected {$lang->story->story}"; - $lang->storyCommon = 'Story'; } $lang->story->batchCreate = "Mehere hinzufügen"; @@ -139,7 +138,7 @@ $lang->story->allStories = 'Alle'; $lang->story->unclosed = 'Nicht geschlossen'; $lang->story->deleted = 'Gelöscht'; $lang->story->released = 'Released Linked Stories'; -$lang->story->storyChanged = 'Requirement Changed'; +$lang->story->URChanged = 'Requirement Changed'; $lang->story->design = 'Designs'; $lang->story->case = 'Cases'; $lang->story->bug = 'Bugs'; diff --git a/module/story/lang/en.php b/module/story/lang/en.php index dd490f0c83..61d50c95c3 100644 --- a/module/story/lang/en.php +++ b/module/story/lang/en.php @@ -21,7 +21,6 @@ if($config->URAndSR) $lang->story->createStory = 'Create ' . $lang->story->story; $lang->story->createRequirement = 'Create ' . $lang->story->requirement; $lang->story->affectedStories = "Affected {$lang->story->story}"; - $lang->storyCommon = 'Story'; } $lang->story->batchCreate = "Batch Create"; diff --git a/module/story/lang/fr.php b/module/story/lang/fr.php index d6462ab788..b527b53e19 100644 --- a/module/story/lang/fr.php +++ b/module/story/lang/fr.php @@ -21,7 +21,6 @@ if(!empty($config->URAndSR)) $lang->story->createStory = 'Create ' . $lang->story->story; $lang->story->createRequirement = 'Create ' . $lang->story->requirement; $lang->story->affectedStories = "Affected {$lang->story->story}"; - $lang->storyCommon = 'Story'; } $lang->story->batchCreate = "Créer par Lot"; @@ -139,7 +138,7 @@ $lang->story->allStories = 'Toutes les Stories'; $lang->story->unclosed = 'Non Fermées'; $lang->story->deleted = 'Supprimée'; $lang->story->released = 'Stories Versionnées'; -$lang->story->storyChanged = 'Requirement Changed'; +$lang->story->URChanged = 'Requirement Changed'; $lang->story->design = 'Designs'; $lang->story->case = 'Cases'; $lang->story->bug = 'Bugs'; diff --git a/module/story/lang/vi.php b/module/story/lang/vi.php index 5e4f25c3c4..3afb40c529 100644 --- a/module/story/lang/vi.php +++ b/module/story/lang/vi.php @@ -21,7 +21,6 @@ if(!empty($config->URAndSR)) $lang->story->createStory = 'Create ' . $lang->story->story; $lang->story->createRequirement = 'Create ' . $lang->story->requirement; $lang->story->affectedStories = "Affected {$lang->story->story}"; - $lang->storyCommon = 'Story'; } $lang->story->batchCreate = "Tạo hàng loạt"; @@ -139,7 +138,7 @@ $lang->story->allStories = 'Tất cả câu chuyện'; $lang->story->unclosed = 'Chưa đóng'; $lang->story->deleted = 'Đã xóa'; $lang->story->released = 'Đã phát hành'; -$lang->story->storyChanged = 'Requirement Changed'; +$lang->story->URChanged = 'Requirement Changed'; $lang->story->design = 'Designs'; $lang->story->case = 'Cases'; $lang->story->bug = 'Bugs'; diff --git a/module/workestimation/view/index.html.php b/module/workestimation/view/index.html.php index bbd2fe84dd..b55e9ef9c3 100644 --- a/module/workestimation/view/index.html.php +++ b/module/workestimation/view/index.html.php @@ -38,7 +38,11 @@