예제 #1
0
def initialize_domain_with_default_roles(domain):
    """Outside of tests this is only called when creating a new domain"""
    for role_name in UserRolePresets.INITIAL_ROLES:
        UserRole.create(domain, role_name, permissions=UserRolePresets.get_permissions(role_name))
예제 #2
0
    def setUpClass(cls):
        super(AllCommCareUsersTest, cls).setUpClass()
        delete_all_users()
        hard_delete_deleted_users()
        cls.ccdomain = Domain(name='cc_user_domain')
        cls.ccdomain.save()
        cls.other_domain = Domain(name='other_domain')
        cls.other_domain.save()
        bootstrap_location_types(cls.ccdomain.name)

        initialize_domain_with_default_roles(cls.ccdomain.name)
        cls.user_roles = UserRole.objects.get_by_domain(cls.ccdomain.name)
        cls.custom_role = UserRole.create(cls.ccdomain.name, "Custom Role")

        cls.loc1 = make_loc('spain', domain=cls.ccdomain.name, type="district")
        cls.loc2 = make_loc('madagascar',
                            domain=cls.ccdomain.name,
                            type="district")

        cls.ccuser_1 = CommCareUser.create(
            domain=cls.ccdomain.name,
            username='******',
            password='******',
            created_by=None,
            created_via=None,
            email='*****@*****.**',
        )
        cls.ccuser_1.set_location(cls.loc1)
        cls.ccuser_1.save()
        cls.ccuser_2 = CommCareUser.create(
            domain=cls.ccdomain.name,
            username='******',
            password='******',
            created_by=None,
            created_via=None,
            email='*****@*****.**',
        )
        cls.ccuser_2.set_role(cls.ccdomain.name,
                              cls.custom_role.get_qualified_id())
        cls.ccuser_2.set_location(cls.loc2)
        cls.ccuser_2.save()

        cls.web_user = WebUser.create(
            domain=cls.ccdomain.name,
            username='******',
            password='******',
            created_by=None,
            created_via=None,
            email='*****@*****.**',
        )
        cls.location_restricted_web_user = WebUser.create(
            domain=cls.ccdomain.name,
            username='******',
            password='******',
            created_by=None,
            created_via=None,
            email='*****@*****.**',
        )
        cls.location_restricted_web_user.add_to_assigned_locations(
            domain=cls.ccdomain.name, location=cls.loc2)

        cls.ccuser_other_domain = CommCareUser.create(
            domain=cls.other_domain.name,
            username='******',
            password='******',
            created_by=None,
            created_via=None,
            email='*****@*****.**',
        )
        cls.retired_user = CommCareUser.create(
            domain=cls.ccdomain.name,
            username='******',
            password='******',
            created_by=None,
            created_via=None,
            email='*****@*****.**',
        )
        cls.retired_user.retire(cls.ccdomain.name, deleted_by=None)

        cls.ccuser_inactive = CommCareUser.create(
            domain=cls.ccdomain.name,
            username='******',
            password='******',
            created_by=None,
            created_via=None,
            email='*****@*****.**',
        )
        cls.ccuser_inactive.is_active = False
        cls.ccuser_inactive.save()
        cls.ccuser_inactive.set_location(cls.loc2)
예제 #3
0
    def setUpClass(cls):
        super().setUpClass()

        cls.domain = 'old_shelf'
        cls.domain_obj = create_domain(cls.domain)

        cls.role = UserRole.create(domain=cls.domain, name='App Editor')
        cls.qualified_role_id = cls.role.get_qualified_id()

        cls.user1 = WebUser.create(
            cls.domain_obj.name,
            '*****@*****.**',
            'badpassword',
            None,
            None,
            email='*****@*****.**',
            first_name='Edith',
            last_name='Wharton',
            role_id=cls.role.get_id,
        )

        cls.user2 = WebUser.create(
            cls.domain_obj.name,
            '*****@*****.**',
            'anotherbadpassword',
            None,
            None,
            email='*****@*****.**',
            first_name='George',
            last_name='Eliot',
            is_admin=True,
        )

        cls.invited_user = Invitation.objects.create(
            email='*****@*****.**',
            domain=cls.domain_obj.name,
            invited_by='*****@*****.**',
            invited_on=datetime.utcnow(),
            role=cls.qualified_role_id,
        )

        cls.other_domain = 'new_shelf'
        cls.other_domain_obj = create_domain(cls.other_domain)

        cls.other_role = UserRole.create(domain=cls.domain, name='User Admin')

        cls.user10 = WebUser.create(
            cls.other_domain_obj.name,
            '*****@*****.**',
            'secret',
            None,
            None,
            email='*****@*****.**',
            first_name='Susan',
            last_name='Choi',
            role_id=cls.other_role.get_id,
        )

        cls.user11 = WebUser.create(
            cls.other_domain_obj.name,
            '*****@*****.**',
            'secret',
            None,
            None,
            email='*****@*****.**',
            first_name='Zadie',
            last_name='Smith',
            role_id=cls.other_role.get_id,
        )

        cls.other_invited_user = Invitation.objects.create(
            email='*****@*****.**',
            domain=cls.other_domain_obj.name,
            invited_by='*****@*****.**',
            invited_on=datetime.utcnow(),
            role=cls.other_role.get_qualified_id())

        populate_user_index([cls.user1, cls.user2, cls.user10, cls.user11])
예제 #4
0
 def setUpTestData(cls):
     cls.role1_permissions = Permissions(edit_web_users=True)
     cls.role1 = UserRole.create(cls.domain, 'role1', permissions=cls.role1_permissions)