Exemplo n.º 1
0
    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]))
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)