]> git.ipfire.org Git - pbs.git/commitdiff
distros: Refactor detail page
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 22 Jun 2022 16:42:00 +0000 (16:42 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 22 Jun 2022 16:42:00 +0000 (16:42 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
src/templates/distro-detail.html [deleted file]
src/templates/distros/show.html [new file with mode: 0644]
src/web/__init__.py
src/web/distributions.py

index a118d6cd020b3fe5dda31d949818afe3c096db3e..1ab37f79b0ac174450852bdff1e26d830fb530a1 100644 (file)
@@ -153,7 +153,6 @@ dist_templates_DATA = \
        src/templates/build-state.html \
        src/templates/builds-watchers-add.html \
        src/templates/builds-watchers-list.html \
-       src/templates/distro-detail.html \
        src/templates/distro-edit.html \
        src/templates/distro-source-commit-detail.html \
        src/templates/distro-source-commit-reset.html \
@@ -212,7 +211,8 @@ dist_templates_builds_modules_DATA = \
 templates_builds_modulesdir = $(templates_buildsdir)/modules
 
 dist_templates_distros_DATA = \
-       src/templates/distros/index.html
+       src/templates/distros/index.html \
+       src/templates/distros/show.html
 
 templates_distrosdir = $(templatesdir)/distros
 
diff --git a/src/templates/distro-detail.html b/src/templates/distro-detail.html
deleted file mode 100644 (file)
index a090e5f..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-{% extends "base.html" %}
-
-{% block title %}{{ _("Distribution") }}: {{ distro.name }}{% end block %}
-
-{% block body %}
-       <div class="row">
-               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
-                       <nav aria-label="breadcrumb" role="navigation">
-                               <ol class="breadcrumb">
-                                       <li class="breadcrumb-item"><a href="/">{{ _("Home") }}</a></li>
-                                       <li class="breadcrumb-item"><a href="/distros">{{ _("Distributions") }}</a></li>
-                                       <li class="breadcrumb-item active">
-                                               <a href="/distro/{{ distro.slug }}">{{ distro.name }}</a>
-                                       </li>
-                               </ol>
-                       </nav>
-               </div>
-       </div>
-
-
-       <div class="row">
-               {% if current_user and current_user.is_admin() %}
-                       <div class="col-12 col-sm-12 col-md-9 col-lg-10 col-xl-10">
-                               <h2 style="word-wrap: break-word;">
-                                       {{ _("Distribution") }}: {{ distro.name }} <br>
-                                       <small class="text-muted">{{ distro.slogan }}</small>
-                               </h2>
-                       </div>
-                       <div class="col-12 col-sm-12 col-md-3 col-lg-2 col-xl-2 mb-2">
-                               <button class="btn dropdown-toggle btn-block " type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-                                       {{ _("Actions") }}
-                               </button>
-                               <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
-                                       <a class="dropdown-item" href="/distro/{{ distro.slug }}/edit">
-                                               {{ _("Edit distribution") }}
-                                       </a>
-                                       <a class="dropdown-item" href="/distro/{{ distro.slug }}/delete">
-                                               {{ _("Delete distribution") }}
-                                       </a>
-                                       </a>
-                                       <a class="dropdown-item" href="/distro/{{ distro.slug }}/repo/new">
-                                               {{ _("New binary repository") }}
-                                       </a>
-                                       <a class="dropdown-item" href="/distro/{{ distro.slug }}/source/new">
-                                               {{ _("New source repository") }}
-                                       </a>
-                               </div>
-                       </div>
-               {% else %}
-                       <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
-                               <h2 style="word-wrap: break-word;">
-                                       {{ _("Distribution") }}: {{ distro.name }} <br>
-                                       <small class="text-muted">{{ distro.slogan }}</small>
-                               </h2>
-                       </div>
-               {% end %}
-       </div>
-
-       <div class="row">
-               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
-                       <blockquote class="blockquote">
-                               <p class="mb-0">{{ distro.description }}</p>
-                               <footer class="blockquote-footer"><cite title="{{ distro.vendor }}">{{ distro.vendor }}</cite></footer>
-                       </blockquote>
-               </div>
-       </div>
-
-       <div class="row">
-               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
-                       <p>
-                               {{ _("Supported architectures") }}:
-                               {{ locale.list(distro.arches) or _("None") }}
-                       </p>
-                       <hr />
-               </div>
-       </div>
-
-       <div class="row">
-               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
-                       <h2 style="word-wrap: break-word;">
-                               {{ _("Binary repositories") }}
-                               <small>({{ len(distro.repositories) }})</small>
-                       </h2>
-
-                       <p>
-                               {{ _("A binary repository is a composition of packages that are considered stable, unstable or in testing state by the developers.") }}
-                               <br/>
-                               {{ _("Each repository can be enabled individually.") }}
-                       </p>
-
-                       {% module RepositoryTable(distro, distro.repositories) %}
-
-                       <hr />
-               </div>
-       </div>
-
-       <div class="row">
-               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
-                       <h2 style="word-wrap: break-word;">
-                               {{ _("Source repositories") }}
-                               <small>({{ len(distro.sources) }})</small>
-                       </h2>
-
-                       {% module SourceTable(distro, distro.sources) %}
-               </div>
-       </div>
-
-{% end block %}
diff --git a/src/templates/distros/show.html b/src/templates/distros/show.html
new file mode 100644 (file)
index 0000000..85be133
--- /dev/null
@@ -0,0 +1,43 @@
+{% extends "../base.html" %}
+
+{% block title %}{{ _("Distribution") }} - {{ distro }}{% end block %}
+
+{% block container %}
+       <nav aria-label="{{ _("You are here:") }}" role="navigation">
+               <ul class="breadcrumbs">
+                       <li>
+                               <a href="/">{{ _("Home") }}</a>
+                       </li>
+                       <li>
+                               <a href="/distros">{{ _("Distributions") }}</a>
+                       </li>
+                       <li>
+                               <span class="show-for-sr">{{ _("Current") }}: </span> {{ distro }}
+                       </li>
+               </ul>
+       </nav>
+
+       <h1>
+               {{ distro }}
+
+               {% if distro.slogan %}
+                       <small>{{ distro.slogan }}</small>
+               {% end %}
+       </h1>
+
+       {% if distro.description %}
+               <div class="callout">
+                       {% module Text(distro.description) %}
+               </div>
+       {% end %}
+
+       {% if distro.arches %}
+               <p>
+                       {{ _("Supported Architectures") }}
+
+                       {% for arch in distro.arches %}
+                               <span class="label">{{ arch }}</span>
+                       {% end %}
+               </p>
+       {% end %}
+{% end block %}
index a5acc31e3e73e8b8ea32f47c6bb2f7558effc42b..54afd9bc6ba17f3b78a3923bc777ee782fd20583 100644 (file)
@@ -149,11 +149,7 @@ class Application(tornado.web.Application):
 
                        # Distributions
                        (r"/distros", distributions.IndexHandler),
-                       (r"/distro/([A-Za-z0-9\-\.]+)", distributions.DistributionDetailHandler),
-
-                       # XXX THOSE URLS ARE DEPRECATED
-                       (r"/distribution/delete/([A-Za-z0-9\-\.]+)", distributions.DistributionDetailHandler),
-                       (r"/distribution/edit/([A-Za-z0-9\-\.]+)", distributions.DistributionEditHandler),
+                       (r"/distros/([A-Za-z0-9\-\.]+)", distributions.ShowHandler),
 
                        (r"/distro/([A-Za-z0-9\-\.]+)/repo/([A-Za-z0-9\-]+)",
                                RepositoryDetailHandler),
index aab34cc04abffaaf74dd984cade9be6d0fec3969..2a0599f01bc16aa743bdf17dee749c6e68ba2f20 100644 (file)
@@ -9,13 +9,13 @@ class IndexHandler(base.BaseHandler):
                self.render("distros/index.html", distros=self.backend.distros)
 
 
-class DistributionDetailHandler(base.BaseHandler):
+class ShowHandler(base.BaseHandler):
        def get(self, slug):
                distro = self.backend.distros.get_by_slug(slug)
                if not distro:
                        raise tornado.web.HTTPError(404, "Could not find distro: %s" % slug)
 
-               self.render("distro-detail.html", distro=distro)
+               self.render("distros/show.html", distro=distro)
 
 
 class DistributionEditHandler(base.BaseHandler):