mirror of https://github.com/zulip/zulip.git
parent
b7764eb6f0
commit
4d06626b6f
|
@ -30,6 +30,13 @@ format used by the Zulip server that they are interacting with.
|
|||
[`GET /events`](/api/get-events): Added `can_manage_all_groups`
|
||||
realm setting, which is a [group-setting value](/api/group-setting-values)
|
||||
describing the set of users with permission to manage all user groups.
|
||||
* `PATCH /realm`, [`GET /events`](/api/get-events): Removed
|
||||
`user_group_edit_policy` property, as the permission to create user
|
||||
groups is now controlled by `can_create_groups` setting and permission to
|
||||
manage groups in now controlled by `can_manage_all_groups` setting.
|
||||
* [`POST /register`](/api/register-queue): `user_group_edit_policy`
|
||||
field is deprecated, having been replaced by `can_create_groups` for user
|
||||
group creation and `can_manage_all_groups` for user group management.
|
||||
|
||||
**Feature level 298**
|
||||
|
||||
|
|
|
@ -124,7 +124,6 @@ def set_realm_permissions_based_on_org_type(realm: Realm) -> None:
|
|||
realm.invite_to_realm_policy = InviteToRealmPolicyEnum.ADMINS_ONLY
|
||||
# Don't allow members (students) to manage user groups or
|
||||
# stream subscriptions.
|
||||
realm.user_group_edit_policy = CommonPolicyEnum.MODERATORS_ONLY
|
||||
realm.invite_to_stream_policy = CommonPolicyEnum.MODERATORS_ONLY
|
||||
# Allow moderators (TAs?) to move topics between streams.
|
||||
realm.move_messages_between_streams_policy = (
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
# Generated by Django 5.0.8 on 2024-09-17 10:47
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("zerver", "0593_alter_realm_manage_all_groups"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name="realm",
|
||||
name="user_group_edit_policy",
|
||||
),
|
||||
]
|
|
@ -359,8 +359,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
|||
default=POLICY_MEMBERS_ONLY
|
||||
)
|
||||
|
||||
user_group_edit_policy = models.PositiveSmallIntegerField(default=CommonPolicyEnum.MEMBERS_ONLY)
|
||||
|
||||
# Global policy for who is allowed to use wildcard mentions in
|
||||
# streams with a large number of subscribers. Anyone can use
|
||||
# wildcard mentions in small streams regardless of this setting.
|
||||
|
@ -680,7 +678,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
|||
push_notifications_enabled=bool,
|
||||
require_unique_names=bool,
|
||||
send_welcome_emails=bool,
|
||||
user_group_edit_policy=int,
|
||||
video_chat_provider=int,
|
||||
waiting_period_threshold=int,
|
||||
want_advertise_in_communities_directory=bool,
|
||||
|
|
|
@ -801,7 +801,6 @@ class UserProfile(AbstractBaseUser, PermissionsMixin, UserBaseSettings):
|
|||
"invite_to_stream_policy",
|
||||
"invite_to_realm_policy",
|
||||
"move_messages_between_streams_policy",
|
||||
"user_group_edit_policy",
|
||||
]:
|
||||
raise AssertionError("Invalid policy")
|
||||
|
||||
|
|
|
@ -4779,20 +4779,6 @@ paths:
|
|||
primarily relevant to clients containing UI for changing it.
|
||||
|
||||
**Changes**: New in Zulip 9.0 (feature level 242).
|
||||
user_group_edit_policy:
|
||||
type: integer
|
||||
description: |
|
||||
The organization's [policy][permission-level] for
|
||||
[who can manage user groups][user-group-permissions].
|
||||
|
||||
- 1 = All members can create and edit user groups
|
||||
- 2 = Only organization administrators can create and edit user groups
|
||||
- 3 = Only [full members][calc-full-member] can create and edit user groups
|
||||
- 4 = Only organization administrators and moderators can create and edit user groups
|
||||
|
||||
[user-group-permissions]: /help/user-groups#configure-who-can-create-and-manage-user-groups
|
||||
[permission-level]: /api/roles-and-permissions#permission-levels
|
||||
[calc-full-member]: /api/roles-and-permissions#determining-if-a-user-is-a-full-member
|
||||
video_chat_provider:
|
||||
type: integer
|
||||
description: |
|
||||
|
@ -16609,22 +16595,6 @@ paths:
|
|||
`private_message_policy` realm setting, which supported values of
|
||||
1 (enabled) and 2 (disabled).
|
||||
- $ref: "#/components/schemas/GroupSettingValue"
|
||||
realm_user_group_edit_policy:
|
||||
type: integer
|
||||
description: |
|
||||
Present if `realm` is present in `fetch_event_types`.
|
||||
|
||||
The organization's [policy][permission-level] for
|
||||
[who can manage user groups][user-group-permissions].
|
||||
|
||||
- 1 = All members can create and edit user groups
|
||||
- 2 = Only organization administrators can create and edit user groups
|
||||
- 3 = Only [full members][calc-full-member] can create and edit user groups.
|
||||
- 4 = Only organization administrators and moderators can create and edit user groups.
|
||||
|
||||
[user-group-permissions]: /help/user-groups#configure-who-can-create-and-manage-user-groups
|
||||
[permission-level]: /api/roles-and-permissions#permission-levels
|
||||
[calc-full-member]: /api/roles-and-permissions#determining-if-a-user-is-a-full-member
|
||||
realm_default_code_block_language:
|
||||
type: string
|
||||
description: |
|
||||
|
|
|
@ -3516,7 +3516,6 @@ class RealmPropertyActionTest(BaseAction):
|
|||
name=["Zulip", "New Name"],
|
||||
waiting_period_threshold=[1000, 2000],
|
||||
invite_to_stream_policy=Realm.COMMON_POLICY_TYPES,
|
||||
user_group_edit_policy=Realm.COMMON_POLICY_TYPES,
|
||||
wildcard_mention_policy=Realm.WILDCARD_MENTION_POLICY_TYPES,
|
||||
bot_creation_policy=Realm.BOT_CREATION_POLICY_TYPES,
|
||||
video_chat_provider=[
|
||||
|
|
|
@ -205,7 +205,6 @@ class HomeTest(ZulipTestCase):
|
|||
"realm_upload_quota_mib",
|
||||
"realm_uri",
|
||||
"realm_url",
|
||||
"realm_user_group_edit_policy",
|
||||
"realm_user_groups",
|
||||
"realm_user_settings_defaults",
|
||||
"realm_users",
|
||||
|
|
|
@ -123,7 +123,6 @@ class RealmTest(ZulipTestCase):
|
|||
realm.move_messages_between_streams_policy,
|
||||
MoveMessagesBetweenStreamsPolicyEnum.MODERATORS_ONLY,
|
||||
)
|
||||
self.assertEqual(realm.user_group_edit_policy, CommonPolicyEnum.MODERATORS_ONLY)
|
||||
self.assertEqual(realm.invite_to_stream_policy, CommonPolicyEnum.MODERATORS_ONLY)
|
||||
realm = get_realm("test_education_non_profit")
|
||||
moderators_group = NamedUserGroup.objects.get(
|
||||
|
@ -148,7 +147,6 @@ class RealmTest(ZulipTestCase):
|
|||
realm.move_messages_between_streams_policy,
|
||||
MoveMessagesBetweenStreamsPolicyEnum.MODERATORS_ONLY,
|
||||
)
|
||||
self.assertEqual(realm.user_group_edit_policy, CommonPolicyEnum.MODERATORS_ONLY)
|
||||
self.assertEqual(realm.invite_to_stream_policy, CommonPolicyEnum.MODERATORS_ONLY)
|
||||
realm = get_realm("test_education_for_profit")
|
||||
moderators_group = NamedUserGroup.objects.get(
|
||||
|
@ -860,7 +858,6 @@ class RealmTest(ZulipTestCase):
|
|||
giphy_rating=10,
|
||||
waiting_period_threshold=-10,
|
||||
digest_weekday=10,
|
||||
user_group_edit_policy=10,
|
||||
message_content_delete_limit_seconds=-10,
|
||||
wildcard_mention_policy=10,
|
||||
invite_to_realm_policy=10,
|
||||
|
@ -1700,7 +1697,6 @@ class RealmAPITest(ZulipTestCase):
|
|||
message_retention_days=[10, 20],
|
||||
name=["Zulip", "New Name"],
|
||||
waiting_period_threshold=[10, 20],
|
||||
user_group_edit_policy=Realm.COMMON_POLICY_TYPES,
|
||||
invite_to_stream_policy=Realm.COMMON_POLICY_TYPES,
|
||||
wildcard_mention_policy=Realm.WILDCARD_MENTION_POLICY_TYPES,
|
||||
bot_creation_policy=Realm.BOT_CREATION_POLICY_TYPES,
|
||||
|
|
|
@ -149,7 +149,6 @@ def update_realm(
|
|||
can_manage_all_groups: Json[GroupSettingChangeRequest] | None = None,
|
||||
invite_to_stream_policy: Json[CommonPolicyEnum] | None = None,
|
||||
move_messages_between_streams_policy: Json[MoveMessagesBetweenStreamsPolicyEnum] | None = None,
|
||||
user_group_edit_policy: Json[CommonPolicyEnum] | None = None,
|
||||
wildcard_mention_policy: Json[WildcardMentionPolicyEnum] | None = None,
|
||||
video_chat_provider: Json[int] | None = None,
|
||||
jitsi_server_url_raw: Annotated[
|
||||
|
|
Loading…
Reference in New Issue