Ejemplo n.º 1
0
 def shared_pagination_GET_params(self):
     return [
         {'name': 'startdate', 'value': self.datespan.startdate.strftime('%Y-%m-%d')},
         {'name': 'enddate', 'value': self.datespan.enddate.strftime('%Y-%m-%d')},
         {'name': EventTypeFilter.slug, 'value': EventTypeFilter.get_value(self.request, self.domain)},
         {'name': PhoneNumberFilter.slug, 'value': PhoneNumberFilter.get_value(self.request, self.domain)},
     ]
Ejemplo n.º 2
0
    def get_filters(self):
        source_filter = []
        content_type_filter = []
        event_type_filter = EventTypeFilter.get_value(self.request, self.domain)

        for source_type, x in MessagingEvent.SOURCE_CHOICES:
            if source_type in event_type_filter:
                if source_type == MessagingEvent.SOURCE_OTHER:
                    source_filter.extend([
                        MessagingEvent.SOURCE_OTHER,
                        MessagingEvent.SOURCE_FORWARDED,
                    ])
                else:
                    source_filter.append(source_type)

        for content_type, x in MessagingEvent.CONTENT_CHOICES:
            if content_type in event_type_filter:
                if content_type == MessagingEvent.CONTENT_SMS_SURVEY:
                    content_type_filter.extend([
                        MessagingEvent.CONTENT_SMS_SURVEY,
                        MessagingEvent.CONTENT_IVR_SURVEY,
                    ])
                else:
                    content_type_filter.append(content_type)

        return (source_filter, content_type_filter)
Ejemplo n.º 3
0
    def get_filters(self):
        source_filter = []
        content_type_filter = []
        event_type_filter = EventTypeFilter.get_value(self.request,
                                                      self.domain)

        for source_type, x in MessagingEvent.SOURCE_CHOICES:
            if source_type in event_type_filter:
                if source_type == MessagingEvent.SOURCE_OTHER:
                    source_filter.extend([
                        MessagingEvent.SOURCE_OTHER,
                        MessagingEvent.SOURCE_FORWARDED,
                    ])
                else:
                    source_filter.append(source_type)

        for content_type, x in MessagingEvent.CONTENT_CHOICES:
            if content_type in event_type_filter:
                if content_type == MessagingEvent.CONTENT_SMS_SURVEY:
                    content_type_filter.extend([
                        MessagingEvent.CONTENT_SMS_SURVEY,
                        MessagingEvent.CONTENT_IVR_SURVEY,
                    ])
                else:
                    content_type_filter.append(content_type)

        return (source_filter, content_type_filter)
Ejemplo n.º 4
0
 def shared_pagination_GET_params(self):
     return [
         {"name": "startdate", "value": self.datespan.startdate.strftime("%Y-%m-%d")},
         {"name": "enddate", "value": self.datespan.enddate.strftime("%Y-%m-%d")},
         {"name": EventTypeFilter.slug, "value": EventTypeFilter.get_value(self.request, self.domain)},
         {"name": PhoneNumberFilter.slug, "value": PhoneNumberFilter.get_value(self.request, self.domain)},
     ]
Ejemplo n.º 5
0
 def shared_pagination_GET_params(self):
     return [
         {'name': 'startdate', 'value': self.datespan.startdate.strftime('%Y-%m-%d')},
         {'name': 'enddate', 'value': self.datespan.enddate.strftime('%Y-%m-%d')},
         {'name': EventTypeFilter.slug, 'value': EventTypeFilter.get_value(self.request, self.domain)},
         {'name': EventStatusFilter.slug, 'value': EventStatusFilter.get_value(self.request, self.domain)},
         {'name': PhoneNumberFilter.slug, 'value': PhoneNumberFilter.get_value(self.request, self.domain)},
     ]
Ejemplo n.º 6
0
    def get_filters(self):
        source_filter = []
        content_type_filter = []
        event_status_filter = None
        event_type_filter = EventTypeFilter.get_value(self.request, self.domain)

        for source_type, x in MessagingEvent.SOURCE_CHOICES:
            if source_type in event_type_filter:
                if source_type == MessagingEvent.SOURCE_OTHER:
                    source_filter.extend([
                        MessagingEvent.SOURCE_OTHER,
                        MessagingEvent.SOURCE_FORWARDED,
                    ])
                else:
                    source_filter.append(source_type)

        for content_type, x in MessagingEvent.CONTENT_CHOICES:
            if content_type in event_type_filter:
                if content_type == MessagingEvent.CONTENT_SMS_SURVEY:
                    content_type_filter.extend([
                        MessagingEvent.CONTENT_SMS_SURVEY,
                        MessagingEvent.CONTENT_IVR_SURVEY,
                    ])
                else:
                    content_type_filter.append(content_type)

        event_status = EventStatusFilter.get_value(self.request, self.domain)
        if event_status == MessagingEvent.STATUS_ERROR:
            event_status_filter = (
                Q(status=event_status) |
                Q(messagingsubevent__status=event_status) |
                Q(messagingsubevent__sms__error=True)
            )
        elif event_status == MessagingEvent.STATUS_IN_PROGRESS:
            # We need to check for id__isnull=False below because the
            # query we make in this report has to do a left join, and
            # in this particular filter we can only validly check
            # end_time__isnull=True if there actually are
            # subevent and xforms session records
            event_status_filter = (
                Q(status=event_status) |
                Q(messagingsubevent__status=event_status) |
                (Q(messagingsubevent__xforms_session__id__isnull=False) &
                 Q(messagingsubevent__xforms_session__end_time__isnull=True))
            )
        elif event_status == MessagingEvent.STATUS_NOT_COMPLETED:
            event_status_filter = (
                Q(status=event_status) |
                Q(messagingsubevent__status=event_status) |
                (Q(messagingsubevent__xforms_session__end_time__isnull=False) &
                 Q(messagingsubevent__xforms_session__submission_id__isnull=True))
            )

        return source_filter, content_type_filter, event_status_filter
Ejemplo n.º 7
0
    def get_filters(self):
        source_filter = []
        content_type_filter = []
        event_status_filter = None
        event_type_filter = EventTypeFilter.get_value(self.request, self.domain)

        for source_type, x in MessagingEvent.SOURCE_CHOICES:
            if source_type in event_type_filter:
                if source_type == MessagingEvent.SOURCE_OTHER:
                    source_filter.extend([
                        MessagingEvent.SOURCE_OTHER,
                        MessagingEvent.SOURCE_FORWARDED,
                    ])
                else:
                    source_filter.append(source_type)

        for content_type, x in MessagingEvent.CONTENT_CHOICES:
            if content_type in event_type_filter:
                if content_type == MessagingEvent.CONTENT_SMS_SURVEY:
                    content_type_filter.extend([
                        MessagingEvent.CONTENT_SMS_SURVEY,
                        MessagingEvent.CONTENT_IVR_SURVEY,
                    ])
                else:
                    content_type_filter.append(content_type)

        event_status = EventStatusFilter.get_value(self.request, self.domain)
        if event_status == MessagingEvent.STATUS_ERROR:
            event_status_filter = (
                Q(status=event_status) |
                Q(messagingsubevent__status=event_status) |
                Q(messagingsubevent__sms__error=True)
            )
        elif event_status == MessagingEvent.STATUS_IN_PROGRESS:
            # We need to check for id__isnull=False below because the
            # query we make in this report has to do a left join, and
            # in this particular filter we can only validly check
            # end_time__isnull=True if there actually are
            # subevent and xforms session records
            event_status_filter = (
                Q(status=event_status) |
                Q(messagingsubevent__status=event_status) |
                (Q(messagingsubevent__xforms_session__id__isnull=False) &
                 Q(messagingsubevent__xforms_session__end_time__isnull=True))
            )
        elif event_status == MessagingEvent.STATUS_NOT_COMPLETED:
            event_status_filter = (
                Q(status=event_status) |
                Q(messagingsubevent__status=event_status) |
                (Q(messagingsubevent__xforms_session__end_time__isnull=False) &
                 Q(messagingsubevent__xforms_session__submission_id__isnull=True))
            )

        return source_filter, content_type_filter, event_status_filter