Esempio n. 1
0
 def test_get_call_center_cases_all(self):
     factory = CaseFactory(domain=TEST_DOMAIN, case_defaults={
         'user_id': self.user_id,
         'owner_id': self.user_id,
         'case_type': CASE_TYPE,
         'update': {'hq_user_id': self.user_id}
     })
     factory.create_or_update_cases([
         CaseStructure(attrs={'create': True}),
         CaseStructure(attrs={'create': True}),
         CaseStructure(attrs={'create': True, 'owner_id': 'another_user'}),
     ])
     cases = get_call_center_cases(TEST_DOMAIN, CASE_TYPE)
     self.assertEqual(len(cases), 3)
Esempio n. 2
0
 def test_get_call_center_cases_all(self):
     factory = CaseFactory(domain=TEST_DOMAIN, case_defaults={
         'user_id': self.user_id,
         'owner_id': self.user_id,
         'case_type': CASE_TYPE,
         'update': {'hq_user_id': self.user_id}
     })
     factory.create_or_update_cases([
         CaseStructure(attrs={'create': True}),
         CaseStructure(attrs={'create': True}),
         CaseStructure(attrs={'create': True, 'owner_id': 'another_user'}),
     ])
     cases = get_call_center_cases(TEST_DOMAIN, CASE_TYPE)
     self.assertEqual(len(cases), 3)
Esempio n. 3
0
 def test_get_call_center_cases_for_user(self):
     factory = CaseFactory(domain=TEST_DOMAIN, case_defaults={
         'user_id': self.user_id,
         'owner_id': self.user_id,
         'case_type': CASE_TYPE,
         'update': {'hq_user_id': self.user_id}
     })
     c1, c2, c3 = factory.create_or_update_cases([
         CaseStructure(attrs={'create': True}),
         CaseStructure(attrs={'create': True}),
         CaseStructure(attrs={'create': True, 'owner_id': 'another_user'}),
     ])
     cases = get_call_center_cases(TEST_DOMAIN, CASE_TYPE, self.user)
     self.assertEqual(len(cases), 2)
     case_ids = {case.case_id for case in cases}
     user_ids = {case.hq_user_id for case in cases}
     self.assertEqual(case_ids, set([c1.case_id, c2.case_id]))
     self.assertEqual(user_ids, set([self.user_id]))
Esempio n. 4
0
def calculate_indicators():
    """
    Although this task runs every 15 minutes it only re-calculates the
    indicators for a domain if we're within 15 minutes after midnight in
    the domain's timezone.
    """
    domains = [
        domain
        for domain in get_call_center_domains()
        if is_midnight_for_domain(domain.midnight, error_margin=15)
    ]
    for domain in domains:
        all_cases = get_call_center_cases(domain.name, domain.cc_case_type)
        indicator_set = CallCenterIndicators(
            domain.name,
            domain.default_timezone,
            domain.cc_case_type,
            user=None,
            override_cases=all_cases,
            override_cache=True
        )
        indicator_set.get_data()
Esempio n. 5
0
def calculate_indicators():
    """
    Although this task runs every 15 minutes it only re-calculates the
    indicators for a domain if we're within 15 minutes after midnight in
    the domain's timezone.
    """
    domains = [
        domain for domain in get_call_center_domains()
        for midnight in domain.midnights
        if is_midnight_for_domain(midnight, error_margin=20)
    ]
    logger.info(
        "Calculating callcenter indicators for domains:\n{}".format(domains))
    for domain in domains:
        all_cases = get_call_center_cases(domain.name, domain.cc_case_type)
        indicator_set = CallCenterIndicators(domain.name,
                                             domain.default_timezone,
                                             domain.cc_case_type,
                                             user=None,
                                             override_cases=all_cases,
                                             override_cache=True)
        indicator_set.get_data()
Esempio n. 6
0
    def call_center_cases(self):
        if self.override_cases:
            return self.override_cases

        return get_call_center_cases(self.domain, self.cc_case_type, self.user)
Esempio n. 7
0
    def call_center_cases(self):
        if self.override_cases:
            return self.override_cases

        return get_call_center_cases(self.domain, self.cc_case_type, self.user)