export: Fix 'OnboardingUserMessage' table not being exported.

Earlier, the export tool was logging a warning:
"??? NO DATA EXPORTED FOR TABLE zerver_onboardingusermessage!!!"

This bug was due to not configuring a Config object for
'OnboardingUserMessage' in 'get_realm_config()'.

This commit fixes the bug to export the table properly.
This commit is contained in:
Prakhar Pratyush
2024-07-16 13:38:18 +05:30
committed by Tim Abbott
parent e2623f3937
commit 7d379e00b0

View File

@@ -47,6 +47,7 @@ from zerver.models import (
MutedUser,
NamedUserGroup,
OnboardingStep,
OnboardingUserMessage,
Reaction,
Realm,
RealmAuditLog,
@@ -769,6 +770,13 @@ def get_realm_config() -> Config:
include_rows="realm_id__in",
)
Config(
table="zerver_onboardingusermessage",
model=OnboardingUserMessage,
virtual_parent=realm_config,
custom_fetch=custom_fetch_onboarding_usermessage,
)
user_profile_config = Config(
custom_tables=[
"zerver_userprofile",
@@ -1197,6 +1205,18 @@ def custom_fetch_realm_audit_logs_for_realm(response: TableData, context: Contex
response["zerver_realmauditlog"] = rows
def custom_fetch_onboarding_usermessage(response: TableData, context: Context) -> None:
realm = context["realm"]
response["zerver_onboardingusermessage"] = []
onboarding_usermessage_query = OnboardingUserMessage.objects.filter(realm=realm)
for onboarding_usermessage in onboarding_usermessage_query:
onboarding_usermessage_obj = model_to_dict(onboarding_usermessage)
onboarding_usermessage_obj["flags_mask"] = onboarding_usermessage.flags.mask
del onboarding_usermessage_obj["flags"]
response["zerver_onboardingusermessage"].append(onboarding_usermessage_obj)
def fetch_usermessages(
realm: Realm,
message_ids: set[int],