mirror of
https://github.com/zulip/zulip.git
synced 2025-11-19 05:58:25 +00:00
groups: Remove id_field_name field from GroupPermissionSetting.
id_field_name was being used only to set the initial dummy values for realm settings. We can directly add "_id" to the setting name instead of having an extra id_field_name field.
This commit is contained in:
@@ -25,6 +25,9 @@ format used by the Zulip server that they are interacting with.
|
||||
* [`POST /register`](/api/register-queue): Removed `allow_owners_group`
|
||||
field from configuration data object of permission settings passed in
|
||||
`server_supported_permission_settings`.
|
||||
* [`POST /register`](/api/register-queue): Removed `id_field_name`
|
||||
field from configuration data object of permission settings passed
|
||||
in `server_supported_permission_settings`.
|
||||
|
||||
**Feature level 325**
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ const group_permission_setting_schema = z.object({
|
||||
allow_nobody_group: z.boolean(),
|
||||
allow_everyone_group: z.boolean(),
|
||||
default_group_name: z.string(),
|
||||
id_field_name: z.string(),
|
||||
default_for_system_groups: z.nullable(z.string()),
|
||||
allowed_system_groups: z.array(z.string()),
|
||||
});
|
||||
|
||||
@@ -550,7 +550,6 @@ run_test("get_realm_user_groups_for_dropdown_list_widget", ({override}) => {
|
||||
allow_nobody_group: true,
|
||||
allow_everyone_group: false,
|
||||
default_group_name: "stream_creator_or_nobody",
|
||||
id_field_name: "can_administer_channel_group_id",
|
||||
allowed_system_groups: [],
|
||||
},
|
||||
can_remove_subscribers_group: {
|
||||
@@ -559,7 +558,6 @@ run_test("get_realm_user_groups_for_dropdown_list_widget", ({override}) => {
|
||||
allow_nobody_group: false,
|
||||
allow_everyone_group: true,
|
||||
default_group_name: "role:administrators",
|
||||
id_field_name: "can_remove_subscribers_group_id",
|
||||
allowed_system_groups: [],
|
||||
},
|
||||
},
|
||||
@@ -570,7 +568,6 @@ run_test("get_realm_user_groups_for_dropdown_list_widget", ({override}) => {
|
||||
allow_nobody_group: true,
|
||||
allow_everyone_group: false,
|
||||
default_group_name: "role:administrators",
|
||||
id_field_name: "create_multiuse_invite_group_id",
|
||||
allowed_system_groups: [],
|
||||
},
|
||||
can_access_all_users_group: {
|
||||
@@ -579,7 +576,6 @@ run_test("get_realm_user_groups_for_dropdown_list_widget", ({override}) => {
|
||||
allow_nobody_group: false,
|
||||
allow_everyone_group: true,
|
||||
default_group_name: "role:everyone",
|
||||
id_field_name: "can_access_all_users_group_id",
|
||||
allowed_system_groups: ["role:everyone", "role:members"],
|
||||
},
|
||||
},
|
||||
|
||||
@@ -245,8 +245,8 @@ def do_create_realm(
|
||||
|
||||
# For now a dummy value of -1 is given to groups fields which
|
||||
# is changed later before the transaction is committed.
|
||||
for permission_configuration in Realm.REALM_PERMISSION_GROUP_SETTINGS.values():
|
||||
setattr(realm, permission_configuration.id_field_name, -1)
|
||||
for setting_name in Realm.REALM_PERMISSION_GROUP_SETTINGS:
|
||||
setattr(realm, setting_name + "_id", -1)
|
||||
|
||||
realm.save()
|
||||
|
||||
|
||||
@@ -1232,8 +1232,8 @@ def do_import_realm(import_dir: Path, subdomain: str, processes: int = 1) -> Rea
|
||||
if "zerver_usergroup" not in data:
|
||||
# For now a dummy value of -1 is given to groups fields which
|
||||
# is changed later before the transaction is committed.
|
||||
for permission_configuration in Realm.REALM_PERMISSION_GROUP_SETTINGS.values():
|
||||
setattr(realm, permission_configuration.id_field_name, -1)
|
||||
for setting_name in Realm.REALM_PERMISSION_GROUP_SETTINGS:
|
||||
setattr(realm, setting_name + "_id", -1)
|
||||
|
||||
realm.save()
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ def create_internal_realm() -> None:
|
||||
|
||||
# For now a dummy value of -1 is given to groups fields which
|
||||
# is changed later before the transaction is committed.
|
||||
for permission_configuration in Realm.REALM_PERMISSION_GROUP_SETTINGS.values():
|
||||
setattr(realm, permission_configuration.id_field_name, -1)
|
||||
for setting_name in Realm.REALM_PERMISSION_GROUP_SETTINGS:
|
||||
setattr(realm, setting_name + "_id", -1)
|
||||
realm.save()
|
||||
|
||||
RealmAuditLog.objects.create(
|
||||
|
||||
@@ -314,7 +314,6 @@ class GroupPermissionSetting:
|
||||
allow_nobody_group: bool
|
||||
allow_everyone_group: bool
|
||||
default_group_name: str
|
||||
id_field_name: str
|
||||
default_for_system_groups: str | None = None
|
||||
allowed_system_groups: list[str] = field(default_factory=list)
|
||||
|
||||
|
||||
@@ -109,7 +109,6 @@ class NamedUserGroup(UserGroup): # type: ignore[django-manager-missing] # djang
|
||||
allow_everyone_group=False,
|
||||
default_group_name="group_creator",
|
||||
default_for_system_groups=SystemGroups.NOBODY,
|
||||
id_field_name="can_add_members_group_id",
|
||||
),
|
||||
"can_join_group": GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -118,7 +117,6 @@ class NamedUserGroup(UserGroup): # type: ignore[django-manager-missing] # djang
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.NOBODY,
|
||||
default_for_system_groups=SystemGroups.NOBODY,
|
||||
id_field_name="can_join_group_id",
|
||||
),
|
||||
"can_leave_group": GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -127,7 +125,6 @@ class NamedUserGroup(UserGroup): # type: ignore[django-manager-missing] # djang
|
||||
allow_everyone_group=True,
|
||||
default_group_name=SystemGroups.EVERYONE,
|
||||
default_for_system_groups=SystemGroups.NOBODY,
|
||||
id_field_name="can_leave_group_id",
|
||||
),
|
||||
"can_manage_group": GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -136,7 +133,6 @@ class NamedUserGroup(UserGroup): # type: ignore[django-manager-missing] # djang
|
||||
allow_everyone_group=False,
|
||||
default_group_name="group_creator",
|
||||
default_for_system_groups=SystemGroups.NOBODY,
|
||||
id_field_name="can_manage_group_id",
|
||||
),
|
||||
"can_mention_group": GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -145,7 +141,6 @@ class NamedUserGroup(UserGroup): # type: ignore[django-manager-missing] # djang
|
||||
allow_everyone_group=True,
|
||||
default_group_name=SystemGroups.EVERYONE,
|
||||
default_for_system_groups=SystemGroups.NOBODY,
|
||||
id_field_name="can_mention_group_id",
|
||||
),
|
||||
"can_remove_members_group": GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -154,7 +149,6 @@ class NamedUserGroup(UserGroup): # type: ignore[django-manager-missing] # djang
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.NOBODY,
|
||||
default_for_system_groups=SystemGroups.NOBODY,
|
||||
id_field_name="can_remove_members_group_id",
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
@@ -666,7 +666,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=True,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.ADMINISTRATORS,
|
||||
id_field_name="create_multiuse_invite_group_id",
|
||||
),
|
||||
can_access_all_users_group=GroupPermissionSetting(
|
||||
require_system_group=True,
|
||||
@@ -674,7 +673,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=True,
|
||||
default_group_name=SystemGroups.EVERYONE,
|
||||
id_field_name="can_access_all_users_group_id",
|
||||
allowed_system_groups=[SystemGroups.EVERYONE, SystemGroups.MEMBERS],
|
||||
),
|
||||
can_add_custom_emoji_group=GroupPermissionSetting(
|
||||
@@ -683,7 +681,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.MEMBERS,
|
||||
id_field_name="can_add_custom_emoji_group_id",
|
||||
),
|
||||
can_create_groups=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -691,7 +688,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.MEMBERS,
|
||||
id_field_name="can_create_groups_id",
|
||||
),
|
||||
can_create_public_channel_group=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -699,7 +695,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.MEMBERS,
|
||||
id_field_name="can_create_public_channel_group_id",
|
||||
),
|
||||
can_create_private_channel_group=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -707,7 +702,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.MEMBERS,
|
||||
id_field_name="can_create_private_channel_group_id",
|
||||
),
|
||||
can_create_web_public_channel_group=GroupPermissionSetting(
|
||||
require_system_group=True,
|
||||
@@ -715,7 +709,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=True,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.OWNERS,
|
||||
id_field_name="can_create_web_public_channel_group_id",
|
||||
allowed_system_groups=[
|
||||
SystemGroups.MODERATORS,
|
||||
SystemGroups.ADMINISTRATORS,
|
||||
@@ -729,7 +722,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.ADMINISTRATORS,
|
||||
id_field_name="can_delete_any_message_group_id",
|
||||
),
|
||||
can_delete_own_message_group=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -737,7 +729,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=True,
|
||||
default_group_name=SystemGroups.EVERYONE,
|
||||
id_field_name="can_delete_own_message_group_id",
|
||||
),
|
||||
can_invite_users_group=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -745,7 +736,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=True,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.MEMBERS,
|
||||
id_field_name="can_invite_users_group_id",
|
||||
),
|
||||
can_manage_all_groups=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -753,7 +743,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.OWNERS,
|
||||
id_field_name="can_manage_all_groups_id",
|
||||
),
|
||||
can_move_messages_between_channels_group=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -761,7 +750,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=True,
|
||||
allow_everyone_group=False,
|
||||
default_group_name=SystemGroups.MEMBERS,
|
||||
id_field_name="can_move_messages_between_channels_group_id",
|
||||
),
|
||||
can_move_messages_between_topics_group=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -769,7 +757,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=True,
|
||||
allow_everyone_group=True,
|
||||
default_group_name=SystemGroups.EVERYONE,
|
||||
id_field_name="can_move_messages_between_topics_group_id",
|
||||
),
|
||||
direct_message_initiator_group=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -777,7 +764,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=True,
|
||||
allow_everyone_group=True,
|
||||
default_group_name=SystemGroups.EVERYONE,
|
||||
id_field_name="direct_message_initiator_group_id",
|
||||
),
|
||||
direct_message_permission_group=GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -785,7 +771,6 @@ class Realm(models.Model): # type: ignore[django-manager-missing] # django-stub
|
||||
allow_nobody_group=True,
|
||||
allow_everyone_group=True,
|
||||
default_group_name=SystemGroups.EVERYONE,
|
||||
id_field_name="direct_message_permission_group_id",
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -148,7 +148,6 @@ class Stream(models.Model):
|
||||
allow_nobody_group=True,
|
||||
allow_everyone_group=False,
|
||||
default_group_name="stream_creator_or_nobody",
|
||||
id_field_name="can_administer_channel_group_id",
|
||||
),
|
||||
"can_remove_subscribers_group": GroupPermissionSetting(
|
||||
require_system_group=False,
|
||||
@@ -156,7 +155,6 @@ class Stream(models.Model):
|
||||
allow_nobody_group=False,
|
||||
allow_everyone_group=True,
|
||||
default_group_name=SystemGroups.ADMINISTRATORS,
|
||||
id_field_name="can_remove_subscribers_group_id",
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
@@ -23899,8 +23899,13 @@ components:
|
||||
to which the setting can be set to and the default values for the
|
||||
setting.
|
||||
|
||||
**Changes**: Removed `allow_owners_group` field in Zulip 10.0 (feature level 326),
|
||||
as we now support anonymous user groups.
|
||||
**Changes**: Removed `allow_owners_group` field in Zulip 10.0 (feature level 326), as we now
|
||||
support anonymous user groups. Previously, the `role:owners` system group was
|
||||
not offered when `allow_owners_group` was false.
|
||||
|
||||
Removed unnecessary `id_field_name` field in Zulip 10.0 (feature level 326). Previously,
|
||||
this always had the value of `"{setting_name}_id"`; it was an internal implementation
|
||||
detail of the server not intended to be included in the API.
|
||||
additionalProperties: false
|
||||
type: object
|
||||
properties:
|
||||
@@ -23927,10 +23932,6 @@ components:
|
||||
type: string
|
||||
description: |
|
||||
Name of the default group for the setting.
|
||||
id_field_name:
|
||||
type: string
|
||||
description: |
|
||||
Name for the field used to pass the group ID for the setting.
|
||||
default_for_system_groups:
|
||||
type: string
|
||||
nullable: true
|
||||
|
||||
@@ -344,8 +344,8 @@ def update_realm(
|
||||
if k in realm.property_types:
|
||||
req_vars[k] = v
|
||||
|
||||
for setting_name, permission_configuration in Realm.REALM_PERMISSION_GROUP_SETTINGS.items():
|
||||
if k in [permission_configuration.id_field_name, setting_name]:
|
||||
for setting_name in Realm.REALM_PERMISSION_GROUP_SETTINGS:
|
||||
if k == setting_name:
|
||||
req_group_setting_vars[k] = v
|
||||
|
||||
for k, v in req_vars.items():
|
||||
|
||||
Reference in New Issue
Block a user