Exemplo n.º 1
0
    def activity_summary(self, message, period=None):
        '''Get a reporters activity summary'''
        reporter = message.persistant_connection.reporter
        duration_end = datetime.datetime.now()
        if period is None or period.lower() == "all":
            ml = MessageLog.objects.filter(sent_by=reporter)\
                    .order_by('created_at')
            if ml:
                duration_start = ml[0].created_at
        elif period.lower() == "month":
            last_30_days = datetime.timedelta(30)
            duration_start = duration_end - last_30_days
        elif period.lower() == "week":
            last_seven_days = datetime.timedelta(7)
            duration_start = duration_end - last_seven_days
        elif period.lower() == "day":
            duration_start = day_start(datetime.datetime.today())
        else:
            duration_start = None
            msg = "No Summary"

        if duration_start is not None:
            summary = ReportCHWStatus.reporter_summary(duration_start, \
                                                duration_end, reporter)

            msg = _("%(reporter)s: %(num_cases)s children, "\
                "#new %(num_new_cases)s, #dead %(num_dead)s, "\
                "#inactive %(num_cases_inactive)s" \
                ", #mrdt %(num_malaria_reports)s, #muac %(num_muac)s. ")\
                 % summary

        message.respond(_("%s") % msg)
        return True