def next(self):
        key = "usr_state_{}".format(self.state['passcode'])
        if self.user_response == '1':
            # restore the previous session

            previous_session_id = Store.get(key)
            self.state = Store.get(previous_session_id)
            self.save(self.state['level'])

            # store the current user state and session id
            Store.set(key, self.session_id)

            # delete the previous session state and user state which stores the previous session id
            Store.delete(previous_session_id)

            return get_screen(self.session_id, self.phone_number,
                              self.user_response, self.state['level']).show()
        else:
            Store.delete(key)

            from apps.dhis.ussd.screen import OrgUnitScreen
            return OrgUnitScreen(session_id=self.session_id,
                                 phone_number=self.phone_number).show()
Exemple #2
0
    def ussd_end(self, display_text):
        Store.delete(self.session_id)
        Store.delete(key="usr_state_{}".format(self.state['passcode']))
        display_text = "END {}".format(display_text)

        return HttpResponse(display_text)