diff --git a/tildes/development.ini b/tildes/development.ini index f66f08d..5b608fa 100644 --- a/tildes/development.ini +++ b/tildes/development.ini @@ -42,5 +42,4 @@ webassets.auto_build = false webassets.base_dir = %(here)s/static webassets.base_url = / webassets.cache = false -webassets.manifest = json - +webassets.manifest = json \ No newline at end of file diff --git a/tildes/tildes/views/api/web/user.py b/tildes/tildes/views/api/web/user.py index af473bf..a97514e 100644 --- a/tildes/tildes/views/api/web/user.py +++ b/tildes/tildes/views/api/web/user.py @@ -8,8 +8,7 @@ import string from typing import Optional from marshmallow import ValidationError -from marshmallow.fields import String -from marshmallow.fields import Int +from marshmallow.fields import String, Int from pyramid.httpexceptions import ( HTTPForbidden, HTTPUnauthorized, @@ -273,6 +272,22 @@ def patch_change_collapse_old_comments(request: Request) -> Response: return IC_NOOP +@ic_view_config( + route_name="user", + request_method="PATCH", + request_param="ic-trigger-name=account-default-theme", + permission="change_settings", +) +def patch_change_account_default_theme(request: Request) -> Response: + """Change the user's "theme account default" setting.""" + user = request.context + + new_theme = request.params.get("theme") + user.theme_default = new_theme + + return IC_NOOP + + @ic_view_config( route_name="user", request_method="PATCH", @@ -288,7 +303,6 @@ def patch_change_user_bio(request: Request, markdown: str) -> dict: return IC_NOOP - @ic_view_config( route_name="user", request_method="PATCH", @@ -304,7 +318,6 @@ def patch_change_wpm(request: Request, words_per_minute: int) -> dict: return IC_NOOP - @ic_view_config( route_name="user_invite_code", request_method="GET",