Skip to content

Commit

Permalink
[LINST] fix survey and date issues (#8858)
Browse files Browse the repository at this point in the history
Add fields to XIN validation which are not parts of groups
  • Loading branch information
ridz1208 authored Dec 12, 2023
1 parent d7a599b commit bffcae3
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions php/libraries/NDB_BVL_Instrument_LINST.class.inc
Original file line number Diff line number Diff line change
Expand Up @@ -677,7 +677,10 @@ class NDB_BVL_Instrument_LINST extends \NDB_BVL_Instrument
// The question should be added to the LinstQuestions in this
// order, before the _date is stripped below for standard
// dates to allow XINValidation to recognize the field name
$this->LinstQuestions[$pieces[1]] = ['type' => 'date'];
$this->LinstQuestions[$pieces[1]] = [
'type' => 'date',
'dateFormat' => $dateFormat,
];

if ($dateFormat === 'MonthYear') {
// Shows date without day of month
Expand Down Expand Up @@ -980,15 +983,27 @@ class NDB_BVL_Instrument_LINST extends \NDB_BVL_Instrument
$q['UserRules'] = true;

switch ($q['type']) {
// Selects (including multiselects), Basic Dates and MonthYears
// are the only type of rules that aren't part of a group
// the rest include a _status element
case 'select':
// Selects are the only type of rules that aren't part
// of a group, the rest include a _status element
$this->XINRegisterRule($question, $rules, $message);
break;
case 'date':
if ($q['dateFormat'] === 'BasicDate'
|| $q['dateFormat'] === 'MonthYear'
) {
$this->XINRegisterRule($question, $rules, $message);
break;
}
default:
$rules_array = array_merge(
$rules,
[$question.'_status{@}=={@}']
);
$this->XINRegisterRule(
$question,
$rules,
$rules_array,
$message,
$question . "_group"
);
Expand Down

0 comments on commit bffcae3

Please # to comment.