Esempio n. 1
0
    def test_available_units_are_all_selectable_units(self):
        selector = OrgUnitSelector({},
                                   [self.unit_a],
                                   [self.unit_a, self.unit_b, self.unit_c])

        self.assertEquals([self.unit_a, self.unit_b, self.unit_c],
                          selector.available_units())
Esempio n. 2
0
    def test_get_current_unit_returns_unit_which_is_storred_in_the_session(self):
        selector = OrgUnitSelector(
            {CURRENT_ORG_UNIT_KEY: 'clientb'},
            [self.unit_a, self.unit_b],
            [self.unit_a, self.unit_b])

        self.assertEquals(self.unit_b, selector.get_current_unit())
Esempio n. 3
0
    def test_current_unit_returns_fallback_when_storred_unit_is_not_part_of_the_current_units(self):
        selector = OrgUnitSelector({CURRENT_ORG_UNIT_KEY: 'clientb'},
                                   [self.unit_c],
                                   [self.unit_a, self.unit_b])

        self.assertEquals(self.unit_c, selector.get_current_unit())
        self.assertEquals('clientc', selector._get_current_unit_id())
Esempio n. 4
0
    def test_get_current_unit_stores_selected_unit_after_determining_fallback(self):
        storage = {}
        selector = OrgUnitSelector(storage,
                                   [self.unit_a, self.unit_b],
                                   [self.unit_a, self.unit_b])

        self.assertEquals(self.unit_a, selector.get_current_unit())
        self.assertEquals({CURRENT_ORG_UNIT_KEY: 'clienta'}, storage)
Esempio n. 5
0
    def test_set_current_unit_updates_activ_unit(self):
        selector = OrgUnitSelector(
            {CURRENT_ORG_UNIT_KEY: 'clientb'},
            [self.unit_a, self.unit_b, self.unit_c],
            [self.unit_a, self.unit_b, self.unit_c])

        selector.set_current_unit('clienta')

        self.assertEquals(self.unit_a, selector.get_current_unit())
Esempio n. 6
0
    def test_raise_value_error_when_callig_without_empty_current_unit_list(self):
        with self.assertRaises(ValueError) as cm:
            OrgUnitSelector({}, [], [])

        self.assertEquals(
            'The OrgUnitSelector needs at least one possible current unit.',
            str(cm.exception))
Esempio n. 7
0
def get_ou_selector(ignore_anonymous=False):
    site = api.portal.get()
    storage = CookieStorage(getRequest())
    mtool = getToolByName(site, 'portal_membership')
    member = mtool.getAuthenticatedMember()

    if mtool.isAnonymousUser() and not ignore_anonymous:
        return AnonymousOrgUnitSelector()

    if member.has_role('Manager'):
        users_units = ogds_service().all_org_units()
    else:
        users_units = ogds_service().assigned_org_units(member.getId())

    admin_unit_units = get_current_admin_unit().org_units

    if not admin_unit_units:
        return NoAssignedUnitsOrgUnitSelector()

    return OrgUnitSelector(storage, admin_unit_units, users_units)
Esempio n. 8
0
    def test_fallback_is_first_current_unit_if_user_is_in_none_of_current_org_units(self):
        selector = OrgUnitSelector({},
                                   [self.unit_a],
                                   [self.unit_b, self.unit_c])

        self.assertEquals(self.unit_a, selector.get_current_unit())
Esempio n. 9
0
    def test_fallback_is_first_of_intersection_between_users_and_current_adminunit_units(self):
        selector = OrgUnitSelector({},
                                   [self.unit_a, self.unit_b],
                                   [self.unit_a, self.unit_b, self.unit_c])

        self.assertEquals(self.unit_a, selector.get_current_unit())
Esempio n. 10
0
    def test_get_current_unit_returns_fallback_unit_when_no_unit_is_storred(self):
        selector = OrgUnitSelector({},
                                   [self.unit_a, self.unit_b],
                                   [self.unit_a, self.unit_b])

        self.assertEquals(self.unit_a, selector.get_current_unit())