]> git.ipfire.org Git - ipfire.org.git/commitdiff
fireinfo: Update design of vendor pages
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 30 Oct 2018 11:32:55 +0000 (11:32 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 30 Oct 2018 11:32:55 +0000 (11:32 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/fireinfo.py
src/templates/fireinfo/driver.html
src/templates/fireinfo/modules/table-devices-and-groups.html
src/templates/fireinfo/modules/table-devices.html
src/templates/fireinfo/profile.html
src/templates/fireinfo/vendor-detail.html
src/templates/fireinfo/vendors.html
src/web/fireinfo.py

index f5c1ad57233e3f2e85f648190c048ff4308ecd3b..194155e0faad4bfa92661e284ceebfe94287054d 100644 (file)
@@ -2007,17 +2007,17 @@ class Fireinfo(Object):
                try:
                        cls = self.subsystem2class[subsystem]
                except KeyError:
-                       return
+                       return ""
 
-               return cls.get_vendor(vendor_id)
+               return cls.get_vendor(vendor_id) or ""
 
        def get_model_string(self, subsystem, vendor_id, model_id):
                try:
                        cls = self.subsystem2class[subsystem]
                except KeyError:
-                       return
+                       return ""
 
-               return cls.get_device(vendor_id, model_id)
+               return cls.get_device(vendor_id, model_id) or ""
 
        def get_vendor_list(self, when=None):
                res = self.db.query("WITH profiles AS (SELECT fireinfo_profiles_with_data_at(%s) AS id) \
index 05511fcc4d276bae841c3b93ebd918f7adec2241..5e067d9b84fb6942f1d7da562ea48f412fc77752 100644 (file)
@@ -1,11 +1,27 @@
 {% extends "../base.html" %}
 
-{% block title %}{{ _("Driver: %s") % driver }}{% end block %}
+{% block title %}{{ driver }}{% end block %}
 
-{% block body %}
-       <div class="page-header">
-               <h2>{{ _("Driver: %s") % driver }}</h2>
-       </div>
+{% block container %}
+       <section>
+               <div class="container">
+                       <div class="row">
+                               <div class="col-12">
+                                       <h1>{{ driver }}</h1>
+
+                                       <p>
+                                               {{ _("All known devices run by %s") % driver }}
+                                       </p>
+                               </div>
+                       </div>
+               </div>
+       </section>
 
-       {% module FireinfoDeviceTable(driver_map) %}
+       <div class="container">
+               <div class="row">
+                       <div class="col-12">
+                               {% module FireinfoDeviceTable(driver_map) %}
+                       </div>
+               </div>
+       </div>
 {% end block %}
index 0ff023c5056453ae8aa7980ac0cf95dc78b20a29..d5b2b75591640a7d75d31d9aa42ed697456bc27a 100644 (file)
@@ -1,5 +1,7 @@
 {% for group, devices in groups %}
-       <h4>{{ group }}</h4>
+       <div class="mb-5">
+               <h4>{{ group }}</h4>
 
-       {% module FireinfoDeviceTable(devices) %}
+               {% module FireinfoDeviceTable(devices, show_group=False) %}
+       </div>
 {% end %}
index 34ec81129d0ba338126ec7c475b78dc76ba0a92e..9d514e9a5c4e91641ac162d5596f5589f3a47d1e 100644 (file)
@@ -1,8 +1,8 @@
-<ul class="list-group list-group-flush">
+<ul class="list-group {% if embedded %}list-group-flush{% end %}">
        {% for d in sorted(devices) %}
                <div class="list-group-item flex-column align-items-start">
                        <p class="small text-muted mb-0">
-                               {{ d.cls }}
+                               {% if show_group %}{{ d.cls }}{% end %}
 
                                {% if d.subsystem == "usb" %}
                                        <span class="fab fa-usb"></span>
index cb86c9872ad9633f65ee9ff8ba1f48f198374879..498622c89ae5fe0c507464d38925724a7803f11a 100644 (file)
                                        </div>
 
                                        {% if profile.devices %}
-                                               {% module FireinfoDeviceTable([d for d in profile.devices if d.is_showable()]) %}
+                                               {% module FireinfoDeviceTable([d for d in profile.devices if d.is_showable()], embedded=True) %}
                                        {% end %}
                                </div>
 
index 8e3dc644559fc53d638ece9616e25922cfe3a51a..f8014c0ab762f1a01ee46a6f0cf30cdcf4e26b59 100644 (file)
@@ -3,14 +3,19 @@
 {% block title %}{{ vendor_name }}{% end block %}
 
 {% block body %}
-       <div class="page-header">
-               <h2>{{ vendor_name }}</h2>
-       </div>
+       <section>
+               <div class="container">
+                       <div class="row">
+                               <div class="col-12">
+                                       <h1>{{ vendor_name }}</h1>
 
-       <p>
-               This is a list of all devices this database knows about from
-               <strong>{{ vendor_name }}</strong>.
-       </p>
+                                       <p>
+                                               {{ _("All known devices by %s") % vendor_name }}
+                                       </p>
+                               </div>
+                       </div>
+               </div>
+       </section>
 
        {% module FireinfoDeviceAndGroupsTable(devices) %}
 {% end block %}
index c618caa464a9c7c256b3b03436fb060fe596ccc8..117d7a6253bfdcc2b986597b619a087cfe46ca8d 100644 (file)
@@ -2,27 +2,35 @@
 
 {% block title %}{{ _("Vendors") }}{% end block %}
 
-{% block body %}
-       <div class="page-header">
-               <h3>{{ _("Vendors") }}</h3>
-       </div>
+{% block container %}
+       <section>
+               <div class="container">
+                       <div class="row">
+                               <div class="col-12">
+                                       <h1>{{ _("Vendors") }}</h1>
+                               </div>
+                       </div>
+               </div>
+       </section>
 
-       <dl>
-               {% for vendor, subsystems in vendors %}
-                       <dt>{{ vendor }}</dt>
-                       <dd>
-                               <ul class="list-inline">
-                                       {% for subsystem, vendor_id in sorted(subsystems) %}
-                                               <li>
-                                                       <img src="{{ static_url("images/icons/bus-%s.png" % subsystem) }}"
-                                                               alt="{{ subsystem.upper() }}" />
-                                                       <a href="/device/{{ subsystem }}/{{ vendor_id }}">
-                                                               {{ subsystem.upper() }}
-                                                       </a>
-                                               </li>
+       <div class="container">
+               <div class="row justify-content-center">
+                       <div class="col-12 col-md-6">
+                               <dl class="row">
+                                       {% for vendor, subsystems in vendors %}
+                                               {% if vendor %}
+                                                       <dt class="col-sm-9">{{ vendor }}</dt>
+                                                       <dd class="col-sm-3">
+                                                               {% for subsystem, vendor_id in sorted(subsystems) %}
+                                                                       <a href="/device/{{ subsystem }}/{{ vendor_id }}">
+                                                                               {{ subsystem.upper() }}
+                                                                       </a>
+                                                               {% end %}
+                                                       </dd>
+                                               {% end %}
                                        {% end %}
-                               </ul>
-                       </dd>
-               {% end %}
-       </dl>
+                               </dl>
+                       </div>
+               </div>
+       </div>
 {% end block %}
index cbecde8ffa09b0ffd26b6207563f0a79e9258d5a..8e4de2b463962d30dbcc8b06b94ba151bbb3e789 100644 (file)
@@ -329,9 +329,9 @@ class AdminFireinfoHandler(BaseHandler):
 
 
 class DeviceTableModule(ui_modules.UIModule):
-       def render(self, devices):
+       def render(self, devices, show_group=True, embedded=False):
                return self.render_string("fireinfo/modules/table-devices.html",
-                               devices=devices)
+                               devices=devices, show_group=show_group, embedded=embedded)
 
 
 class DeviceAndGroupsTableModule(ui_modules.UIModule):