diff --git a/owrx/controllers/settings.py b/owrx/controllers/settings.py index ed9462d..77268d3 100644 --- a/owrx/controllers/settings.py +++ b/owrx/controllers/settings.py @@ -1,5 +1,6 @@ from abc import ABC, abstractmethod from .admin import AdminController +from owrx.config import Config class Input(ABC): @@ -24,31 +25,31 @@ class Input(ABC): return " ".join(["form-control", "form-control-sm"]) @abstractmethod - def render_input(self): + def render_input(self, value): pass - def render(self): - return self.bootstrap_decorate(self.render_input()) + def render(self, config): + return self.bootstrap_decorate(self.render_input(config[self.id])) class TextInput(Input): - def render_input(self): + def render_input(self, value): return """ - - """.format(id=self.id, label=self.label, classes=self.input_classes()) + + """.format(id=self.id, label=self.label, classes=self.input_classes(), value=value) class LocationInput(Input): - def render_input(self): + def render_input(self, value): # TODO make this work and pretty return "Placeholder for a map widget to select receiver location" class TextAreaInput(Input): - def render_input(self): + def render_input(self, value): return """ - - """.format(id=self.id, classes=self.input_classes()) + + """.format(id=self.id, classes=self.input_classes(), value=value) class SettingsController(AdminController): @@ -66,7 +67,8 @@ class SettingsController(AdminController): self.serve_template("admin.html", **self.template_variables()) def render_form(self): - inputs = "".join([i.render() for i in SettingsController.inputs]) + config = Config.get() + inputs = "".join([i.render(config) for i in SettingsController.inputs]) return "
{inputs}
".format(inputs=inputs) def template_variables(self):