def add_user_group(request: HttpRequest, user_profile: UserProfile, name: str=REQ(), members: List[int]=REQ(validator=check_list(check_int), default=[]), description: str=REQ()) -> HttpResponse: user_profiles = user_ids_to_users(members, user_profile.realm) check_add_user_group(user_profile.realm, name, user_profiles, description) return json_success()
def add_user_group(request: HttpRequest, user_profile: UserProfile, name: str=REQ(), members: List[int]=REQ(validator=check_list(check_int), default=[]), description: str=REQ()) -> HttpResponse: user_profiles = user_ids_to_users(members, user_profile.realm) check_add_user_group(user_profile.realm, name, user_profiles, description) return json_success()
def add_user_group(request, user_profile, name=REQ(), members=REQ(validator=check_list(check_int), default=[]), description=REQ()): # type: (HttpRequest, UserProfile, Text, List[int], Text) -> HttpResponse user_profiles = user_ids_to_users(members, user_profile.realm) check_add_user_group(user_profile.realm, name, user_profiles, description) return json_success()
def remove_members_from_group_backend(request, user_profile, user_group_id, members): # type: (HttpRequest, UserProfile, int, List[int]) -> HttpResponse if not members: return json_success() user_profiles = user_ids_to_users(members, user_profile.realm) user_group = access_user_group_by_id(user_group_id, user_profile.realm) remove_members_from_user_group(user_group, user_profiles) return json_success()
def remove_members_from_group_backend(request: HttpRequest, user_profile: UserProfile, user_group_id: int, members: List[int]) -> HttpResponse: if not members: return json_success() user_profiles = user_ids_to_users(members, user_profile.realm) user_group = access_user_group_by_id(user_group_id, user_profile.realm) remove_members_from_user_group(user_group, user_profiles) return json_success()
def remove_members_from_group_backend(request: HttpRequest, user_profile: UserProfile, user_group_id: int, members: List[int]) -> HttpResponse: if not members: return json_success() user_profiles = user_ids_to_users(members, user_profile.realm) user_group = access_user_group_by_id(user_group_id, user_profile) group_member_ids = get_user_group_members(user_group) for member in members: if (member not in group_member_ids): raise JsonableError(_("There is no member '%s' in this user group" % (member,))) remove_members_from_user_group(user_group, user_profiles) return json_success()
def remove_members_from_group_backend(request: HttpRequest, user_profile: UserProfile, user_group_id: int, members: List[int]) -> HttpResponse: if not members: return json_success() user_profiles = user_ids_to_users(members, user_profile.realm) user_group = access_user_group_by_id(user_group_id, user_profile) group_member_ids = get_user_group_members(user_group) for member in members: if (member not in group_member_ids): raise JsonableError(_("There is no member '%s' in this user group" % (member,))) remove_members_from_user_group(user_group, user_profiles) return json_success()
def add_members_to_group_backend(request: HttpRequest, user_profile: UserProfile, user_group_id: int, members: List[int]) -> HttpResponse: if not members: return json_success() user_group = access_user_group_by_id(user_group_id, user_profile) user_profiles = user_ids_to_users(members, user_profile.realm) existing_member_ids = set(get_memberships_of_users(user_group, user_profiles)) for user_profile in user_profiles: if user_profile.id in existing_member_ids: raise JsonableError(_("User %s is already a member of this group" % (user_profile.id,))) bulk_add_members_to_user_group(user_group, user_profiles) return json_success()
def add_members_to_group_backend(request: HttpRequest, user_profile: UserProfile, user_group_id: int, members: List[int]) -> HttpResponse: if not members: return json_success() user_group = access_user_group_by_id(user_group_id, user_profile) user_profiles = user_ids_to_users(members, user_profile.realm) existing_member_ids = set(get_memberships_of_users(user_group, user_profiles)) for user_profile in user_profiles: if user_profile.id in existing_member_ids: raise JsonableError(_("User %s is already a member of this group" % (user_profile.id,))) bulk_add_members_to_user_group(user_group, user_profiles) return json_success()
def test_user_ids_to_users(self) -> None: real_user_ids = [ self.example_user('hamlet').id, self.example_user('cordelia').id, ] user_ids_to_users(real_user_ids, get_realm("zulip")) with self.assertRaises(JsonableError): user_ids_to_users([1234], get_realm("zephyr")) with self.assertRaises(JsonableError): user_ids_to_users(real_user_ids, get_realm("zephyr"))
def test_user_ids_to_users(self) -> None: real_user_ids = [ self.example_user('hamlet').id, self.example_user('cordelia').id, ] user_ids_to_users(real_user_ids, get_realm("zulip")) with self.assertRaises(JsonableError): user_ids_to_users([1234], get_realm("zephyr")) with self.assertRaises(JsonableError): user_ids_to_users(real_user_ids, get_realm("zephyr"))
def remove_members_from_group_backend(request: HttpRequest, user_profile: UserProfile, user_group_id: int, members: Sequence[int]) -> HttpResponse: if not members: return json_success(request) user_profiles = user_ids_to_users(members, user_profile.realm) user_group = access_user_group_by_id(user_group_id, user_profile) group_member_ids = get_user_group_direct_members(user_group) for member in members: if member not in group_member_ids: raise JsonableError( _("There is no member '{}' in this user group").format(member)) user_profile_ids = [user.id for user in user_profiles] remove_members_from_user_group(user_group, user_profile_ids) return json_success(request)
def test_user_ids_to_users(self) -> None: real_user_ids = [ self.example_user('hamlet').id, self.example_user('cordelia').id, ] self.assertEqual(user_ids_to_users([], get_realm("zulip")), []) self.assertEqual(set([user_profile.id for user_profile in user_ids_to_users(real_user_ids, get_realm("zulip"))]), set(real_user_ids)) with self.assertRaises(JsonableError): user_ids_to_users([1234], get_realm("zephyr")) with self.assertRaises(JsonableError): user_ids_to_users(real_user_ids, get_realm("zephyr"))
def test_user_ids_to_users(self) -> None: real_user_ids = [ self.example_user('hamlet').id, self.example_user('cordelia').id, ] self.assertEqual(user_ids_to_users([], get_realm("zulip")), []) self.assertEqual(set([user_profile.id for user_profile in user_ids_to_users(real_user_ids, get_realm("zulip"))]), set(real_user_ids)) with self.assertRaises(JsonableError): user_ids_to_users([1234], get_realm("zephyr")) with self.assertRaises(JsonableError): user_ids_to_users(real_user_ids, get_realm("zephyr"))
def add_members_to_group_backend(request: HttpRequest, user_profile: UserProfile, user_group_id: int, members: Sequence[int]) -> HttpResponse: if not members: return json_success(request) user_group = access_user_group_by_id(user_group_id, user_profile) user_profiles = user_ids_to_users(members, user_profile.realm) existing_member_ids = set( get_direct_memberships_of_users(user_group, user_profiles)) for user_profile in user_profiles: if user_profile.id in existing_member_ids: raise JsonableError( _("User {user_id} is already a member of this group").format( user_id=user_profile.id, )) user_profile_ids = [user.id for user in user_profiles] bulk_add_members_to_user_group(user_group, user_profile_ids) return json_success(request)