Skip to content

Commit

Permalink
fs-3964 make set language cookie a function
Browse files Browse the repository at this point in the history
  • Loading branch information
srh-sloan committed Jan 11, 2024
1 parent 8f5ae83 commit 0dc6367
Showing 1 changed file with 19 additions and 12 deletions.
31 changes: 19 additions & 12 deletions fsd_utils/locale_selector/set_lang.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,28 @@
from flask import current_app
from flask import make_response
from flask import redirect
from flask import request
from flask import request, Response
from fsd_utils import CommonConfig


class LanguageSelector:

@staticmethod
def get_cookie_domain(cookie_domain):
if not cookie_domain:
return None
else:
return cookie_domain

@staticmethod
def set_language_cookie(locale:str, response:Response):
response.set_cookie(
CommonConfig.FSD_LANG_COOKIE_NAME,
locale,
domain=LanguageSelector.get_cookie_domain(current_app.config["COOKIE_DOMAIN"]),
max_age=86400 * 30, # 30 days
)

def __init__(self, app):
self.flask_app = app
self.flask_app.add_url_rule(
Expand All @@ -14,20 +31,10 @@ def __init__(self, app):

@staticmethod
def select_language(locale):
def get_cookie_domain(cookie_domain):
if not cookie_domain:
return None
else:
return cookie_domain

response = make_response(
redirect(request.referrer or request.args.get("return_url") or "/", 302)
)
response.set_cookie(
CommonConfig.FSD_LANG_COOKIE_NAME,
locale,
domain=get_cookie_domain(current_app.config["COOKIE_DOMAIN"]),
max_age=86400 * 30, # 30 days
)
LanguageSelector.set_language_cookie(locale, response)

return response

0 comments on commit 0dc6367

Please sign in to comment.