Esempio n. 1
0
    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
Esempio n. 2
0
 def get_participant_messages(self, case):
     return SMS.by_recipient(
         'CommCareCase',
         case.get_id
     ).filter(
         direction=OUTGOING
     )