mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
feat: Support timezone and language query params
Support setting the timezone as well as the language via query params: The timezone parameter previously only worked on certain pages. While we're at it, let's also add the language as a param. Refactor code for timezone and language functions. Remove unused AURTZ cookie. Signed-off-by: moson <moson@archlinux.org>
This commit is contained in:
parent
933654fcbb
commit
5d302ae00c
5 changed files with 89 additions and 33 deletions
|
@ -15,18 +15,22 @@ def test_tz_offset_mst():
|
|||
|
||||
def test_request_timezone():
|
||||
request = Request()
|
||||
tz = get_request_timezone(request)
|
||||
assert tz == aurweb.config.get("options", "default_timezone")
|
||||
|
||||
# Default timezone
|
||||
dtz = aurweb.config.get("options", "default_timezone")
|
||||
assert get_request_timezone(request) == dtz
|
||||
|
||||
def test_authenticated_request_timezone():
|
||||
# Modify a fake request to be authenticated with the
|
||||
# America/Los_Angeles timezone.
|
||||
request = Request()
|
||||
# Timezone from query params
|
||||
request.query_params = {"timezone": "Europe/Berlin"}
|
||||
assert get_request_timezone(request) == "Europe/Berlin"
|
||||
|
||||
# Timezone from authenticated user.
|
||||
request.query_params = {}
|
||||
request.user.authenticated = True
|
||||
request.user.Timezone = "America/Los_Angeles"
|
||||
assert get_request_timezone(request) == "America/Los_Angeles"
|
||||
|
||||
# Get the request's timezone, it should be America/Los_Angeles.
|
||||
tz = get_request_timezone(request)
|
||||
assert tz == request.user.Timezone
|
||||
assert tz == "America/Los_Angeles"
|
||||
# Timezone from authenticated user with query param
|
||||
# Query param should have precedence
|
||||
request.query_params = {"timezone": "Europe/Berlin"}
|
||||
assert get_request_timezone(request) == "Europe/Berlin"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue