diff --git a/module/story/control.php b/module/story/control.php index 1baefae6cd..efaf7626e3 100644 --- a/module/story/control.php +++ b/module/story/control.php @@ -856,6 +856,7 @@ class story extends control $this->view->title = $this->lang->story->edit . "STORY" . $this->lang->colon . $this->view->story->title; $this->view->position[] = $this->lang->story->edit; $this->view->story = $story; + $this->view->siblings = $this->story->getByList($story->sibling); $this->view->stories = $stories; $this->view->users = $users; $this->view->product = $product; @@ -1154,6 +1155,8 @@ class story extends control /* Assign. */ $this->view->title = $this->lang->story->change . "STORY" . $this->lang->colon . $this->view->story->title; + $this->view->siblings = $this->story->getByList($story->sibling); + $this->view->branches = $this->loadModel('branch')->getPairs($story->product); $this->view->users = $this->user->getPairs('pofirst|nodeleted|noclosed', $this->view->story->assignedTo); $this->view->position[] = $this->lang->story->change; $this->view->needReview = (($this->app->user->account == $this->view->product->PO or $this->config->story->needReview == 0 or !$this->story->checkForceReview()) and empty($reviewer)) ? "checked='checked'" : ""; diff --git a/module/story/css/change.css b/module/story/css/change.css index 3fec429184..dec7802904 100644 --- a/module/story/css/change.css +++ b/module/story/css/change.css @@ -2,4 +2,7 @@ #affectedProjects .table + h6 {border-top: 1px solid #ddd;} .nav-tabs>li>a {height: 36px;} .table-form>tbody>tr>th {width: 100px !important;} -.colorpicker {right: 7px; top: 7px; opacity: 1;} \ No newline at end of file +.colorpicker {right: 7px; top: 7px; opacity: 1;} +#siblingTd td, #siblingTh td {padding-left: 65px;} +#siblingTh td {font-weight: 700;} +#siblingTd ul li {padding-top: 5px;} diff --git a/module/story/css/edit.css b/module/story/css/edit.css index 7b2e3a76c3..58a8f9fb9d 100644 --- a/module/story/css/edit.css +++ b/module/story/css/edit.css @@ -5,3 +5,4 @@ .needNotReviewBox {width: 130px;} .needNotReviewBox span.input-group-addon {border: 1px solid #dcdcdc; border-left-width: 0px; width:130px;} #moduleIdBox .chosen-container, #planIdBox .chosen-container {min-width: unset;} +#siblingList ul li {padding-top:5px;} diff --git a/module/story/js/change.js b/module/story/js/change.js index 3d1d19c8f4..dd48d70c1f 100644 --- a/module/story/js/change.js +++ b/module/story/js/change.js @@ -1,5 +1,6 @@ $(function() { + $('[data-toggle="tooltip"]').tooltip(); $('#needNotReview').on('change', function() { $('#reviewer').val($(this).is(':checked') ? '' : lastReviewer).attr('disabled', $(this).is(':checked') ? 'disabled' : null).trigger('chosen:updated'); diff --git a/module/story/js/edit.js b/module/story/js/edit.js index 8358c2009e..21116b0f48 100644 --- a/module/story/js/edit.js +++ b/module/story/js/edit.js @@ -1,5 +1,6 @@ $(function() { + $('[data-toggle="tooltip"]').tooltip(); $('.main-side #branch').closest('td').find('#product_chosen .chosen-single').css('width', '153px'); if(storyStatus == 'reviewing') diff --git a/module/story/lang/de.php b/module/story/lang/de.php index 8209fbf211..5a28ddb553 100644 --- a/module/story/lang/de.php +++ b/module/story/lang/de.php @@ -95,6 +95,8 @@ $lang->story->successToTask = "Converted to task."; $lang->story->storyRound = '%s time estimation'; $lang->story->float = "『%s』should be positive number, decimals included."; $lang->story->saveDraftSuccess = 'Save as draft succeeded.'; +$lang->story->changeSyncTip = "The modification of this story will be synchronized to the following twin requirements"; +$lang->story->syncTip = "The twin story are synchronized except for product, branch, module, plan, and stage. After the twin relationship is dissolved, they are no longer synchronized."; $lang->story->id = 'ID'; $lang->story->parent = 'Parent'; diff --git a/module/story/lang/en.php b/module/story/lang/en.php index dbb5d44d16..f65cb2f83b 100644 --- a/module/story/lang/en.php +++ b/module/story/lang/en.php @@ -95,6 +95,8 @@ $lang->story->successToTask = "Converted to task."; $lang->story->storyRound = '%s time estimation'; $lang->story->float = "『%s』should have positive number, or decimals."; $lang->story->saveDraftSuccess = 'Save as draft succeeded.'; +$lang->story->changeSyncTip = "The modification of this story will be synchronized to the following twin requirements"; +$lang->story->syncTip = "The twin story are synchronized except for product, branch, module, plan, and stage. After the twin relationship is dissolved, they are no longer synchronized."; $lang->story->id = 'ID'; $lang->story->parent = 'Parent'; diff --git a/module/story/lang/fr.php b/module/story/lang/fr.php index cf5f0c0ac0..7981c32ea0 100644 --- a/module/story/lang/fr.php +++ b/module/story/lang/fr.php @@ -95,6 +95,8 @@ $lang->story->successToTask = "Converted to task."; $lang->story->storyRound = '%s time estimation'; $lang->story->float = "『 %s 』doit avoir des nombres positifs ou décimaux."; $lang->story->saveDraftSuccess = 'Save as draft succeeded.'; +$lang->story->changeSyncTip = "The modification of this story will be synchronized to the following twin requirements"; +$lang->story->syncTip = "The twin story are synchronized except for product, branch, module, plan, and stage. After the twin relationship is dissolved, they are no longer synchronized."; $lang->story->id = 'ID'; $lang->story->parent = 'Parent'; diff --git a/module/story/lang/vi.php b/module/story/lang/vi.php index c0e7f138b4..ee7d4c7fe2 100644 --- a/module/story/lang/vi.php +++ b/module/story/lang/vi.php @@ -93,6 +93,8 @@ $lang->story->successToTask = "Converted to task."; $lang->story->storyRound = '%s time estimation'; $lang->story->float = "『%s』should be positive number, decimals included."; $lang->story->saveDraftSuccess = 'Save as draft succeeded.'; +$lang->story->changeSyncTip = "The modification of this story will be synchronized to the following twin requirements"; +$lang->story->syncTip = "The twin story are synchronized except for product, branch, module, plan, and stage. After the twin relationship is dissolved, they are no longer synchronized."; $lang->story->id = 'ID'; $lang->story->parent = 'Mẹ'; diff --git a/module/story/lang/zh-cn.php b/module/story/lang/zh-cn.php index 0ec66c579d..952c89de11 100644 --- a/module/story/lang/zh-cn.php +++ b/module/story/lang/zh-cn.php @@ -95,6 +95,8 @@ $lang->story->successToTask = '批量转任务成功'; $lang->story->storyRound = '第 %s 轮估算'; $lang->story->float = "『%s』应当是正数,可以是小数。"; $lang->story->saveDraftSuccess = '存为草稿成功'; +$lang->story->changeSyncTip = "该需求的修改会同步到如下的孪生需求"; +$lang->story->syncTip = "孪生需求间除产品、分支 、模块、计划、阶段外均同步,孪生关系解除后不再同步"; $lang->story->id = '编号'; $lang->story->parent = '父需求'; diff --git a/module/story/view/change.html.php b/module/story/view/change.html.php index c4fc435056..7abc1b5972 100644 --- a/module/story/view/change.html.php +++ b/module/story/view/change.html.php @@ -73,6 +73,24 @@ fetch('file', 'buildform');?> + + + story->changeSyncTip;?> + + + + + + + + story->checkAffection;?> diff --git a/module/story/view/edit.html.php b/module/story/view/edit.html.php index 39540014aa..f3aaeccb48 100644 --- a/module/story/view/edit.html.php +++ b/module/story/view/edit.html.php @@ -98,6 +98,24 @@ printExtendFields($story, 'div', 'position=left');?> +
+
+ story->changeSyncTip;?> + +
+
+
+
    + $sibling):?> +
  • + branch];?> + title;?> +
  • + +
+
+
+
story->comment;?>