From e7b9c8d785031cf710fb22e3446a653f20922212 Mon Sep 17 00:00:00 2001 From: chrisjsimpson Date: Thu, 26 May 2022 22:17:04 +0100 Subject: [PATCH 1/2] Fix #33 send country_code to subscribie deployer during new site build --- __init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/__init__.py b/__init__.py index d27c853..c6bc1fb 100644 --- a/__init__.py +++ b/__init__.py @@ -59,6 +59,9 @@ def submit_new_site_build( payload["login_token"] = login_token company_name = form.company_name.data payload["company"] = {"name": company_name, "logo": "", "start_image": ""} + # If possible, get country code and send to subscribie deployer + # Ref: https://github.com/Subscribie/module-builder/issues/33 + payload["country_code"] = session.get("country_code", "GB") payload["theme"] = {"name": "jesmond", "static_folder": "./static/"} # Custom styles prepare as empty From c0db85916a19d1a6c42494f89bb72af7d0a1aeb8 Mon Sep 17 00:00:00 2001 From: chrisjsimpson Date: Fri, 27 May 2022 21:47:55 +0100 Subject: [PATCH 2/2] Fix #33 pass session as dict to submit_new_site_build (which may contain geolocation country code) --- __init__.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/__init__.py b/__init__.py index c6bc1fb..7599617 100644 --- a/__init__.py +++ b/__init__.py @@ -40,7 +40,7 @@ def start_building(): def submit_new_site_build( - form, domain, subdomain, login_token, app_config=None + form, domain, subdomain, login_token, app_config=None, session=None ): # noqa: E501 """Submit a new site build Take form submission and build new site from it @@ -51,6 +51,7 @@ def submit_new_site_build( :param subdomain: The subdomain for new shop e.g. abc. Which :param app_config: The flask app config type casted to a dict when combined with domain, becomes abc.example.com + :param session: The serialized flask session data """ payload = {} payload["version"] = 1 @@ -143,18 +144,24 @@ def save_plans(): login_token = generate_login_token() + session[ + "site-url" + ] = f'https://{subdomain}.{app.config.get("SUBSCRIBIE_DOMAIN", ".subscriby.shop")}' # noqa: E501 + # Start new site build in background thread app_config = dict(app.config) + session_dict = dict(session) task_queue.put( lambda: submit_new_site_build( - form, domain, subdomain, login_token, app_config - ) # noqa: E501 + form, + domain, + subdomain, + login_token, + app_config, + session=session_dict, # noqa: E501 + ) ) # noqa: E501 - session[ - "site-url" - ] = f'https://{subdomain}.{app.config.get("SUBSCRIBIE_DOMAIN", ".subscriby.shop")}' # noqa: E501 - # Redirect to their site, auto login using login_token auto_login_url = f'{session["site-url"]}/auth/login/{login_token}' session["login-url"] = auto_login_url