From cda43b5c5cf247b76d05f013b807ee1a780f341a Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Sat, 13 Feb 2021 16:44:14 +0100 Subject: [PATCH] re-route settings urls --- htdocs/include/header.include.html | 8 ++++---- htdocs/lib/Header.js | 3 ++- htdocs/settings.html | 4 ++-- .../general.html} | 8 ++++---- htdocs/{sdrsettings.html => settings/sdr.html} | 8 ++++---- owrx/controllers/settings.py | 16 +++++++++++++--- owrx/controllers/template.py | 5 ++++- owrx/form/gfx.py | 4 ++-- owrx/http.py | 6 +++--- 9 files changed, 38 insertions(+), 24 deletions(-) rename htdocs/{generalsettings.html => settings/general.html} (54%) rename htdocs/{sdrsettings.html => settings/sdr.html} (50%) diff --git a/htdocs/include/header.include.html b/htdocs/include/header.include.html index 44e53a2c..6e7beff2 100644 --- a/htdocs/include/header.include.html +++ b/htdocs/include/header.include.html @@ -1,7 +1,7 @@
- - Receiver avatar + + Receiver avatar
@@ -10,8 +10,8 @@

Status

Log

Receiver
-
Map
-
Settings
+
Map
+
Settings
diff --git a/htdocs/lib/Header.js b/htdocs/lib/Header.js index b9ff4711..ea644574 100644 --- a/htdocs/lib/Header.js +++ b/htdocs/lib/Header.js @@ -58,7 +58,8 @@ Header.prototype.toggle_rx_photo = function(ev) { Header.prototype.download_details = function() { var self = this; - $.ajax('api/receiverdetails').done(function(data){ + // TODO: make this use a relative URL again + $.ajax('/api/receiverdetails').done(function(data){ self.setDetails(data); }); }; diff --git a/htdocs/settings.html b/htdocs/settings.html index 80dce91a..ef2f5643 100644 --- a/htdocs/settings.html +++ b/htdocs/settings.html @@ -15,10 +15,10 @@ ${header}

Settings

Feature report diff --git a/htdocs/generalsettings.html b/htdocs/settings/general.html similarity index 54% rename from htdocs/generalsettings.html rename to htdocs/settings/general.html index 4731a028..8b628b6f 100644 --- a/htdocs/generalsettings.html +++ b/htdocs/settings/general.html @@ -2,11 +2,11 @@ OpenWebRX Settings - - - + + + - + diff --git a/htdocs/sdrsettings.html b/htdocs/settings/sdr.html similarity index 50% rename from htdocs/sdrsettings.html rename to htdocs/settings/sdr.html index 74aa8b76..f85dfdec 100644 --- a/htdocs/sdrsettings.html +++ b/htdocs/settings/sdr.html @@ -2,10 +2,10 @@ OpenWebRX Settings - - - - + + + + diff --git a/owrx/controllers/settings.py b/owrx/controllers/settings.py index fb5795d1..dd1281bb 100644 --- a/owrx/controllers/settings.py +++ b/owrx/controllers/settings.py @@ -64,6 +64,11 @@ class SettingsController(AuthorizationMixin, WebpageController): class SdrSettingsController(AuthorizationMixin, WebpageController): + def header_variables(self): + variables = super().header_variables() + variables["assets_prefix"] = "../" + return variables + def template_variables(self): variables = super().template_variables() variables["devices"] = self.render_devices() @@ -94,7 +99,7 @@ class SdrSettingsController(AuthorizationMixin, WebpageController): ) def indexAction(self): - self.serve_template("sdrsettings.html", **self.template_variables()) + self.serve_template("settings/sdr.html", **self.template_variables()) class GeneralSettingsController(AuthorizationMixin, WebpageController): @@ -372,7 +377,12 @@ class GeneralSettingsController(AuthorizationMixin, WebpageController): ) def indexAction(self): - self.serve_template("generalsettings.html", **self.template_variables()) + self.serve_template("settings/general.html", **self.template_variables()) + + def header_variables(self): + variables = super().header_variables() + variables["assets_prefix"] = "../" + return variables def template_variables(self): variables = super().template_variables() @@ -417,4 +427,4 @@ class GeneralSettingsController(AuthorizationMixin, WebpageController): else: config[k] = v config.store() - self.send_redirect("/generalsettings") + self.send_redirect("/settings/general") diff --git a/owrx/controllers/template.py b/owrx/controllers/template.py index 67460123..2213b831 100644 --- a/owrx/controllers/template.py +++ b/owrx/controllers/template.py @@ -18,8 +18,11 @@ class TemplateController(Controller): class WebpageController(TemplateController): + def header_variables(self): + return {"assets_prefix": ""} + def template_variables(self): - header = self.render_template("include/header.include.html") + header = self.render_template("include/header.include.html", **self.header_variables()) return {"header": header} diff --git a/owrx/form/gfx.py b/owrx/form/gfx.py index 05a01f30..99a2ca6f 100644 --- a/owrx/form/gfx.py +++ b/owrx/form/gfx.py @@ -36,7 +36,7 @@ class ImageInput(Input, metaclass=ABCMeta): class AvatarInput(ImageInput): def getUrl(self) -> str: - return "static/gfx/openwebrx-avatar.png" + return "../static/gfx/openwebrx-avatar.png" def getImgClasses(self) -> list: return ["webrx-rx-avatar"] @@ -44,7 +44,7 @@ class AvatarInput(ImageInput): class TopPhotoInput(ImageInput): def getUrl(self) -> str: - return "static/gfx/openwebrx-top-photo.jpg" + return "../static/gfx/openwebrx-top-photo.jpg" def getImgClasses(self) -> list: return ["webrx-top-photo"] diff --git a/owrx/http.py b/owrx/http.py index ec791d80..d816a37e 100644 --- a/owrx/http.py +++ b/owrx/http.py @@ -103,11 +103,11 @@ class Router(object): StaticRoute("/metrics", MetricsController, options={"action": "prometheusAction"}), StaticRoute("/metrics.json", MetricsController), StaticRoute("/settings", SettingsController), - StaticRoute("/generalsettings", GeneralSettingsController), + StaticRoute("/settings/general", GeneralSettingsController), StaticRoute( - "/generalsettings", GeneralSettingsController, method="POST", options={"action": "processFormData"} + "/settings/general", GeneralSettingsController, method="POST", options={"action": "processFormData"} ), - StaticRoute("/sdrsettings", SdrSettingsController), + StaticRoute("/settings/sdr", SdrSettingsController), StaticRoute("/login", SessionController, options={"action": "loginAction"}), StaticRoute("/login", SessionController, method="POST", options={"action": "processLoginAction"}), StaticRoute("/logout", SessionController, options={"action": "logoutAction"}),