resolve the ugly assets_prefix hack

This commit is contained in:
Jakob Ketterl
2021-03-03 15:24:18 +01:00
parent 37d89c074b
commit c0b7cf5f8d
7 changed files with 23 additions and 65 deletions

View File

@ -68,16 +68,10 @@ class SettingsFormController(AuthorizationMixin, WebpageController, metaclass=AB
def indexAction(self):
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()
variables["content"] = self.render_sections()
variables["title"] = self.getTitle()
variables["assets_prefix"] = "../"
return variables
def parseFormData(self):

View File

@ -10,11 +10,6 @@ logger = logging.getLogger(__name__)
class BookmarksController(AuthorizationMixin, WebpageController):
def header_variables(self):
variables = super().header_variables()
variables["assets_prefix"] = "../"
return variables
def template_variables(self):
variables = super().template_variables()
variables["bookmarks"] = self.render_table()

View File

@ -13,16 +13,10 @@ from abc import ABCMeta
class SdrDeviceListController(AuthorizationMixin, WebpageController):
def header_variables(self):
variables = super().header_variables()
variables["assets_prefix"] = "../"
return variables
def template_variables(self):
variables = super().template_variables()
variables["content"] = self.render_devices()
variables["title"] = "SDR device settings"
variables["assets_prefix"] = "../"
return variables
def render_devices(self):
@ -134,16 +128,6 @@ class SdrDeviceController(SdrFormController):
def getTitle(self):
return self.device["name"]
def header_variables(self):
variables = super().header_variables()
variables["assets_prefix"] = "../../"
return variables
def template_variables(self):
variables = super().template_variables()
variables["assets_prefix"] = "../../"
return variables
def render_sections(self):
return super().render_sections() + self.render_profile_list(self.device["profiles"])
@ -189,16 +173,6 @@ class NewSdrDeviceController(SettingsFormController):
self.stack.addLayer(0, id_layer)
self.stack.addLayer(1, self.data_layer)
def header_variables(self):
variables = super().header_variables()
variables["assets_prefix"] = "../../"
return variables
def template_variables(self):
variables = super().template_variables()
variables["assets_prefix"] = "../../"
return variables
def getSections(self):
return [
Section(
@ -251,16 +225,6 @@ class SdrProfileController(SdrFormController):
def getTitle(self):
return self.profile["name"]
def header_variables(self):
variables = super().header_variables()
variables["assets_prefix"] = "../../../"
return variables
def template_variables(self):
variables = super().template_variables()
variables["assets_prefix"] = "../../../"
return variables
def indexAction(self):
if self.profile is None:
self.send_response("profile not found", code=404)

View File

@ -19,14 +19,19 @@ class TemplateController(Controller):
class WebpageController(TemplateController):
def get_document_root(self):
path_parts = [part for part in self.request.path[1:].split("/")]
levels = max(0, len(path_parts) - 1)
return "../" * levels
def header_variables(self):
variables = {"assets_prefix": ""}
variables = {"document_root": self.get_document_root()}
variables.update(ReceiverDetails().__dict__())
return variables
def template_variables(self):
header = self.render_template("include/header.include.html", **self.header_variables())
return {"header": header}
return {"header": header, "document_root": self.get_document_root()}
class IndexController(WebpageController):