diff --git a/module/story/js/batchcreate.js b/module/story/js/batchcreate.js index 9c513a278a..403e82113d 100644 --- a/module/story/js/batchcreate.js +++ b/module/story/js/batchcreate.js @@ -86,3 +86,32 @@ function copyTitle(num) var title = $('#title\\[' + num + '\\]').val(); $('#spec\\[' + num + '\\]').val(title); } + +$(document).on('change', "[name*='reviewer']", function() +{ + toggleCheck($(this)); +}) + +/** + * Toggle checkbox. + * + * @param obj $obj + * @access public + * @return void + */ +function toggleCheck(obj) +{ + var $this = $(obj); + var data = $this.val(); + var $ditto = $this.closest('div').find("input[name*='reviewDitto']"); + if(data == '') + { + $ditto.attr('checked', true); + $ditto.closest('.input-group-addon').show(); + } + else + { + $ditto.removeAttr('checked'); + $ditto.closest('.input-group-addon').hide(); + } +} diff --git a/module/story/model.php b/module/story/model.php index 8f34c62857..c309a03473 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -507,6 +507,7 @@ class storyModel extends model } $planStories = array(); + $reviewers = ''; foreach($data as $i => $story) { @@ -565,23 +566,22 @@ class storyModel extends model $this->dao->insert(TABLE_STORYSPEC)->data($specData)->exec(); /* Save the story reviewer to storyreview table. */ - if(isset($_POST['reviewer'][$i])) + $assignedTo = ''; + if(empty($_POST['reviewer'][$i]) and empty($_POST['reviewer'][$i])) $_POST['reviewer'][$i] = array(); + $reviewers = (isset($_POST['reviewDitto'][$i])) ? $reviewers : $_POST['reviewer'][$i]; + foreach($reviewers as $reviewer) { - $assignedTo = ''; - foreach($_POST['reviewer'][$i] as $reviewer) - { - if(empty($reviewer)) continue; + if(empty($reviewer)) continue; - $reviewData = new stdclass(); - $reviewData->story = $storyID; - $reviewData->version = 1; - $reviewData->reviewer = $reviewer; - $this->dao->insert(TABLE_STORYREVIEW)->data($reviewData)->exec(); + $reviewData = new stdclass(); + $reviewData->story = $storyID; + $reviewData->version = 1; + $reviewData->reviewer = $reviewer; + $this->dao->insert(TABLE_STORYREVIEW)->data($reviewData)->exec(); - if(empty($assignedTo)) $assignedTo = $reviewer; - } - if($assignedTo) $this->dao->update(TABLE_STORY)->set('assignedTo')->eq($assignedTo)->set('assignedDate')->eq($now)->where('id')->eq($storyID)->exec(); + if(empty($assignedTo)) $assignedTo = $reviewer; } + if($assignedTo) $this->dao->update(TABLE_STORY)->set('assignedTo')->eq($assignedTo)->set('assignedDate')->eq($now)->where('id')->eq($storyID)->exec(); $this->executeHooks($storyID); diff --git a/module/story/view/batchcreate.html.php b/module/story/view/batchcreate.html.php index 46baae21af..9efebb124e 100644 --- a/module/story/view/batchcreate.html.php +++ b/module/story/view/batchcreate.html.php @@ -96,10 +96,10 @@