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()
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)