def test_get_case_ids_by_owners_closed(self): case1 = _create_case(user_id="user1") case2 = _create_case(user_id="user1", closed=True) case3 = _create_case(user_id="user2") case4 = _create_case(user_id="user3", closed=True) case_ids = CaseAccessorSQL.get_case_ids_in_domain_by_owners( DOMAIN, ["user1", "user3"], closed=True) self.assertEqual(set(case_ids), set([case2.case_id, case4.case_id])) case_ids = CaseAccessorSQL.get_case_ids_in_domain_by_owners( DOMAIN, ["user1", "user2", "user3"], closed=False) self.assertEqual(set(case_ids), set([case1.case_id, case3.case_id]))
def test_get_case_ids_by_owners_closed(self): case1 = _create_case(user_id="user1") case2 = _create_case(user_id="user1", closed=True) case3 = _create_case(user_id="user2") case4 = _create_case(user_id="user3", closed=True) case_ids = CaseAccessorSQL.get_case_ids_in_domain_by_owners(DOMAIN, ["user1", "user3"], closed=True) self.assertEqual(set(case_ids), set([case2.case_id, case4.case_id])) case_ids = CaseAccessorSQL.get_case_ids_in_domain_by_owners( DOMAIN, ["user1", "user2", "user3"], closed=False ) self.assertEqual(set(case_ids), set([case1.case_id, case3.case_id]))
def get_case_ids_for_reassignment(domain, location_id): """ :return: for cases that belong to location_id return a dict mapping for all case ids under a household id and a set of all other case ids """ all_case_ids = CaseAccessorSQL.get_case_ids_in_domain_by_owners(domain, [location_id]) other_case_ids = set(all_case_ids) child_case_ids_per_household_id = {} for household_case_id in get_household_case_ids(domain, location_id): household_child_case_ids = get_household_child_case_ids_by_owner( domain, household_case_id, location_id) other_case_ids.remove(household_case_id) other_case_ids = other_case_ids - set(household_child_case_ids) child_case_ids_per_household_id[household_case_id] = household_child_case_ids return child_case_ids_per_household_id, other_case_ids
def get_case_ids_for_reassignment(domain, location_id): """ :return: for cases that belong to location_id return a dict mapping for all case ids under a household id and a list of all other case ids """ all_case_ids = CaseAccessorSQL.get_case_ids_in_domain_by_owners(domain, [location_id]) all_cases = CaseAccessors(domain).get_cases(all_case_ids) other_case_ids = set([case.case_id for case in all_cases if case.type not in CASE_TYPES_TO_IGNORE]) child_case_ids_per_household_id = {} for household_case_id in get_household_case_ids(domain, location_id): household_child_case_ids = get_household_child_case_ids_by_owner( domain, household_case_id, location_id) other_case_ids.remove(household_case_id) other_case_ids = other_case_ids - set(household_child_case_ids) child_case_ids_per_household_id[household_case_id] = household_child_case_ids return child_case_ids_per_household_id, list(other_case_ids)
def get_household_case_ids(domain, location_id): return CaseAccessorSQL.get_case_ids_in_domain_by_owners( domain, [location_id], case_type=HOUSEHOLD_CASE_TYPE)