def test_create_and_remove(test_user): usr = test_user # make user group user_group = fixture.create_user_group('some_example_group') Session().commit() UserGroupModel().add_user_to_group(user_group, usr) Session().commit() assert UserGroup.get(user_group.users_group_id) == user_group assert UserGroupMember.query().count() == 1 UserModel().delete(usr.user_id) Session().commit() assert UserGroupMember.query().all() == []
def test_create_and_remove(self): usr = UserModel().create_or_update(username=u'test_user', password=u'qweqwe', email=u'*****@*****.**', firstname=u'u1', lastname=u'u1') Session().commit() self.assertEqual(User.get_by_username(u'test_user'), usr) # make user group users_group = UserGroupModel().create('some_example_group') Session().commit() UserGroupModel().add_user_to_group(users_group, usr) Session().commit() self.assertEqual(UserGroup.get(users_group.users_group_id), users_group) self.assertEqual(UserGroupMember.query().count(), 1) UserModel().delete(usr.user_id) Session().commit() self.assertEqual(UserGroupMember.query().all(), [])
def add_user_to_group(self, users_group, user): users_group = self._get_user_group(users_group) user = self._get_user(user) for m in users_group.members: u = m.user if u.user_id == user.user_id: return True try: users_group_member = UserGroupMember() users_group_member.user = user users_group_member.users_group = users_group users_group.members.append(users_group_member) user.group_member.append(users_group_member) self.sa.add(users_group_member) return users_group_member except Exception: log.error(traceback.format_exc()) raise
def add_user_to_group(self, users_group, user): users_group = self.__get_users_group(users_group) user = self._get_user(user) for m in users_group.members: u = m.user if u.user_id == user.user_id: return True try: users_group_member = UserGroupMember() users_group_member.user = user users_group_member.users_group = users_group users_group.members.append(users_group_member) user.group_member.append(users_group_member) self.sa.add(users_group_member) return users_group_member except Exception: log.error(traceback.format_exc()) raise
def update(self, users_group, form_data): try: users_group = self.__get_users_group(users_group) for k, v in form_data.items(): if k == 'users_group_members': users_group.members = [] self.sa.flush() members_list = [] if v: v = [v] if isinstance(v, basestring) else v for u_id in set(v): member = UserGroupMember(users_group.users_group_id, u_id) members_list.append(member) setattr(users_group, 'members', members_list) setattr(users_group, k, v) self.sa.add(users_group) except Exception: log.error(traceback.format_exc()) raise
def _get_membership(self, user_group_id, user_id): user_group_member = UserGroupMember(user_group_id, user_id) return user_group_member