Reihienfolge Abhänging von Antwort implementiert. Ist die Antwort gelb, wird der nächste Fragebogen angezeigt. Ist sie nicht gelb wird der Fragebogen geskippt. Framework musste dafür angepasst bzw. erweitert werden.
This commit is contained in:
@ -218,8 +218,6 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
|
||||
updateButtonTexts()
|
||||
|
||||
val rhsPoints = buttonPoints.entries.firstOrNull { it.key.contains("questionnaire_2_rhs", ignoreCase = true) }?.value
|
||||
|
||||
var nextIndex = (completedIndexes.lastOrNull() ?: -1) + 1
|
||||
|
||||
while (nextIndex < questionnaireEntries.size) {
|
||||
@ -227,15 +225,13 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
val condition = entry.condition
|
||||
|
||||
if (condition != null) {
|
||||
val answers = MyApp.database.answerDao()
|
||||
.getAnswersForClientAndQuestionnaire(clientCode, condition.questionnaire)
|
||||
val answers = MyApp.database.answerDao().getAnswersForClientAndQuestionnaire(clientCode, condition.questionnaire)
|
||||
|
||||
val relevantAnswer = answers.find {
|
||||
it.questionId.endsWith(condition.questionId)
|
||||
}
|
||||
|
||||
val answerValue = relevantAnswer?.answerValue ?: ""
|
||||
|
||||
val conditionMet = when (condition.operator) {
|
||||
"!=" -> answerValue != condition.value
|
||||
"==" -> answerValue == condition.value
|
||||
@ -259,8 +255,6 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
val nextButton = questionnaireFiles.entries.firstOrNull { it.value == nextFileName }?.key
|
||||
setButtonsEnabled(listOfNotNull(nextButton))
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user