예제 #1
0
def cases_in_last(domain, days, case_type=None):
    """
    Returns the number of open cases that have been modified in the last <days> days
    """
    now = datetime.utcnow()
    then = json_format_datetime(now - timedelta(days=int(days)))
    now = json_format_datetime(now)

    query = CaseES().domain(domain).modified_range(gte=then, lte=now).is_closed(False)
    if case_type:
        query = query.case_type(case_type)
    return query.count()
예제 #2
0
    def es_results(self):
        query = CaseES('report_cases').domain(self.domain)
        if self.case_type:
            query = query.case_type(self.case_type)

        if self.case_filter:
            query = query.filter(self.case_filter)

        if self.case_status:
            query = query.filter(filters.term("closed", self.case_status == 'closed'))

        query = (
            query
            .set_sorting_block(self.get_sorting_block())
            .start(self.pagination.start)
            .size(self.pagination.count)
        )
        return query.run().hits