From 05fbf7e4c3b86cb05831a6787568a807f640aabd Mon Sep 17 00:00:00 2001 From: Hlamalani Date: Wed, 2 Aug 2023 11:07:43 +0200 Subject: [PATCH] fix validation --- yal/main.py | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/yal/main.py b/yal/main.py index 63aac40e..bd7fc84f 100644 --- a/yal/main.py +++ b/yal/main.py @@ -204,30 +204,30 @@ async def process_message(self, message): endline_survey_started = self.user.metadata.get("endline_survey_started") endline_reminder = self.user.metadata.get("endline_reminder") - if endline_survey_started: + if ( + keyword in EJAF_ENDLINE_SURVEY_KEYWORDS + and baseline_survey_completed + and not endline_survey_completed + ): + self.save_metadata("assessment_reminder_sent", False) + self.save_metadata("assessment_reminder_name", "") self.user.session_id = None - if ( - keyword in EJAF_ENDLINE_SURVEY_KEYWORDS - and baseline_survey_completed - and not endline_survey_completed - ): - self.save_metadata("assessment_reminder_sent", False) - self.save_metadata("assessment_reminder_name", "") - - if keyword == "remind me tomorrow": - self.state_name = AssessmentApplication.REMINDER_STATE - elif keyword == "i m not interested": - if endline_reminder: - self.state_name = ( - AssessmentApplication.REMINDER_NOT_INTERESTED_STATE - ) - else: - self.state_name = EndlineTermsApplication.NO_CONSENT_STATE + if keyword == "remind me tomorrow": + self.state_name = AssessmentApplication.REMINDER_STATE + elif keyword == "i m not interested": + if endline_reminder: + self.state_name = ( + AssessmentApplication.REMINDER_NOT_INTERESTED_STATE + ) else: - self.state_name = EndlineTermsApplication.START_STATE + self.state_name = EndlineTermsApplication.NO_CONSENT_STATE else: - self.state_name = EndlineSurveyApplication.SURVEY_VALIDATION_STATE + self.state_name = EndlineTermsApplication.START_STATE + + if endline_survey_started and keyword not in EJAF_ENDLINE_SURVEY_KEYWORDS: + self.user.session_id = None + self.state_name = EndlineSurveyApplication.SURVEY_VALIDATION_STATE # Fields that RapidPro sets after a feedback push message feedback_state = await self.get_feedback_state()