Skip to content

Commit

Permalink
Fixed issue #05772: Slider "total" and "remaining" values are not rou…
Browse files Browse the repository at this point in the history
…nded

git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_yii@12389 b72ed6b6-b9f8-46b5-92b4-906544132732
  • Loading branch information
tmswhite committed Feb 7, 2012
1 parent 782cf34 commit 3daf6bf
Showing 1 changed file with 26 additions and 2 deletions.
28 changes: 26 additions & 2 deletions application/helpers/expressions/em_manager_helper.php
Expand Up @@ -562,14 +562,38 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
{
$validationEqn[$questionNum] = array();
}
// sumEqn and sumRemainingEqn may need to be rounded if using sliders
$precision=NULL; // default is not to round
if (isset($qattr['slider_layout']) && $qattr['slider_layout']=='1')
{
$precision=0; // default is to round to whole numbers
if (isset($qattr['slider_accuracy']) && trim($qattr['slider_accuracy'])!='')
{
$slider_accuracy = $qattr['slider_accuracy'];
$_parts = explode('.',$slider_accuracy);
if (isset($_parts[1]))
{
$precision = strlen($_parts[1]); // number of digits after mantissa
}
}
}
$sumEqn = 'sum(' . implode(', ', $sq_names) . ')';
$sumRemainingEqn = '(' . $equals_num_value . ' - sum(' . implode(', ', $sq_names) . '))';

if (!is_null($precision))
{
$sumEqn = 'round(' . $sumEqn . ', ' . $precision . ')';
$sumRemainingEqn = 'round(' . $sumRemainingEqn . ', ' . $precision . ')';
}

$validationEqn[$questionNum][] = array(
'qtype' => $type,
'type' => 'equals_num_value',
'class' => 'sum_range',
'eqn' => '(sum(' . implode(', ', $sq_names) . ') == (' . $equals_num_value . ') || count(' . implode(', ', $sq_names) . ') == 0)',
'qid' => $questionNum,
'sumEqn' => 'sum(' . implode(', ', $sq_names) . ')',
'sumRemainingEqn' => '(' . $equals_num_value . ' - sum(' . implode(', ', $sq_names) . '))',
'sumEqn' => $sumEqn,
'sumRemainingEqn' => $sumRemainingEqn,
);
}
}
Expand Down

0 comments on commit 3daf6bf

Please sign in to comment.