export: Support export of Custom Profile Field.

This commit is contained in:
Rhea Parekh
2018-05-23 12:20:11 +05:30
committed by Tim Abbott
parent ac04553d67
commit c24c249b8c
2 changed files with 29 additions and 17 deletions

View File

@@ -15,8 +15,8 @@ from zerver.lib.avatar_hash import user_avatar_path_from_ids
from zerver.models import UserProfile, Realm, Client, Huddle, Stream, \ from zerver.models import UserProfile, Realm, Client, Huddle, Stream, \
UserMessage, Subscription, Message, RealmEmoji, RealmFilter, \ UserMessage, Subscription, Message, RealmEmoji, RealmFilter, \
RealmDomain, Recipient, DefaultStream, get_user_profile_by_id, \ RealmDomain, Recipient, DefaultStream, get_user_profile_by_id, \
UserPresence, UserActivity, UserActivityInterval, \ UserPresence, UserActivity, UserActivityInterval, CustomProfileField, \
get_display_recipient, Attachment, get_system_bot CustomProfileFieldValue, get_display_recipient, Attachment, get_system_bot
from zerver.lib.parallel import run_parallel from zerver.lib.parallel import run_parallel
from typing import Any, Callable, Dict, List, Optional, Set, Tuple, \ from typing import Any, Callable, Dict, List, Optional, Set, Tuple, \
Iterable Iterable
@@ -57,6 +57,8 @@ ALL_ZERVER_TABLES = [
'zerver_attachment', 'zerver_attachment',
'zerver_attachment_messages', 'zerver_attachment_messages',
'zerver_client', 'zerver_client',
'zerver_customprofilefield',
'zerver_customprofilefield_value',
'zerver_defaultstream', 'zerver_defaultstream',
'zerver_huddle', 'zerver_huddle',
'zerver_message', 'zerver_message',
@@ -387,6 +389,13 @@ def get_realm_config() -> Config:
parent_key='realm_id__in', parent_key='realm_id__in',
) )
Config(
table='zerver_customprofilefield',
model=CustomProfileField,
normal_parent=realm_config,
parent_key='realm_id__in',
)
Config( Config(
table='zerver_realmemoji', table='zerver_realmemoji',
model=RealmEmoji, model=RealmEmoji,
@@ -441,6 +450,13 @@ def get_realm_config() -> Config:
parent_key='user_profile__in', parent_key='user_profile__in',
) )
Config(
table='zerver_customprofilefield_value',
model=CustomProfileFieldValue,
normal_parent=user_profile_config,
parent_key='user_profile__in',
)
Config( Config(
table='zerver_useractivity', table='zerver_useractivity',
model=UserActivity, model=UserActivity,

View File

@@ -513,10 +513,6 @@ def do_import_realm(import_dir: Path, subdomain: str) -> Realm:
'useractivityinterval') 'useractivityinterval')
bulk_import_model(data, UserActivityInterval, 'zerver_useractivityinterval') bulk_import_model(data, UserActivityInterval, 'zerver_useractivityinterval')
if 'zerver_customprofilefield' in data:
# As the export of Custom Profile fields is not supported, Zulip exported
# data would not contain this field.
# However this is supported in slack importer script
re_map_foreign_keys(data, 'zerver_customprofilefield', 'realm', related_table="realm") re_map_foreign_keys(data, 'zerver_customprofilefield', 'realm', related_table="realm")
update_model_ids(CustomProfileField, data, 'zerver_customprofilefield', update_model_ids(CustomProfileField, data, 'zerver_customprofilefield',
related_table="customprofilefield") related_table="customprofilefield")