zcommand: Rename night->dark and day->light in the color scheme backend.

As a follow up for f49a11c810, this
commit standardizes the naming of the day and night themes to light
and dark, respectively in the backend. This makes the backend
consistent with the naming used in the frontend and UI.

This also solves a regression introduced in
f49a11c810, where the frontend was sending
"/light" and "/dark" commands to the backend, but the backend was
expecting "/day" and "/night" commands.
This commit is contained in:
Sayam Samal 2024-06-29 03:16:20 +05:30 committed by Tim Abbott
parent 12b367cc74
commit 073b116c55
5 changed files with 14 additions and 14 deletions

View File

@ -26,18 +26,18 @@ def process_zcommands(content: str, user_profile: UserProfile) -> Dict[str, Any]
if command == "ping": if command == "ping":
return {} return {}
elif command == "night": elif command == "dark":
if user_profile.color_scheme == UserProfile.COLOR_SCHEME_NIGHT: if user_profile.color_scheme == UserProfile.COLOR_SCHEME_DARK:
return dict(msg="You are still in dark theme.") return dict(msg="You are still in dark theme.")
return dict( return dict(
msg=change_mode_setting( msg=change_mode_setting(
setting_name="dark theme", setting_name="dark theme",
switch_command="light", switch_command="light",
setting="color_scheme", setting="color_scheme",
setting_value=UserProfile.COLOR_SCHEME_NIGHT, setting_value=UserProfile.COLOR_SCHEME_DARK,
) )
) )
elif command == "day": elif command == "light":
if user_profile.color_scheme == UserProfile.COLOR_SCHEME_LIGHT: if user_profile.color_scheme == UserProfile.COLOR_SCHEME_LIGHT:
return dict(msg="You are still in light theme.") return dict(msg="You are still in light theme.")
return dict( return dict(

View File

@ -73,9 +73,9 @@ class UserBaseSettings(models.Model):
twenty_four_hour_time = models.BooleanField(default=False) twenty_four_hour_time = models.BooleanField(default=False)
starred_message_counts = models.BooleanField(default=True) starred_message_counts = models.BooleanField(default=True)
COLOR_SCHEME_AUTOMATIC = 1 COLOR_SCHEME_AUTOMATIC = 1
COLOR_SCHEME_NIGHT = 2 COLOR_SCHEME_DARK = 2
COLOR_SCHEME_LIGHT = 3 COLOR_SCHEME_LIGHT = 3
COLOR_SCHEME_CHOICES = [COLOR_SCHEME_AUTOMATIC, COLOR_SCHEME_NIGHT, COLOR_SCHEME_LIGHT] COLOR_SCHEME_CHOICES = [COLOR_SCHEME_AUTOMATIC, COLOR_SCHEME_DARK, COLOR_SCHEME_LIGHT]
color_scheme = models.PositiveSmallIntegerField(default=COLOR_SCHEME_AUTOMATIC) color_scheme = models.PositiveSmallIntegerField(default=COLOR_SCHEME_AUTOMATIC)
# Information density is established through # Information density is established through

View File

@ -474,11 +474,11 @@ class ChangeSettingsTest(ZulipTestCase):
self.login("hamlet") self.login("hamlet")
result = self.client_patch( result = self.client_patch(
"/json/settings/display", dict(color_scheme=UserProfile.COLOR_SCHEME_NIGHT) "/json/settings/display", dict(color_scheme=UserProfile.COLOR_SCHEME_DARK)
) )
self.assert_json_success(result) self.assert_json_success(result)
hamlet = self.example_user("hamlet") hamlet = self.example_user("hamlet")
self.assertEqual(hamlet.color_scheme, UserProfile.COLOR_SCHEME_NIGHT) self.assertEqual(hamlet.color_scheme, UserProfile.COLOR_SCHEME_DARK)
def test_changing_setting_using_notification_setting_endpoint(self) -> None: def test_changing_setting_using_notification_setting_endpoint(self) -> None:
""" """

View File

@ -1298,7 +1298,7 @@ class UserProfileTest(ZulipTestCase):
do_change_user_setting(cordelia, "emojiset", "twitter", acting_user=None) do_change_user_setting(cordelia, "emojiset", "twitter", acting_user=None)
do_change_user_setting(cordelia, "timezone", "America/Phoenix", acting_user=None) do_change_user_setting(cordelia, "timezone", "America/Phoenix", acting_user=None)
do_change_user_setting( do_change_user_setting(
cordelia, "color_scheme", UserProfile.COLOR_SCHEME_NIGHT, acting_user=None cordelia, "color_scheme", UserProfile.COLOR_SCHEME_DARK, acting_user=None
) )
do_change_user_setting( do_change_user_setting(
cordelia, "enable_offline_email_notifications", False, acting_user=None cordelia, "enable_offline_email_notifications", False, acting_user=None
@ -1342,8 +1342,8 @@ class UserProfileTest(ZulipTestCase):
self.assertEqual(cordelia.timezone, "America/Phoenix") self.assertEqual(cordelia.timezone, "America/Phoenix")
self.assertEqual(hamlet.timezone, "") self.assertEqual(hamlet.timezone, "")
self.assertEqual(iago.color_scheme, UserProfile.COLOR_SCHEME_NIGHT) self.assertEqual(iago.color_scheme, UserProfile.COLOR_SCHEME_DARK)
self.assertEqual(cordelia.color_scheme, UserProfile.COLOR_SCHEME_NIGHT) self.assertEqual(cordelia.color_scheme, UserProfile.COLOR_SCHEME_DARK)
self.assertEqual(hamlet.color_scheme, UserProfile.COLOR_SCHEME_AUTOMATIC) self.assertEqual(hamlet.color_scheme, UserProfile.COLOR_SCHEME_AUTOMATIC)
self.assertEqual(iago.enable_offline_email_notifications, False) self.assertEqual(iago.enable_offline_email_notifications, False)

View File

@ -27,7 +27,7 @@ class ZcommandTest(ZulipTestCase):
user.color_scheme = UserProfile.COLOR_SCHEME_LIGHT user.color_scheme = UserProfile.COLOR_SCHEME_LIGHT
user.save() user.save()
payload = dict(command="/night") payload = dict(command="/dark")
result = self.client_post("/json/zcommand", payload) result = self.client_post("/json/zcommand", payload)
response_dict = self.assert_json_success(result) response_dict = self.assert_json_success(result)
self.assertIn("Changed to dark theme", response_dict["msg"]) self.assertIn("Changed to dark theme", response_dict["msg"])
@ -39,10 +39,10 @@ class ZcommandTest(ZulipTestCase):
def test_day_zcommand(self) -> None: def test_day_zcommand(self) -> None:
self.login("hamlet") self.login("hamlet")
user = self.example_user("hamlet") user = self.example_user("hamlet")
user.color_scheme = UserProfile.COLOR_SCHEME_NIGHT user.color_scheme = UserProfile.COLOR_SCHEME_DARK
user.save() user.save()
payload = dict(command="/day") payload = dict(command="/light")
result = self.client_post("/json/zcommand", payload) result = self.client_post("/json/zcommand", payload)
response_dict = self.assert_json_success(result) response_dict = self.assert_json_success(result)
self.assertIn("Changed to light theme", response_dict["msg"]) self.assertIn("Changed to light theme", response_dict["msg"])