Skip to content

Commit

Permalink
Fixed issue #09369: Mandatory type N fields are validated upon first …
Browse files Browse the repository at this point in the history
…submit

Dev : leave mandatory for mandatory in other question too
  • Loading branch information
Shnoulle committed Dec 9, 2014
1 parent 2e78f99 commit 759a5e5
Showing 1 changed file with 9 additions and 31 deletions.
40 changes: 9 additions & 31 deletions application/helpers/expressions/em_manager_helper.php
Expand Up @@ -1371,7 +1371,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
foreach($subqs as $sq)
{
$sq_name = ($this->sgqaNaming)?$sq['rowdivid'].".NAOK":$sq['varName'].".NAOK";
$sq_equs[] = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';// Leave mandatory to mandatory attribute (see #08946)
$sq_equs[] = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';// Leave mandatory to mandatory attribute
if($type=="K")
$subqValidSelector = $sq['jsVarName_on'];
else
Expand All @@ -1398,7 +1398,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
foreach($subqs as $sq)
{
$sq_name = ($this->sgqaNaming)?$sq['rowdivid'].".NAOK":$sq['varName'].".NAOK";
$sq_equ = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';// Leave mandatory to mandatory attribute (see #08665)
$sq_equ = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';// Leave mandatory to mandatory attribute
$subqValidSelector = $sq['jsVarName_on'];
if (!is_null($sq_name)) {
$sq_equs[] = $sq_equ;
Expand Down Expand Up @@ -1452,11 +1452,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
foreach($subqs as $sq)
{
$sq_name = ($this->sgqaNaming)?$sq['rowdivid'].".NAOK":$sq['varName'].".NAOK";
if(($qinfo['mandatory']=='Y')){
$sq_equs[] = '('.$sq_name.'!="INVALID")';
}else{
$sq_equs[] = '('.$sq_name.'!="INVALID")';
}
$sq_equs[] = '('.$sq_name.'!="INVALID")';
}
if (!isset($validationEqn[$questionNum]))
{
Expand Down Expand Up @@ -1562,12 +1558,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
}

$sq_name = ($this->sgqaNaming)?$sq['rowdivid'].".NAOK":$sq['varName'].".NAOK";

if(($qinfo['mandatory']=='Y')){
$sq_name = '('. $sq_name . ' >= ' . $date_min . ')';
}else{
$sq_name = '(is_empty(' . $sq_name . ') || ('. $sq_name . ' >= ' . $date_min . '))';
}
$sq_name = '(is_empty(' . $sq_name . ') || ('. $sq_name . ' >= ' . $date_min . '))';
$subqValidSelector = '';
break;
default:
Expand Down Expand Up @@ -1636,12 +1627,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
}

$sq_name = ($this->sgqaNaming)?$sq['rowdivid'].".NAOK":$sq['varName'].".NAOK";

if(($qinfo['mandatory']=='Y')){
$sq_name = '(is_empty(' . $date_max . ') || ('. $sq_name . ' <= ' . $date_max . '))';
}else{
$sq_name = '(is_empty(' . $sq_name . ') || is_empty(' . $date_max . ') || ('. $sq_name . ' <= ' . $date_max . '))';
}
$sq_name = '(is_empty(' . $sq_name . ') || is_empty(' . $date_max . ') || ('. $sq_name . ' <= ' . $date_max . '))';
$subqValidSelector = '';
break;
default:
Expand Down Expand Up @@ -2579,11 +2565,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
$subqValidSelector = $sq['jsVarName_on'];
case 'N': //NUMERICAL QUESTION TYPE
$sq_name = ($this->sgqaNaming)?$sq['rowdivid'].".NAOK":$sq['varName'].".NAOK";
if(($qinfo['mandatory']=='Y')){
$sq_eqn = 'is_int('.$sq_name.')';
}else{
$sq_eqn = 'is_int('.$sq_name.') || is_empty('.$sq_name.')';
}
$sq_eqn = 'is_int('.$sq_name.') || is_empty('.$sq_name.')';
break;
default:
break;
Expand Down Expand Up @@ -2631,11 +2613,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
foreach($subqs as $sq)
{
$sq_name = ($this->sgqaNaming)?$sq['rowdivid'].".NAOK":$sq['varName'].".NAOK";
if(($qinfo['mandatory']=='Y')){
$sq_equs[] = 'is_numeric('.$sq_name.')';
}else{
$sq_equs[] = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';
}
$sq_equs[] = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';
}
if (!isset($validationEqn[$questionNum]))
{
Expand All @@ -2658,7 +2636,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
foreach($subqs as $sq)
{
$sq_name = ($this->sgqaNaming)?$sq['rowdivid'].".NAOK":$sq['varName'].".NAOK";
$sq_equ = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';// Leave mandatory to mandatory attribute (see #08665)
$sq_equ = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';// Leave mandatory to mandatory attribute
$subqValidSelector = $sq['jsVarName_on'];
if (!is_null($sq_name)) {
$sq_equs[] = $sq_equ;
Expand Down Expand Up @@ -2690,7 +2668,7 @@ public function _CreateSubQLevelRelevanceAndValidationEqns($onlyThisQseq=NULL)
foreach($subqs as $sq)
{
$sq_name = ($this->sgqaNaming)?substr($sq['jsVarName'],4).".NAOK":$sq['varName'].".NAOK";
$sq_equ = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';// Leave mandatory to mandatory attribute (see #08665)
$sq_equ = '( is_numeric('.$sq_name.') || is_empty('.$sq_name.') )';// Leave mandatory to mandatory attribute
$subqValidSelector = $sq['jsVarName_on'];
if (!is_null($sq_name)) {
$sq_equs[] = $sq_equ;
Expand Down

0 comments on commit 759a5e5

Please sign in to comment.