summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Helmert III <ajak@gentoo.org>2024-01-15 12:12:23 -0800
committerJohn Helmert III <ajak@gentoo.org>2024-01-15 12:12:23 -0800
commitd6336e89ff8e6bf62b768ab669c5bf9c317045d7 (patch)
treeb23f5648fdcf86ef59c775d2a8c5d315b8c49ea5
parentdrop unused docker-compose override file (diff)
downloadglsamaker-d6336e89ff8e6bf62b768ab669c5bf9c317045d7.tar.gz
glsamaker-d6336e89ff8e6bf62b768ab669c5bf9c317045d7.tar.bz2
glsamaker-d6336e89ff8e6bf62b768ab669c5bf9c317045d7.zip
glsamaker/templates: add some bootstrap/tyrian niceness
Signed-off-by: John Helmert III <ajak@gentoo.org>
-rw-r--r--glsamaker/templates/archive.html51
-rw-r--r--glsamaker/templates/base.html7
-rw-r--r--glsamaker/templates/drafts.html52
-rw-r--r--glsamaker/templates/edit_glsa.html332
-rw-r--r--glsamaker/templates/glsa.html238
-rw-r--r--glsamaker/templates/login.html35
-rw-r--r--glsamaker/templates/navbar.html147
-rw-r--r--glsamaker/templates/newbugs.html22
8 files changed, 522 insertions, 362 deletions
diff --git a/glsamaker/templates/archive.html b/glsamaker/templates/archive.html
index e4d25c9..efeea64 100644
--- a/glsamaker/templates/archive.html
+++ b/glsamaker/templates/archive.html
@@ -1,27 +1,32 @@
{% extends "base.html" %}
{% block body %}
{% include "navbar.html" %}
-<h1>GLSA Archive</h1>
-<table class="bordered">
- <tr>
- <th>GLSA ID</th>
- <th>Title</th>
- <th>Submitted At</th>
- <th>Submitted By</th>
- <th>Acked By</th>
- </tr>
-{% for glsa in glsas %}
- <tr>
- <td class="bordered"><a href="/glsa/{{ glsa.glsa_id }}">{{ glsa.glsa_id }}</a></td>
- <td class="bordered">{{ glsa.title }}</td>
- {% if glsa.submitted_time %}
- <td class="bordered">{{ glsa.submitted_time.strftime("%Y-%m-%d %H:%M") | default("Unknown", true) }}</td>
- {% else %}
- <td class="bordered">{{ glsa.submitted_time | default("Unknown", true) }}</td>
- {% endif %}
- <td class="bordered">{{ uid_to_nick(glsa.requester) | default("Unknown", true) }}</td>
- <td class="bordered">{{ uid_to_nick(glsa.acked_by) | default("Unknown", true) }}</td>
- </tr>
-{% endfor %}
-</table>
+<div class="container">
+ <div class="row">
+ <h1>GLSA Archive</h1>
+ </div>
+ <table class="table">
+ <tbody>
+ <tr>
+ <th>GLSA ID</th>
+ <th>Title</th>
+ <th>Submitted At</th>
+ <th>Submitted By</th>
+ <th>Acked By</th>
+ </tr>
+ {% for glsa in glsas %}
+ <tr>
+ <td class="bordered"><a href="/glsa/{{ glsa.glsa_id }}">{{ glsa.glsa_id }}</a></td>
+ <td class="bordered">{{ glsa.title }}</td>
+ {% if glsa.submitted_time %}
+ <td class="bordered">{{ glsa.submitted_time.strftime("%Y-%m-%d %H:%M") | default("Unknown", true) }}</td>
+ {% else %}
+ <td class="bordered">{{ glsa.submitted_time | default("Unknown", true) }}</td>
+ {% endif %}
+ <td class="bordered">{{ uid_to_nick(glsa.requester) | default("Unknown", true) }}</td>
+ <td class="bordered">{{ uid_to_nick(glsa.acked_by) | default("Unknown", true) }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
{% endblock %}
diff --git a/glsamaker/templates/base.html b/glsamaker/templates/base.html
index 77190e5..1bd188a 100644
--- a/glsamaker/templates/base.html
+++ b/glsamaker/templates/base.html
@@ -2,8 +2,11 @@
<html>
<head>
<title>GLSAMaker</title>
- <script src="/static/main.js"></script>
- <link rel="stylesheet" href="/static/main.css">
+ <link href="https://assets.gentoo.org/tyrian/tyrian.min.css" rel="stylesheet" media="screen">
+ <link href="https://assets.gentoo.org/tyrian/bootstrap.min.css" rel="stylesheet" media="screen">
+ <script src="/static/main.js"></script>
+ <script src="https://assets.gentoo.org/tyrian/jquery.min.js"></script>
+ <script src="https://assets.gentoo.org/tyrian/bootstrap.min.js"></script>
</head>
<body>
{% block body %} {% endblock %}
diff --git a/glsamaker/templates/drafts.html b/glsamaker/templates/drafts.html
index b948267..9f899db 100644
--- a/glsamaker/templates/drafts.html
+++ b/glsamaker/templates/drafts.html
@@ -1,27 +1,33 @@
{% extends "base.html" %}
{% block body %}
{% include "navbar.html" %}
-<h1>Drafts</h1>
-<table class="bordered">
- <tr>
- <th class="bordered">GLSA ID</th>
- <th class="bordered">Title</th>
- <th class="bordered">Requested At</th>
- <th class="bordered">Requested By</th>
- <th class="bordered">Acked By</th>
- </tr>
- {% for glsa in glsas %}
- <tr>
- <td class="bordered"><a href="/glsa/{{ glsa.glsa_id }}">{{ glsa.glsa_id }}</a></td>
- <td class="bordered">{{ glsa.title }}</td>
- <td class="bordered">{{ glsa.requested_time.strftime("%Y-%m-%d %H:%M") | default("Unknown", true) }}</td>
- <td class="bordered">{{ uid_to_nick(glsa.requester) | default("Unknown", true) }}</td>
- <td class="bordered">
- {% if glsa.acked_by %}
- {{ uid_to_nick(glsa.acked_by) | default("") }}
- {% endif %}
- </td>
- </tr>
- {% endfor %}
-</table>
+<div class="container">
+ <div class="row">
+ <h1>Drafts</h1>
+ </div>
+ <table class="table">
+ <tbody>
+ <tr>
+ <th class="bordered">GLSA ID</th>
+ <th class="bordered">Title</th>
+ <th class="bordered">Requested At</th>
+ <th class="bordered">Requested By</th>
+ <th class="bordered">Acked By</th>
+ </tr>
+ {% for glsa in glsas %}
+ <tr>
+ <td class="bordered"><a href="/glsa/{{ glsa.glsa_id }}">{{ glsa.glsa_id }}</a></td>
+ <td class="bordered">{{ glsa.title }}</td>
+ <td class="bordered">{{ glsa.requested_time.strftime("%Y-%m-%d %H:%M") | default("Unknown", true) }}</td>
+ <td class="bordered">{{ uid_to_nick(glsa.requester) | default("Unknown", true) }}</td>
+ <td class="bordered">
+ {% if glsa.acked_by %}
+ {{ uid_to_nick(glsa.acked_by) | default("") }}
+ {% endif %}
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+</div>
{% endblock %}
diff --git a/glsamaker/templates/edit_glsa.html b/glsamaker/templates/edit_glsa.html
index c49ccc3..915d4d1 100644
--- a/glsamaker/templates/edit_glsa.html
+++ b/glsamaker/templates/edit_glsa.html
@@ -1,169 +1,171 @@
{% extends "base.html" %}
{% block body %}
{% include "navbar.html" %}
-{% if new %}
-<h1>New GLSA</h1>
-{% else %}
-<h1>Edit GLSA</h1>
-{% endif %}
-{% if error_bugs %}
-<p><b>Error: couldn't retrieve atoms from some bug summaries! You will need to handle ingesting data from these bugs manually:</b></p>
-<ul>
-{% for bug in error_bugs %}
-<li><p><a href="https://bugs.gentoo.org/{{ bug }}">bug #{{ bug }}</a></p></li>
-{% endfor %}
-</ul>
-{% endif %}
-<h3>{{ glsa.glsa_id | default('Unreleased', true) }}</h3>
-<form method="post">
- <table>
- {{ form.hidden_tag() }}
- <tr>
- <td>Title</td>
- <td>{{ form.title(size=50) }}</td>
- </tr>
- <tr>
- <td>Synopsis</td>
- <td>{{ form.synopsis(size=50) }}</td>
- </tr>
- <tr>
- <td>Product Type</td>
- <td>{{ form.product_type }}</td>
- </tr>
- <tr>
- <td>Announced</td>
- <td>{{ glsa.announced | default('TBD', true) }}</td>
- </tr>
- <tr>
- <td>Revision Count</td>
- <td>{{ glsa.revision_count | default('0', true) }}</td>
- </tr>
- <tr>
- <td>Revision Date</td>
- <td>{{ glsa.revised_date | default('', true) }}</td>
- </tr>
- <tr>
- <td>Bugs</td>
- <td>{{ form.bugs }}</td>
- </tr>
- <tr>
- <td>Access</td>
- <td>{{ form.access }}</td>
- </tr>
- <tr>
- <td></td>
- <td>
- <table id="unaffected" class="bordered">
- <caption><b>Unaffected</b></caption>
- <tr>
- <th>Atom</th>
- <th>Arch</th>
- <th><button type="button" onclick="newrow('unaffected')">New</button></th>
- </tr>
- {% for pkg in glsa.get_unaffected() %}
- <tr>
- <td>
- <input name="unaffected[]" value="{{ pkg.versioned_atom() }}" size="40">
- </td>
- <td><input name="unaffected_arch[]" value="{{ pkg.arch }}"></td>
- <td><button type="button" onclick="deleterow(this)"><b>-</b></button></td>
- </tr>
- {% endfor %}
- <tr>
- <td>
- <input name="unaffected[]" size="40">
- </td>
- <td><input name="unaffected_arch[]"></td>
- <td><button type="button" onclick="deleterow(this)"><b>-</b></button></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <table id="vulnerable" class="bordered">
- <caption><b>Vulnerable</b></caption>
- <tr>
- <th>Atom</th>
- <th>Arch</th>
- <th><button type="button" onclick="newrow('vulnerable')">New</button></th>
- </tr>
- {% for pkg in glsa.get_vulnerable() %}
- <tr>
- <td>
- <input name="vulnerable[]" value="{{ pkg.versioned_atom() }}" size="40" >
- </td>
- <td><input name="vulnerable_arch[]" value="{{ pkg.arch }}"></td>
- <td><button type="button" onclick="deleterow(this)"><b>-</b></button></td>
- </tr>
- {% endfor %}
- <tr>
- <td>
- <input name="vulnerable[]" size="40">
- </td>
- <td><input name="vulnerable_arch[]"></td>
- <td><button type="button" onclick="deleterow(this)"><b>-</b></button></td>
- </tr>
- </table>
- </td>
- </tr>
- <tr>
- <td>Background</td>
- <td>{{ form.background(cols=60, rows=12) }}</td>
- </tr>
- <tr>
- <td>Description</td>
- <td>{{ form.description(cols=60, rows=12) }}</td>
- </tr>
- <tr>
- <td>Impact</td>
- <td>{{ form.impact(cols=60, rows=12) }}</td>
- </tr>
- <tr>
- <td>Impact Type</td>
- <td>{{ form.impact_type }}</td>
- </tr>
- <tr>
- <td>Workaround</td>
- <td>{{ form.workaround(cols=60, rows=12) }}</td>
- </tr>
- <tr>
- <td>Resolution</td>
- <td>{{ form.resolution(cols=60, rows=12) }}</td>
- </tr>
- <tr>
- <td>References</td>
- <td>{{ form.references(size=50) }}</td>
- </tr>
- <tr>
- <td>Requester</td>
- <td>{{ uid_to_nick(glsa.requester) }}</td>
- </tr>
- <tr>
- <td>Submitter</td>
- <td>{{ uid_to_nick(glsa.submitter) | default('TBD', true) }}</td>
- </tr>
- <tr>
- <td>Requested</td>
- <td>{{ glsa.requested_time | default('TBD', true) }}</td>
- </tr>
- <tr>
- <td>Submitted</td>
- <td>{{ glsa.submitted_time | default('TBD', true) }}</td>
- </tr>
- {% if glsa.acked_by and glsa.acked_by != current_user %}
- <tr>
- <td>Release?</td>
- <td>{{ form.release }}</td>
- </tr>
- {% elif glsa.requester != current_user.id and not new %}
- <tr>
- <td>Ack?</td>
- <td>{{ form.ack }}</td>
- </tr>
- {% endif %}
- <tr><td>{{ form.submit }}</td></tr>
- </table>
-</form>
+<div class="container">
+ {% if new %}
+ <h1>New GLSA</h1>
+ {% else %}
+ <h1>Edit GLSA</h1>
+ {% endif %}
+ {% if error_bugs %}
+ <p><b>Error: couldn't retrieve atoms from some bug summaries! You will need to handle ingesting data from these bugs manually:</b></p>
+ <ul>
+ {% for bug in error_bugs %}
+ <li><p><a href="https://bugs.gentoo.org/{{ bug }}">bug #{{ bug }}</a></p></li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+ <h3>{{ glsa.glsa_id | default('Unreleased', true) }}</h3>
+ <form method="post">
+ <table class="table">
+ {{ form.hidden_tag() }}
+ <tr>
+ <td>Title</td>
+ <td>{{ form.title(size=50) }}</td>
+ </tr>
+ <tr>
+ <td>Synopsis</td>
+ <td>{{ form.synopsis(size=50) }}</td>
+ </tr>
+ <tr>
+ <td>Product Type</td>
+ <td>{{ form.product_type }}</td>
+ </tr>
+ <tr>
+ <td>Announced</td>
+ <td>{{ glsa.announced | default('TBD', true) }}</td>
+ </tr>
+ <tr>
+ <td>Revision Count</td>
+ <td>{{ glsa.revision_count | default('0', true) }}</td>
+ </tr>
+ <tr>
+ <td>Revision Date</td>
+ <td>{{ glsa.revised_date | default('', true) }}</td>
+ </tr>
+ <tr>
+ <td>Bugs</td>
+ <td>{{ form.bugs }}</td>
+ </tr>
+ <tr>
+ <td>Access</td>
+ <td>{{ form.access }}</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <table id="unaffected" class="table">
+ <caption><b>Unaffected</b></caption>
+ <tr>
+ <th>Atom</th>
+ <th>Arch</th>
+ <th><button type="button" onclick="newrow('unaffected')">New</button></th>
+ </tr>
+ {% for pkg in glsa.get_unaffected() %}
+ <tr>
+ <td>
+ <input name="unaffected[]" value="{{ pkg.versioned_atom() }}" size="40">
+ </td>
+ <td><input name="unaffected_arch[]" value="{{ pkg.arch }}"></td>
+ <td><button type="button" onclick="deleterow(this)"><b>-</b></button></td>
+ </tr>
+ {% endfor %}
+ <tr>
+ <td>
+ <input name="unaffected[]" size="40">
+ </td>
+ <td><input name="unaffected_arch[]"></td>
+ <td><button type="button" onclick="deleterow(this)"><b>-</b></button></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>
+ <table id="vulnerable" class="table">
+ <caption><b>Vulnerable</b></caption>
+ <tr>
+ <th>Atom</th>
+ <th>Arch</th>
+ <th><button type="button" onclick="newrow('vulnerable')">New</button></th>
+ </tr>
+ {% for pkg in glsa.get_vulnerable() %}
+ <tr>
+ <td>
+ <input name="vulnerable[]" value="{{ pkg.versioned_atom() }}" size="40" >
+ </td>
+ <td><input name="vulnerable_arch[]" value="{{ pkg.arch }}"></td>
+ <td><button type="button" onclick="deleterow(this)"><b>-</b></button></td>
+ </tr>
+ {% endfor %}
+ <tr>
+ <td>
+ <input name="vulnerable[]" size="40">
+ </td>
+ <td><input name="vulnerable_arch[]"></td>
+ <td><button type="button" onclick="deleterow(this)"><b>-</b></button></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td>Background</td>
+ <td>{{ form.background(cols=60, rows=12) }}</td>
+ </tr>
+ <tr>
+ <td>Description</td>
+ <td>{{ form.description(cols=60, rows=12) }}</td>
+ </tr>
+ <tr>
+ <td>Impact</td>
+ <td>{{ form.impact(cols=60, rows=12) }}</td>
+ </tr>
+ <tr>
+ <td>Impact Type</td>
+ <td>{{ form.impact_type }}</td>
+ </tr>
+ <tr>
+ <td>Workaround</td>
+ <td>{{ form.workaround(cols=60, rows=12) }}</td>
+ </tr>
+ <tr>
+ <td>Resolution</td>
+ <td>{{ form.resolution(cols=60, rows=12) }}</td>
+ </tr>
+ <tr>
+ <td>References</td>
+ <td>{{ form.references(size=50) }}</td>
+ </tr>
+ <tr>
+ <td>Requester</td>
+ <td>{{ uid_to_nick(glsa.requester) }}</td>
+ </tr>
+ <tr>
+ <td>Submitter</td>
+ <td>{{ uid_to_nick(glsa.submitter) | default('TBD', true) }}</td>
+ </tr>
+ <tr>
+ <td>Requested</td>
+ <td>{{ glsa.requested_time | default('TBD', true) }}</td>
+ </tr>
+ <tr>
+ <td>Submitted</td>
+ <td>{{ glsa.submitted_time | default('TBD', true) }}</td>
+ </tr>
+ {% if glsa.acked_by and glsa.acked_by != current_user %}
+ <tr>
+ <td>Release?</td>
+ <td>{{ form.release }}</td>
+ </tr>
+ {% elif glsa.requester != current_user.id and not new %}
+ <tr>
+ <td>Ack?</td>
+ <td>{{ form.ack }}</td>
+ </tr>
+ {% endif %}
+ <tr><td>{{ form.submit }}</td></tr>
+ </table>
+ </form>
+</div>
{% endblock %}
diff --git a/glsamaker/templates/glsa.html b/glsamaker/templates/glsa.html
index 8ce0583..b951741 100644
--- a/glsamaker/templates/glsa.html
+++ b/glsamaker/templates/glsa.html
@@ -1,6 +1,6 @@
{% extends "base.html" %}
{% macro package_table(packages) %}
-<table class="bordered">
+<table class="table">
<tr>
<th>Atom</th>
<th>Arch</th>
@@ -15,120 +15,124 @@
{% endmacro %}
{% block body %}
{% include "navbar.html" %}
-<h2>GLSA</h2>
-{% if glsa.draft %}
-<a href="/edit_glsa/{{ glsa.glsa_id }}">Edit</a>
-{% else %}
-<form method="get" action="/glsa/{{ glsa.glsa_id }}/xml">
- <button type="submit">Download XML</button>
-</form>
-<form method="get" action="/glsa/{{ glsa.glsa_id }}/mail">
- <button type="submit">Download mailable text</button>
-</form>
-<form method="get" action="/glsa/{{ glsa.glsa_id }}/sendmail">
- <button type="submit">Send email</button>
-</form>
-{% endif %}
-<table class="bordered">
- <tr>
- <th>Field</th>
- <th>Content</th>
- </tr>
- <tr>
- <td class="bordered">ID</td>
- <td class="bordered">{{ glsa.glsa_id }}</td>
- </tr>
- <tr>
- <td class="bordered">Title</td>
- <td class="bordered">{{ glsa.title }}</td>
- </tr>
- <tr>
- <td class="bordered">Synopsis</td>
- <td class="bordered">{{ glsa.synopsis }}</td>
- </tr>
- <tr>
- <td class="bordered">Product Type</td>
- <td class="bordered">{{ glsa.product_type }}</td>
- </tr>
- <tr>
- <td class="bordered">Announced</td>
- <td class="bordered">{{ glsa.announced }}</td>
- </tr>
- <tr>
- <td class="bordered">Revision Count</td>
- <td class="bordered">{{ glsa.revision_count }}</td>
- </tr>
- <tr>
- <td class="bordered">Revision Date</td>
- <td class="bordered">{{ glsa.revised_date }}</td>
- </tr>
- <tr>
- <td class="bordered">Bugs</td>
- <td class="bordered">{{ ', '.join(glsa.get_bugs_links()) | safe }}</td>
- </tr>
- <tr>
- <td class="bordered">Access</td>
- <td class="bordered">{{ glsa.access }}</td>
- </tr>
- <tr>
- <td class="bordered">Unaffected</td>
- <td class="bordered">
- {{ package_table(glsa.get_unaffected()) }}
- </td>
- </tr>
- <tr>
- <td class="bordered">Vulnerable</td>
- <td class="bordered">
- {{ package_table(glsa.get_vulnerable()) }}
- </td>
- </tr>
- <tr>
- <td class="bordered">Background</td>
- <td class="bordered">{{ glsa.background }}</td>
- </tr>
- <tr>
- <td class="bordered">Description</td>
- <td class="bordered">{{ glsa.description }}</td>
- </tr>
- <tr>
- <td class="bordered">Impact Type</td>
- <td class="bordered">{{ glsa.impact_type }}</td>
- </tr>
- <tr>
- <td class="bordered">Impact</td>
- <td class="bordered">{{ glsa.impact }}</td>
- </tr>
- <tr>
- <td class="bordered">Workaround</td>
- <td class="bordered">{{ glsa.workaround }}</td>
- </tr>
- <tr>
- <td class="bordered">Resolution</td>
- <td style="white-space:pre-wrap" class="bordered">{{ glsa.resolution }}</td>
- </tr>
- <tr>
- <td class="bordered">References</td>
- <td class="bordered">{{ ', '.join(glsa.get_reference_texts()) }}</td>
- </tr>
- <tr>
- <td class="bordered">Requester</td>
- <td class="bordered">{{ uid_to_nick(glsa.requester) }}</td>
- </tr>
- <tr>
- <td class="bordered">Submitter</td>
- <td class="bordered">{{ uid_to_nick(glsa.submitter) }}</td>
- </tr>
- <tr>
- <td class="bordered">Requested</td>
- <td class="bordered">{{ glsa.requested_time }}</td>
- </tr>
- <tr>
- <td class="bordered">Submitted</td>
- <td class="bordered">{{ glsa.submitted_time }}</td>
- </tr>
-</table>
-{% if glsa.draft %}
-<p style="white-space: pre-wrap">{{ glsa.generate_xml() }}</p>
-<p style="white-space: pre-wrap">{{ glsa.generate_mail_text() }}</p>
-{% endif %}
+<div class="container">
+ <h2>GLSA</h2>
+ {% if glsa.draft %}
+ <a href="/edit_glsa/{{ glsa.glsa_id }}">Edit</a>
+ {% else %}
+ <form method="get" action="/glsa/{{ glsa.glsa_id }}/xml">
+ <button type="submit">Download XML</button>
+ </form>
+ <form method="get" action="/glsa/{{ glsa.glsa_id }}/mail">
+ <button type="submit">Download mailable text</button>
+ </form>
+ <form method="get" action="/glsa/{{ glsa.glsa_id }}/sendmail">
+ <button type="submit">Send email</button>
+ </form>
+ {% endif %}
+ <table class="table">
+ <tr>
+ <th>Field</th>
+ <th>Content</th>
+ </tr>
+ <tr>
+ <td class="bordered">ID</td>
+ <td class="bordered">{{ glsa.glsa_id }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Title</td>
+ <td class="bordered">{{ glsa.title }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Synopsis</td>
+ <td class="bordered">{{ glsa.synopsis }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Product Type</td>
+ <td class="bordered">{{ glsa.product_type }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Announced</td>
+ <td class="bordered">{{ glsa.announced }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Revision Count</td>
+ <td class="bordered">{{ glsa.revision_count }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Revision Date</td>
+ <td class="bordered">{{ glsa.revised_date }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Bugs</td>
+ <td class="bordered">{{ ', '.join(glsa.get_bugs_links()) | safe }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Access</td>
+ <td class="bordered">{{ glsa.access }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Unaffected</td>
+ <td class="bordered">
+ {{ package_table(glsa.get_unaffected()) }}
+ </td>
+ </tr>
+ <tr>
+ <td class="bordered">Vulnerable</td>
+ <td class="bordered">
+ {{ package_table(glsa.get_vulnerable()) }}
+ </td>
+ </tr>
+ <tr>
+ <td class="bordered">Background</td>
+ <td class="bordered">{{ glsa.background }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Description</td>
+ <td class="bordered">{{ glsa.description }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Impact Type</td>
+ <td class="bordered">{{ glsa.impact_type }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Impact</td>
+ <td class="bordered">{{ glsa.impact }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Workaround</td>
+ <td class="bordered">{{ glsa.workaround }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Resolution</td>
+ <td style="white-space:pre-wrap" class="bordered">{{ glsa.resolution }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">References</td>
+ <td class="bordered">{{ ', '.join(glsa.get_reference_texts()) }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Requester</td>
+ <td class="bordered">{{ uid_to_nick(glsa.requester) }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Submitter</td>
+ <td class="bordered">{{ uid_to_nick(glsa.submitter) }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Requested</td>
+ <td class="bordered">{{ glsa.requested_time }}</td>
+ </tr>
+ <tr>
+ <td class="bordered">Submitted</td>
+ <td class="bordered">{{ glsa.submitted_time }}</td>
+ </tr>
+ </table>
+ {% if glsa.draft %}
+ <h2>GLSA XML</h2>
+ <pre style="white-space: pre-wrap">{{ glsa.generate_xml() }}</pre>
+ <h2>GLSA Mail</h2>
+ <pre style="white-space: pre-wrap">{{ glsa.generate_mail_text() }}</pre>
+ {% endif %}
+</div>
{% endblock %}
diff --git a/glsamaker/templates/login.html b/glsamaker/templates/login.html
index a925eaa..fe5fe65 100644
--- a/glsamaker/templates/login.html
+++ b/glsamaker/templates/login.html
@@ -1,19 +1,22 @@
{% extends "base.html" %}
{% block body %}
-<h1>Login</h1>
-{% if error %}
-<p>Invalid user or password</p>
-{% endif %}
-<form method="post">
- {{ form.hidden_tag() }}
- <div>
- <label>{{ form.username.label }}</label>
- {{ form.username }}
- </div>
- <div>
- <label>{{ form.password.label }}</label>
- {{ form.password }}
- </div>
- {{ form.submit }}
-</form>
+{% include "navbar.html" %}
+<div class="container">
+ <h1>Login</h1>
+ {% if error %}
+ <p>Invalid user or password</p>
+ {% endif %}
+ <form method="post">
+ {{ form.hidden_tag() }}
+ <div>
+ <label>{{ form.username.label }}</label>
+ {{ form.username }}
+ </div>
+ <div>
+ <label>{{ form.password.label }}</label>
+ {{ form.password }}
+ </div>
+ {{ form.submit }}
+ </form>
+</div>
{% endblock %}
diff --git a/glsamaker/templates/navbar.html b/glsamaker/templates/navbar.html
index ca46d70..f20aeb3 100644
--- a/glsamaker/templates/navbar.html
+++ b/glsamaker/templates/navbar.html
@@ -1,13 +1,144 @@
<header>
- <div class="navbar">
- <a href="/drafts">Drafts</a>
- <div class="dropdown">
- <a class="dropbtn" href="/edit_glsa">New</a>
- <div class="dropdown-content">
- <!-- When it works, we can be 'New' dropdown items here -->
+ <div class="site-title">
+ <div class="container">
+ <div class="row">
+ <div class="site-title-buttons">
+ <div class="btn-group btn-group-sm">
+ <a href="https://get.gentoo.org/" type="button" class="btn get-gentoo">
+ <span class="fa fa-download"></span>
+ <strong>Get Gentoo!</strong>
+ </a>
+ <div class="btn-group btn-group-sm">
+ <button type="button" class="btn gentoo-org-sites dropdown-toggle" data-toggle="dropdown">
+ <span class="glyphicon glyphicon-globe"></span>
+ gentoo.org sites
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu">
+ <li>
+ <a href="https://www.gentoo.org/" title="Main Gentoo website">
+ <span class="fa fa-home fa-fw">
+ </span>
+ gentoo.org
+ </a>
+ </li>
+ <li>
+ <a href="https://wiki.gentoo.org/" title="Find and contribute documentation">
+ <span class="fa fa-file-text fa-fw">
+ </span>
+ Wiki
+ </a>
+ </li>
+ <li>
+ <a href="https://bugs.gentoo.org/" title="Report issues and find common issues">
+ <span class="fa fa-bug fa-fw">
+ </span>
+ Bugs
+ </a>
+ </li>
+ <li>
+ <a href="https://forums.gentoo.org/" title="Discuss with the community">
+ <span class="fa fa-comments-o fa-fw">
+ </span>
+ Forums
+ </a>
+ </li>
+ <li>
+ <a href="https://packages.gentoo.org/" title="Find software for your Gentoo">
+ <span class="fa fa-hdd-o fa-fw">
+ </span>
+ Packages
+ </a>
+ </li>
+ <li>
+ <div class="divider">
+ </div>
+ </li>
+ <li>
+ <a href="https://overlays.gentoo.org/" title="Collaborate on maintaining packages">
+ <span class="fa fa-code-fork fa-fw">
+ </span>
+ Overlays
+ </a>
+ </li>
+ <li>
+ <a href="https://planet.gentoo.org/" title="Find out what's going on in the developer community">
+ <span class="fa fa-rss fa-fw">
+ </span>
+ Planet
+ </a>
+ </li>
+ <li>
+ <a href="https://archives.gentoo.org/" title="Read up on past discussions">
+ <span class="fa fa-archive fa-fw">
+ </span>
+ Archives
+ </a>
+ </li>
+ <li>
+ <a href="https://sources.gentoo.org/" title="Browse our source code">
+ <span class="fa fa-code fa-fw">
+ </span>
+ Sources
+ </a>
+ </li>
+ <li>
+ <div class="divider">
+ </div>
+ </li>
+ <li>
+ <a href="https://infra-status.gentoo.org/" title="Get updates on the services provided by Gentoo">
+ <span class="fa fa-tasks fa-fw">
+ </span>
+ Infra Status
+ </a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="logo">
+ <img src="https://assets.gentoo.org/tyrian/site-logo.png" alt="Gentoo Linux Logo">
+ <span class="site-label">GLSAMaker: Now Pretty!
+ </span>
+ </div>
</div>
</div>
- <a href="/newbugs">New From Bugs</a>
- <a href="/archive">Archive</a>
</div>
+ <nav class="tyrian-navbar" role="navigation">
+ <div class="container">
+ <div class="row">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
+ <span class="sr-only">
+ </span>
+ <span class="icon-bar">
+ </span>
+ </button>
+ </div>
+ <div class="collapse navbar-collapse navbar-main-collapse">
+ <ul class="nav navbar-nav">
+ {% if current_user.is_authenticated %}
+ <li>
+ <a href="/drafts">Drafts</a>
+ </li>
+ <li>
+ <a href="/edit_glsa">New GLSA</a>
+ </li>
+ <li>
+ <a href="/newbugs">New From Bugs</a>
+ </li>
+ <li>
+ <a href="/archive">Archive</a>
+ </li>
+ {% else %}
+ <li>
+ <a href="/login">Login</a>
+ </li>
+ {% endif %}
+ </ul>
+ </div>
+ </div>
+ </div>
+ </nav>
</header>
diff --git a/glsamaker/templates/newbugs.html b/glsamaker/templates/newbugs.html
index 9d39f78..c195ec5 100644
--- a/glsamaker/templates/newbugs.html
+++ b/glsamaker/templates/newbugs.html
@@ -1,8 +1,14 @@
-<form method="post">
- {{ form.hidden_tag() }}
- <tr>
- <td>Bugs: </td>
- <td>{{ form.bugs }}</td>
- </tr>
- <tr><td>{{ form.submit }}</td></tr>
-</form>
+{% extends "base.html" %}
+{% block body %}
+{% include "navbar.html" %}
+<div class="container">
+ <form method="post">
+ {{ form.hidden_tag() }}
+ <tr>
+ <td>Bugs: </td>
+ <td>{{ form.bugs }}</td>
+ </tr>
+ <tr><td>{{ form.submit }}</td></tr>
+ </form>
+</div>
+{% endblock %}