def get_first_survey_response(self, case, dt): timestamp_start = datetime.combine(dt, time(20, 45)) timestamp_start = UserTime( timestamp_start, self.timezone).server_time().done() timestamp_end = datetime.combine(dt + timedelta(days=1), time(11, 45)) timestamp_end = UserTime( timestamp_end, self.timezone).server_time().done() if timestamp_end > datetime.utcnow(): return RESPONSE_NOT_APPLICABLE survey_responses = SMS.by_recipient( 'CommCareCase', case.get_id ).filter( direction=INCOMING, xforms_session_couch_id__isnull=False, date__gte=timestamp_start, date__lte=timestamp_end ).order_by('date')[:1] if survey_responses: return survey_responses[0] return NO_RESPONSE
def get_participant_messages(self, case): return SMS.by_recipient( 'CommCareCase', case.get_id ).filter( direction=OUTGOING )