diff --git a/cmd/mailslurper/controllers/AdminController.go b/cmd/mailslurper/controllers/AdminController.go index 899f430..2bdc69a 100644 --- a/cmd/mailslurper/controllers/AdminController.go +++ b/cmd/mailslurper/controllers/AdminController.go @@ -42,9 +42,10 @@ func (c *AdminController) Admin(ctx echo.Context) error { context := contexts.GetAdminContext(ctx) data := mailslurper.Page{ - Theme: c.Config.GetTheme(), - Title: "Admin", - User: context.User, + PublicWWWURL: c.Config.GetPublicWWWURL(), + Theme: c.Config.GetTheme(), + Title: "Admin", + User: context.User, } return context.Render(http.StatusOK, "mainLayout:admin", data) @@ -86,9 +87,10 @@ func (c *AdminController) Index(ctx echo.Context) error { context := contexts.GetAdminContext(ctx) data := mailslurper.Page{ - Theme: c.Config.GetTheme(), - Title: "Mail", - User: context.User, + PublicWWWURL: c.Config.GetPublicWWWURL(), + Theme: c.Config.GetTheme(), + Title: "Mail", + User: context.User, } return context.Render(http.StatusOK, "mainLayout:index", data) @@ -118,9 +120,10 @@ func (c *AdminController) ManageSavedSearches(ctx echo.Context) error { context := contexts.GetAdminContext(ctx) data := mailslurper.Page{ - Theme: c.Config.GetTheme(), - Title: "Manage Saved Searches", - User: context.User, + PublicWWWURL: c.Config.GetPublicWWWURL(), + Theme: c.Config.GetTheme(), + Title: "Manage Saved Searches", + User: context.User, } return context.Render(http.StatusOK, "mainLayout:manageSavedSearches", data) diff --git a/cmd/mailslurper/www/mailslurper/js/app.js b/cmd/mailslurper/www/mailslurper/js/app.js index df00250..ecc6ae0 100644 --- a/cmd/mailslurper/www/mailslurper/js/app.js +++ b/cmd/mailslurper/www/mailslurper/js/app.js @@ -3,6 +3,8 @@ // that can be found in the LICENSE file. $(document).ready(function () { + var appURL = window.SettingsService.getAppURL(); + if (!window.SettingsService.serviceSettingsExistInLocalStore()) { window.SettingsService.getServiceSettings() .then(function (serviceSettings) { @@ -12,7 +14,7 @@ $(document).ready(function () { .then(function (serviceSettings) { if (serviceSettings.authenticationScheme !== "") { if (!window.AuthService.tokenExistsInStorage()) { - window.location = "/login"; + window.location = appURL + "/login"; } } }) @@ -26,7 +28,7 @@ $(document).ready(function () { $("#logOutLink").on("click", function () { window.AuthService.logout(serviceURL) .then(function () { - window.location = "/logout"; + window.location = appURL + "/logout"; }) .catch(function (err) { alert("There was an error logging out: " + err) diff --git a/cmd/mailslurper/www/mailslurper/js/controllers/AdminController.js b/cmd/mailslurper/www/mailslurper/js/controllers/AdminController.js index 9a4c51f..6ddfcdf 100644 --- a/cmd/mailslurper/www/mailslurper/js/controllers/AdminController.js +++ b/cmd/mailslurper/www/mailslurper/js/controllers/AdminController.js @@ -127,7 +127,8 @@ window.SettingsService.storeSettings(settings) .then(function () { if (settings.theme != currentTheme) { - window.location = "/admin"; + var appURL = window.SettingsService.getAppURL(); + window.location = appURL + "/admin"; return; } diff --git a/cmd/mailslurper/www/mailslurper/js/controllers/LoginController.js b/cmd/mailslurper/www/mailslurper/js/controllers/LoginController.js index 443a065..67c7221 100644 --- a/cmd/mailslurper/www/mailslurper/js/controllers/LoginController.js +++ b/cmd/mailslurper/www/mailslurper/js/controllers/LoginController.js @@ -55,7 +55,8 @@ $("#frmLogin").submit(); }) .catch(function (err) { - window.location = "/login?message=Invalid user name or password"; + var appURL = window.SettingsService.getAppURL(); + window.location = appURL + "/login?message=Invalid user name or password"; }); } diff --git a/cmd/mailslurper/www/mailslurper/js/services/AuthService.js b/cmd/mailslurper/www/mailslurper/js/services/AuthService.js index 1b48c50..22a208c 100644 --- a/cmd/mailslurper/www/mailslurper/js/services/AuthService.js +++ b/cmd/mailslurper/www/mailslurper/js/services/AuthService.js @@ -74,6 +74,7 @@ window.AuthService = { }, gotoLogin: function () { - window.location = "/login"; + var appURL = window.SettingsService.getAppURL(); + window.location = appURL + "/login"; } }; diff --git a/cmd/mailslurper/www/mailslurper/js/services/SettingsService.js b/cmd/mailslurper/www/mailslurper/js/services/SettingsService.js index 38ac98e..7c4dde2 100644 --- a/cmd/mailslurper/www/mailslurper/js/services/SettingsService.js +++ b/cmd/mailslurper/www/mailslurper/js/services/SettingsService.js @@ -75,6 +75,13 @@ window.SettingsService = { return serviceURL; }, + /** + * getWWURL return the fully formatted app URL + */ + getAppURL: function () { + return $('meta[name=app-url]').attr('content') + }, + /** * retrieveSavedSearches reads saved searches from local storage */ diff --git a/cmd/mailslurper/www/mailslurper/js/services/TemplateService.js b/cmd/mailslurper/www/mailslurper/js/services/TemplateService.js index bee0ce4..abb06b5 100644 --- a/cmd/mailslurper/www/mailslurper/js/services/TemplateService.js +++ b/cmd/mailslurper/www/mailslurper/js/services/TemplateService.js @@ -7,7 +7,8 @@ window.TemplateService = { load: function (name) { return new Promise(function (resolve, reject) { - $.get("/www/mailslurper/templates/" + name + ".hbs").then( + var appURL = window.SettingsService.getAppURL(); + $.get(appURL + "/www/mailslurper/templates/" + name + ".hbs").then( function (result) { return resolve(result); }, diff --git a/cmd/mailslurper/www/mailslurper/js/widgets/SavedSearchesWidget.js b/cmd/mailslurper/www/mailslurper/js/widgets/SavedSearchesWidget.js index d502830..4c1e81e 100644 --- a/cmd/mailslurper/www/mailslurper/js/widgets/SavedSearchesWidget.js +++ b/cmd/mailslurper/www/mailslurper/js/widgets/SavedSearchesWidget.js @@ -30,7 +30,8 @@ label: "Manage", cssClass: "btn-default", action: function () { - window.location = "/savedsearches"; + var appURL = window.SettingsService.getAppURL(); + window.location = appURL + "/savedsearches"; } }, { diff --git a/cmd/mailslurper/www/mailslurper/layouts/loginLayout.gohtml b/cmd/mailslurper/www/mailslurper/layouts/loginLayout.gohtml index cd3ace2..21b7288 100644 --- a/cmd/mailslurper/www/mailslurper/layouts/loginLayout.gohtml +++ b/cmd/mailslurper/www/mailslurper/layouts/loginLayout.gohtml @@ -13,17 +13,19 @@ - + + + Login // MailSlurper - - - - - - - + + + + + + + @@ -33,18 +35,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + {{template "js" .}} diff --git a/cmd/mailslurper/www/mailslurper/layouts/mainLayout.gohtml b/cmd/mailslurper/www/mailslurper/layouts/mainLayout.gohtml index fb0f144..9175a9d 100644 --- a/cmd/mailslurper/www/mailslurper/layouts/mainLayout.gohtml +++ b/cmd/mailslurper/www/mailslurper/layouts/mainLayout.gohtml @@ -13,17 +13,19 @@ - + + + {{.Title}} // MailSlurper - - - - - - - + + + + + + + {{template "css" .}} @@ -38,23 +40,23 @@ - +