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 @@ ' style='overflow:visible'> '> '> - {$lang->story->ditto}"; - ?> +
+ + story->ditto;?> +
'> control == 'select' or $extendField->control == 'multi-select') ? " style='overflow:visible'" : '') . ">" . $this->loadModel('flow')->getFieldControl($extendField, '', $extendField->field . '[$id]') . "";?> @@ -128,14 +128,11 @@ $(function() idEnd: , rowCreator: function($row, index) { - console.log($row); - console.log(index); $row.find('select.chosen,select.picker-select').each(function() { var $select = $(this); if($select.hasClass('picker-select')) $select.parent().find('.picker').remove(); if(index == 0) $select.find("option[value='ditto']").remove(); - if(index == 0) $select.find("#dittoBox").remove(); if(index > 0) $select.val('ditto'); if($select.attr('id').indexOf('branch') >= 0) $select.val('') $select.chosen(); @@ -149,6 +146,12 @@ $(function() { $row.find('.input-story-title').val(storyTitle).after(''); } + $row.find(".reviewerDitto").each(function() + { + var $select = $(this); + if(index == 0) $select.remove(); + if(index > 0) $select.find("input[name*='reviewDitto']").attr('checked', true); + }); } });