users: Move check_change_full_name to actions.py.

This avoids an import loop in the next commit, and better matches our
usual code structure.
This commit is contained in:
Tim Abbott
2017-11-15 17:29:53 -08:00
parent 774380dcb8
commit c7a975e4df
4 changed files with 16 additions and 15 deletions

View File

@@ -49,6 +49,7 @@ from zerver.lib.topic_mutes import (
add_topic_mute,
remove_topic_mute,
)
from zerver.lib.users import check_full_name
from zerver.lib.user_groups import create_user_group
from zerver.models import Realm, RealmEmoji, Stream, UserProfile, UserActivity, \
RealmDomain, \
@@ -2498,6 +2499,16 @@ def do_change_full_name(user_profile, full_name, acting_user):
send_event(dict(type='realm_bot', op='update', bot=payload),
bot_owner_user_ids(user_profile))
def check_change_full_name(user_profile, full_name_raw, acting_user):
# type: (UserProfile, Text, UserProfile) -> Text
"""Verifies that the user's proposed full name is valid. The caller
is responsible for checking check permissions. Returns the new
full name, which may differ from what was passed in (because this
function strips whitespace)."""
new_full_name = check_full_name(full_name_raw)
do_change_full_name(user_profile, new_full_name, acting_user)
return new_full_name
def do_change_bot_owner(user_profile, bot_owner, acting_user):
# type: (UserProfile, UserProfile, UserProfile) -> None
user_profile.bot_owner = bot_owner

View File

@@ -2,7 +2,6 @@ from typing import List, Text
from django.utils.translation import ugettext as _
from zerver.lib.actions import do_change_full_name
from zerver.lib.request import JsonableError
from zerver.models import UserProfile, Service, Realm, \
get_user_profile_by_id
@@ -25,16 +24,6 @@ def check_short_name(short_name_raw):
raise JsonableError(_("Bad name or username"))
return short_name
def check_change_full_name(user_profile, full_name_raw, acting_user):
# type: (UserProfile, Text, UserProfile) -> Text
"""Verifies that the user's proposed full name is valid. The caller
is responsible for checking check permissions. Returns the new
full name, which may differ from what was passed in (because this
function strips whitespace)."""
new_full_name = check_full_name(full_name_raw)
do_change_full_name(user_profile, new_full_name, acting_user)
return new_full_name
def check_valid_bot_type(bot_type):
# type: (int) -> None
if bot_type not in UserProfile.ALLOWED_BOT_TYPES:

View File

@@ -13,7 +13,8 @@ from zerver.lib.actions import do_change_password, \
do_change_enter_sends, do_change_notification_settings, \
do_change_default_desktop_notifications, do_change_autoscroll_forever, \
do_regenerate_api_key, do_change_avatar_fields, do_set_user_display_setting, \
validate_email, do_change_user_email, do_start_email_change_process
validate_email, do_change_user_email, do_start_email_change_process, \
check_change_full_name
from zerver.lib.avatar import avatar_url
from zerver.lib.send_email import send_email, FromAddress
from zerver.lib.i18n import get_available_language_codes
@@ -21,7 +22,6 @@ from zerver.lib.response import json_success, json_error
from zerver.lib.upload import upload_avatar_image
from zerver.lib.validator import check_bool, check_string
from zerver.lib.request import JsonableError
from zerver.lib.users import check_change_full_name
from zerver.lib.timezone import get_all_timezones
from zerver.models import UserProfile, Realm, name_changes_disabled, \
EmailChangeStatus

View File

@@ -14,7 +14,8 @@ from zerver.forms import CreateUserForm
from zerver.lib.actions import do_change_avatar_fields, do_change_bot_owner, \
do_change_is_admin, do_change_default_all_public_streams, \
do_change_default_events_register_stream, do_change_default_sending_stream, \
do_create_user, do_deactivate_user, do_reactivate_user, do_regenerate_api_key
do_create_user, do_deactivate_user, do_reactivate_user, do_regenerate_api_key, \
check_change_full_name
from zerver.lib.avatar import avatar_url, get_gravatar_url, get_avatar_field
from zerver.lib.exceptions import JsonableError
from zerver.lib.integrations import EMBEDDED_BOTS
@@ -23,7 +24,7 @@ from zerver.lib.response import json_error, json_success
from zerver.lib.streams import access_stream_by_name
from zerver.lib.upload import upload_avatar_image
from zerver.lib.validator import check_bool, check_string, check_int, check_url
from zerver.lib.users import check_valid_bot_type, check_change_full_name, \
from zerver.lib.users import check_valid_bot_type, \
check_full_name, check_short_name, check_valid_interface_type
from zerver.lib.utils import generate_random_token
from zerver.models import UserProfile, Stream, Message, email_allowed_for_realm, \