]> git.ipfire.org Git - people/ms/westferry.git/commitdiff
system: Add an about page with software versions
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 6 Dec 2021 11:24:15 +0000 (11:24 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 6 Dec 2021 11:24:15 +0000 (11:24 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
src/templates/system/about.html [new file with mode: 0644]
src/westferry/handlers/system.py

index 249b8786e4cf9bd42c6331e1bca71b7bb684c39a..2f4983b703d45d6cadc406d6396297b8cbc1f65d 100644 (file)
@@ -177,6 +177,11 @@ dist_templates_modules_menus_DATA = \
        src/templates/modules/menus/sidebar.html \
        src/templates/modules/menus/topbar.html
 
+dist_templates_system_DATA = \
+       src/templates/system/about.html
+
+templates_systemdir = $(templatesdir)/system
+
 ui_modulesdir = $(datadir)/westferry/templates/modules
 
 ui_modules_DATA =
diff --git a/src/templates/system/about.html b/src/templates/system/about.html
new file mode 100644 (file)
index 0000000..c91e572
--- /dev/null
@@ -0,0 +1,24 @@
+{% extends "../base.html" %}
+
+{% block main %}
+       <h3>{{ _("About") }}</h3>
+
+       {% for header in tables %}
+               <table>
+                       <thead>
+                               <tr>
+                                       <th colspan="2">{{ header }}</th>
+                               </tr>
+                       </thead>
+
+                       <tbody>
+                               {% for key in tables[header] %}
+                                       <tr>
+                                               <td>{{ key }}</td>
+                                               <td>{{ tables[header][key] }}</td>
+                                       </tr>
+                               {% end %}
+                       </tbody>
+               </table>
+       {% end %}
+{% end block %}
index 2be82c40d07b410a1352912a9ac301927677d164..d2eb2f443ecaa88c82eec4c0f30e6aee7265b70a 100644 (file)
@@ -21,6 +21,7 @@
 
 from . import base
 from .. import ui
+from ..constants import PACKAGE_NAME, PACKAGE_VERSION
 from ..i18n import N_
 
 class BaseHandler(base.BaseHandler):
@@ -36,6 +37,9 @@ class BaseHandler(base.BaseHandler):
                # Settings
                menu.add_handler(SettingsHandler)
 
+               # About
+               menu.add_handler(AboutHandler)
+
                return menu
 
 
@@ -63,3 +67,20 @@ class SettingsHandler(BaseHandler):
                form = tab.add_form()
 
                form.add_text_input("hostname", _("Hostname"), object=self.backend.system)
+
+
+class AboutHandler(BaseHandler):
+       title = N_("About")
+       url = r"/system/about"
+
+       def get(self):
+               _ = self.locale.translate
+
+               tables = {
+                       _("Software Versions") : {
+                               PACKAGE_NAME : PACKAGE_VERSION,
+                               _("systemd") : self.backend.system.systemd.Version,
+                       }
+               }
+
+               self.render("system/about.html", tables=tables)