mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 06:23:38 +00:00
Instead of displaying the zcommand to switch to the other mode, the message displayed the zcommand that the user had just entered.
41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
from typing import Any, Dict
|
|
from django.utils.translation import ugettext as _
|
|
|
|
from zerver.models import UserProfile
|
|
from zerver.lib.actions import do_set_user_display_setting
|
|
from zerver.lib.exceptions import JsonableError
|
|
|
|
def process_zcommands(content: str, user_profile: UserProfile) -> Dict[str, Any]:
|
|
if not content.startswith('/'):
|
|
raise JsonableError(_('There should be a leading slash in the zcommand.'))
|
|
command = content[1:]
|
|
|
|
if command == 'ping':
|
|
ret = dict() # type: Dict[str, Any]
|
|
return ret
|
|
|
|
night_commands = ['night', 'dark']
|
|
day_commands = ['day', 'light']
|
|
|
|
if command in night_commands:
|
|
if user_profile.night_mode:
|
|
msg = 'You are still in night mode.'
|
|
else:
|
|
switch_command = day_commands[night_commands.index(command)]
|
|
msg = 'Changed to night mode! To revert night mode, type `/%s`.' % (switch_command,)
|
|
do_set_user_display_setting(user_profile, 'night_mode', True)
|
|
ret = dict(msg=msg)
|
|
return ret
|
|
|
|
if command in day_commands:
|
|
if user_profile.night_mode:
|
|
switch_command = night_commands[day_commands.index(command)]
|
|
msg = 'Changed to day mode! To revert day mode, type `/%s`.' % (switch_command,)
|
|
do_set_user_display_setting(user_profile, 'night_mode', False)
|
|
else:
|
|
msg = 'You are still in day mode.'
|
|
ret = dict(msg=msg)
|
|
return ret
|
|
|
|
raise JsonableError(_('No such command: %s') % (command,))
|