diff --git a/CHANGELOG.MD b/CHANGELOG.MD index e17b71d36..89c44e603 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,5 +1,9 @@ ## May 29, 2024 +- **Bugfix** Null in the public URL [🎟️ DESENG-625](https://apps.itsm.gov.bc.ca/jira/browse/DESENG-625) + - Removed language from URLs other than engagement/survey links + - Fixed the issue of null appearing in public URLs + - **Feature** MET split out tenant specific variables from locale files [🎟️ DESENG-612](https://apps.itsm.gov.bc.ca/jira/browse/DESENG-612) - Replaced tenant based values with data from tenant detail API diff --git a/met-api/sample.env b/met-api/sample.env index c83cee67c..700c4ca2b 100644 --- a/met-api/sample.env +++ b/met-api/sample.env @@ -90,15 +90,15 @@ ACCESS_REQUEST_EMAIL_ADDRESS="accessRequestHandler.fakeName@gov.bc.ca" # Site paths for creating emails from templates SITE_URL=http://localhost:3000 -SURVEY_PATH=/{lang}/surveys/submit/{survey_id}/{token} +SURVEY_PATH=/surveys/submit/{survey_id}/{token}/{lang} USER_MANAGEMENT_PATH=/usermanagement -SUBMISSION_PATH=/{lang}/engagements/{engagement_id}/edit/{token} -SUBSCRIBE_PATH=/{lang}/engagements/{engagement_id}/subscribe/{token} -UNSUBSCRIBE_PATH=/{lang}/engagements/{engagement_id}/unsubscribe/{participant_id} -ENGAGEMENT_PATH=/{lang}/engagements/{engagement_id}/view -ENGAGEMENT_PATH_SLUG=/{lang}/{slug} -ENGAGEMENT_DASHBOARD_PATH=/{lang}/engagements/{engagement_id}/comments/public -ENGAGEMENT_DASHBOARD_PATH_SLUG=/{lang}/{slug}/comments/public +SUBMISSION_PATH=/engagements/{engagement_id}/edit/{token}/{lang} +SUBSCRIBE_PATH=/engagements/{engagement_id}/subscribe/{token}/{lang} +UNSUBSCRIBE_PATH=/engagements/{engagement_id}/unsubscribe/{participant_id}/{lang} +ENGAGEMENT_PATH=/engagements/{engagement_id}/view/{lang} +ENGAGEMENT_PATH_SLUG=/{slug}/{lang} +ENGAGEMENT_DASHBOARD_PATH=/engagements/{engagement_id}/comments/public/{lang} +ENGAGEMENT_DASHBOARD_PATH_SLUG=/{slug}/comments/public/{lang} #CDogs API settings CDOGS_ACCESS_TOKEN= diff --git a/met-api/src/met_api/config.py b/met-api/src/met_api/config.py index 6ea72460d..706a641bc 100644 --- a/met-api/src/met_api/config.py +++ b/met-api/src/met_api/config.py @@ -239,25 +239,25 @@ def SQLALCHEMY_DATABASE_URI(self) -> str: # construct the links in the emails sent to users. PATH_CONFIG = PATHS = { 'SITE': os.getenv('SITE_URL'), - 'SURVEY': os.getenv('SURVEY_PATH', '/{lang}/surveys/submit/{survey_id}/{token}'), + 'SURVEY': os.getenv('SURVEY_PATH', '/surveys/submit/{survey_id}/{token}/{lang}'), 'USER_MANAGEMENT': os.getenv('USER_MANAGEMENT_PATH', '/usermanagement'), 'SUBMISSION': os.getenv( - 'SUBMISSION_PATH', '/{lang}/engagements/{engagement_id}/edit/{token}' + 'SUBMISSION_PATH', '/engagements/{engagement_id}/edit/{token}/{lang}' ), 'SUBSCRIBE': os.getenv( - 'SUBSCRIBE_PATH', '/{lang}/engagements/{engagement_id}/subscribe/{token}' + 'SUBSCRIBE_PATH', '/engagements/{engagement_id}/subscribe/{token}/{lang}' ), 'UNSUBSCRIBE': os.getenv( - 'UNSUBSCRIBE_PATH', '/{lang}/engagements/{engagement_id}/unsubscribe/{participant_id}' + 'UNSUBSCRIBE_PATH', '/engagements/{engagement_id}/unsubscribe/{participant_id}/{lang}' ), 'ENGAGEMENT': { - 'VIEW': os.getenv('ENGAGEMENT_PATH', '/{lang}/engagements/{engagement_id}/view'), - 'SLUG': os.getenv('ENGAGEMENT_PATH_SLUG', '/{lang}/{slug}'), + 'VIEW': os.getenv('ENGAGEMENT_PATH', '/engagements/{engagement_id}/view/{lang}'), + 'SLUG': os.getenv('ENGAGEMENT_PATH_SLUG', '/{slug}/{lang}'), 'DASHBOARD': os.getenv( - 'ENGAGEMENT_DASHBOARD_PATH', '/{lang}/engagements/{engagement_id}/comments/public' + 'ENGAGEMENT_DASHBOARD_PATH', '/engagements/{engagement_id}/comments/public/{lang}' ), 'DASHBOARD_SLUG': os.getenv( - 'ENGAGEMENT_DASHBOARD_PATH_SLUG', '/{lang}/{slug}/comments/public' + 'ENGAGEMENT_DASHBOARD_PATH_SLUG', '/{slug}/comments/public/{lang}' ), } } diff --git a/met-web/src/App.tsx b/met-web/src/App.tsx index d70ed0191..8413a16f8 100644 --- a/met-web/src/App.tsx +++ b/met-web/src/App.tsx @@ -94,25 +94,22 @@ const App = () => { } const defaultTenant = AppConfig.tenant.defaultTenant; - const defaultLanguage = AppConfig.language.defaultLanguageId; - + sessionStorage.setItem('languageId', AppConfig.language.defaultLanguageId); // Determine the appropriate URL to redirect - const redirectToDefaultUrl = (base: string, includeLanguage = true) => { - const languageSegment = includeLanguage ? `/${defaultLanguage}` : '/home'; - window.location.replace(`/${base}${languageSegment}`); + const redirectToDefaultUrl = (base: string, isAuthenticated: boolean) => { + const redirectUrl = `/${base}${isAuthenticated ? '/home' : ''}`; + window.location.replace(redirectUrl); }; - const shouldIncludeLanguage = !isAuthenticated; - if (basename) { fetchTenant(basename); - // if language or admin dashboard url not set - if (pathSegments.length < 2) { - redirectToDefaultUrl(basename, shouldIncludeLanguage); + // if admin dashboard url not set + if (pathSegments.length < 2 && isAuthenticated) { + redirectToDefaultUrl(basename, isAuthenticated); } } else if (defaultTenant) { fetchTenant(defaultTenant); - redirectToDefaultUrl(defaultTenant, shouldIncludeLanguage); + redirectToDefaultUrl(defaultTenant, isAuthenticated); } else { dispatch(loadingTenant(false)); } @@ -213,9 +210,7 @@ const App = () => { - - } /> - +