mirror of
https://github.com/zulip/zulip.git
synced 2025-11-18 12:54:58 +00:00
import_realm: Fix broken stream group-based settings backfill.
Django seems to have an aggressive check on the type of a field when
setting it through an relation, requiring the argument to be a UserGroup in
our case.
Reference:
02966a30dd/django/db/models/base.py (L537-L546)
This commit is contained in:
committed by
Tim Abbott
parent
3bf83e8830
commit
1af50548ae
@@ -194,7 +194,7 @@ def fix_streams_can_remove_subscribers_group_column(data: TableData, realm: Real
|
|||||||
name=UserGroup.ADMINISTRATORS_GROUP_NAME, realm=realm, is_system_group=True
|
name=UserGroup.ADMINISTRATORS_GROUP_NAME, realm=realm, is_system_group=True
|
||||||
)
|
)
|
||||||
for stream in data[table]:
|
for stream in data[table]:
|
||||||
stream["can_remove_subscribers_group_id"] = admins_group.id
|
stream["can_remove_subscribers_group"] = admins_group
|
||||||
|
|
||||||
|
|
||||||
def create_subscription_events(data: TableData, realm_id: int) -> None:
|
def create_subscription_events(data: TableData, realm_id: int) -> None:
|
||||||
@@ -986,6 +986,9 @@ def do_import_realm(import_dir: Path, subdomain: str, processes: int = 1) -> Rea
|
|||||||
fix_datetime_fields(data, "zerver_stream")
|
fix_datetime_fields(data, "zerver_stream")
|
||||||
re_map_foreign_keys(data, "zerver_stream", "realm", related_table="realm")
|
re_map_foreign_keys(data, "zerver_stream", "realm", related_table="realm")
|
||||||
if role_system_groups_dict is not None:
|
if role_system_groups_dict is not None:
|
||||||
|
# Because the system user groups are missing, we manually set up
|
||||||
|
# the defaults for can_remove_subscribers_group for all the
|
||||||
|
# streams.
|
||||||
fix_streams_can_remove_subscribers_group_column(data, realm)
|
fix_streams_can_remove_subscribers_group_column(data, realm)
|
||||||
else:
|
else:
|
||||||
re_map_foreign_keys(
|
re_map_foreign_keys(
|
||||||
|
|||||||
Reference in New Issue
Block a user