Skip to content

Commit

Permalink
Dev: Organize question groups/questions save buttons
Browse files Browse the repository at this point in the history
  • Loading branch information
LouisGac committed Nov 27, 2015
1 parent 54f1e25 commit 71dae9a
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 30 deletions.
28 changes: 19 additions & 9 deletions application/controllers/admin/surveyadmin.php
Expand Up @@ -68,7 +68,7 @@ public function listsurveys()
}

$model->active = null;

// Filter state
if (isset($_GET['active']))
{
Expand Down Expand Up @@ -1263,8 +1263,9 @@ private function _showReorderForm($iSurveyID)
$aGrouplist = QuestionGroup::model()->getGroups($iSurveyID);
$initializedReplacementFields = false;

$aData['organizebar']['returnbutton']['url'] = $this->getController()->createUrl("admin/survey/sa/view/", array('surveyid' => $iSurveyID));
$aData['organizebar']['returnbutton']['text'] = gT('return to survey summary');
$aData['organizebar']['savebuttonright'] = true;
//$aData['organizebar']['returnbutton']['url'] = $this->getController()->createUrl("admin/survey/sa/view/", array('surveyid' => $iSurveyID));
//$aData['organizebar']['returnbutton']['text'] = gT('return to survey summary');

foreach ($aGrouplist as $iGID => $aGroup)
{
Expand Down Expand Up @@ -1303,6 +1304,7 @@ private function _reorderGroup($iSurveyID)
{
$AOrgData = array();
parse_str($_POST['orgdata'], $AOrgData);

$grouporder = 0;
foreach ($AOrgData['list'] as $ID => $parent)
{
Expand All @@ -1312,18 +1314,26 @@ private function _reorderGroup($iSurveyID)
}
elseif ($ID[0] == 'q')
{
if (!isset($questionorder[(int)substr($parent, 1)]))
$questionorder[(int)substr($parent, 1)] = 0;

Question::model()->updateAll(array('question_order' => $questionorder[(int)substr($parent, 1)], 'gid' => (int)substr($parent, 1)), 'qid=:qid', array(':qid' => (int)substr($ID, 1)));
$qid = (int)substr($ID, 1);
$gid = (int)substr($parent, 1);
if (!isset($aQuestionOrder[$gid]))
$aQuestionOrder[$gid] = 0;

Question::model()->updateAll(array('gid' => (int)substr($parent, 1)), 'parent_qid=:parent_qid', array(':parent_qid' => (int)substr($ID, 1)));
$sBaseLanguage = Survey::model()->findByPk($iSurveyID)->language;
$oQuestion = Question::model()->findByPk(array("qid"=>$qid,'language'=>$sBaseLanguage));
$oldGid = $oQuestion['gid'];

$questionorder[(int)substr($parent, 1)]++;
if($oldGid != $gid) {
fixMovedQuestionConditions($qid,$oldGid,$gid,$iSurveyID);
}
Question::model()->updateAll(array('question_order' => $aQuestionOrder[$gid], 'gid' => $gid), 'qid=:qid', array(':qid' => $qid));
Question::model()->updateAll(array('gid' => $gid), 'parent_qid=:parent_qid', array(':parent_qid' => $qid));
$aQuestionOrder[$gid]++;
}
}
LimeExpressionManager::SetDirtyFlag(); // so refreshes syntax highlighting
Yii::app()->session['flashmessage'] = gT("The new question group/question order was successfully saved.");
$this->getController()->redirect(array('admin/survey/sa/view/surveyid/' . $iSurveyID));
}

/**
Expand Down
9 changes: 9 additions & 0 deletions application/views/admin/survey/Question/questionbar_view.php
Expand Up @@ -203,5 +203,14 @@ class="btn btn-default"
</a>
<?php endif;?>
</div>
<?php if(isset($questionbar['savebuttonright'])):?>
<div class="col-md-12 text-right form-inline">
<!-- Save buttons -->
<a class="btn btn-success" href="#" role="button" id="save-button">
<span class="glyphicon glyphicon-ok"></span>
<?php eT("Save");?>
</a>
</div>
<?php endif;?>
</div>
</div>
Expand Up @@ -113,6 +113,7 @@
<div class="col-md-4 col-md-offset-8 text-right">

<?php if(isset($questiongroupbar['savebutton']['form'])):?>

<!-- Save buttons -->
<a class="btn btn-success" href="#" role="button" id="save-button">
<span class="glyphicon glyphicon-ok"></span>
Expand Down
Expand Up @@ -9,12 +9,14 @@
<?php eT("To reorder questions/questiongroups just drag the question/group with your mouse to the desired position.");?><br />
<?php eT("After you are done please click the bottom 'Save' button to save your changes.");?>
</p>

<div class='movableList'>
<ol class="organizer group-list" data-level='group'>
<?php
foreach ($aGroupsAndQuestions as $aGroupAndQuestions)
{?>
<li id='list_g<?php echo $aGroupAndQuestions['gid'];?>' class='group-item' data-level='group'><div class="h4"> <?php echo flattenText($aGroupAndQuestions['group_name'],true);?></div>
<li id='list_g<?php echo $aGroupAndQuestions['gid'];?>' class='group-item' data-level='group'>
<div class="h4"> <?php echo flattenText($aGroupAndQuestions['group_name'],true);?></div>
<?php if (isset ($aGroupAndQuestions['questions']))
{?>
<ol class='question-list' data-level='question'>
Expand All @@ -31,11 +33,12 @@
}?>
</ol>
</div>

<?php echo CHtml::form(array("admin/survey/sa/organize/surveyid/{$surveyid}"), 'post', array('id'=>'frmOrganize')); ?>
<p>
<input type='hidden' id='orgdata' name='orgdata' value='' />
<input type='hidden' id='close-after-save' name='close-after-save' value='' />
<button class='hidden' id='btnSave'><?php echo eT('Save'); ?></button>
<button class='hidden' type="submit" id='btnSave'><?php echo eT('Save'); ?></button>
</p>
</form>
</div>
Expand Down
20 changes: 1 addition & 19 deletions scripts/admin/organize.js
Expand Up @@ -36,26 +36,8 @@ $(document).ready(function(){
toleranceElement: '> div'
});

// Old save button, not used
/*
$('#btnSave').click(function(){
$('#orgdata').val($('ol.organizer').nestedSortable('serialize'));
frmOrganize.submit();
})
*/

// Save
$('#organizebar-save-btn').click(function(){
$('#orgdata').val($('ol.organizer').nestedSortable('serialize'));
$('#close-after-save').val('false');
frmOrganize.submit();
})

// Save and close
$('#organizebar-save-and-close-btn').click(function(){
$('#orgdata').val($('ol.organizer').nestedSortable('serialize'));
$('#close-after-save').val('true');
frmOrganize.submit();
})

});
});

0 comments on commit 71dae9a

Please sign in to comment.