First version with useable(ish) oblique design
All checks were successful
Build containers when image tags change / build-if-image-changed (., web, containers, main container, git.baumann.gr/adebaumann/vui) (push) Successful in 46s
Build containers when image tags change / build-if-image-changed (data-loader, loader, initContainers, init-container, git.baumann.gr/adebaumann/vui-data-loader) (push) Successful in 6s
All checks were successful
Build containers when image tags change / build-if-image-changed (., web, containers, main container, git.baumann.gr/adebaumann/vui) (push) Successful in 46s
Build containers when image tags change / build-if-image-changed (data-loader, loader, initContainers, init-container, git.baumann.gr/adebaumann/vui-data-loader) (push) Successful in 6s
This commit is contained in:
@@ -1,36 +1,197 @@
|
||||
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="de-CH" class="no-js no-ie" itemscope itemtype="http://schema.org/WebPage">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
{% load static %}
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>{% block title %}Vorgaben Informatiksicherheit{% endblock %} - Schweizerische Eidgenossenschaft</title>
|
||||
|
||||
<!-- Swiss Design System CSS -->
|
||||
<link rel="stylesheet" href="{% static 'swiss/css/vendors.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'swiss/css/admin.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'swiss/css/print.css' %}" media="print">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link rel="stylesheet" href="{% static 'custom/css/admin_extras.css' %}">
|
||||
|
||||
<!-- Favicons -->
|
||||
<link rel="shortcut icon" href="{% static 'swiss/img/ico/favicon.ico' %}">
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="{% static 'swiss/img/ico/apple-touch-icon-57x57.png' %}">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="{% static 'swiss/img/ico/apple-touch-icon-114x114.png' %}">
|
||||
<link rel="icon" type="image/png" href="{% static 'swiss/img/ico/favicon-96x96.png' %}" sizes="96x96">
|
||||
<link rel="icon" type="image/png" href="{% static 'swiss/img/ico/favicon-32x32.png' %}" sizes="32x32">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-expand-lg navbar-light bg-light">
|
||||
<a class="navbar-brand" href="#">Vorgaben</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
|
||||
<div class="navbar-nav">
|
||||
<a class="nav-item nav-link active" href="/dokumente">Standards</a>
|
||||
<!-- Accessibility skip links -->
|
||||
<ul class="access-keys">
|
||||
<li><a href="/" accesskey="0">Startseite</a></li>
|
||||
<li><a href="#main-navigation" accesskey="1">Hauptnavigation</a></li>
|
||||
<li><a href="#content" accesskey="2">Inhalt</a></li>
|
||||
</ul>
|
||||
|
||||
<!-- Header with Swiss Logo -->
|
||||
<header>
|
||||
<a href="/" class="brand hidden-xs" title="Zur Startseite">
|
||||
<img src="{% static 'swiss/img/logo-CH.svg' %}"
|
||||
onerror="this.onerror=null; this.src='{% static 'swiss/img/logo-CH.png' %}'"
|
||||
alt="Zur Startseite" />
|
||||
<h1>Vorgaben Informatiksicherheit BIT</h1>
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<!-- Main Navigation -->
|
||||
<nav class="nav-main yamm navbar" id="main-navigation">
|
||||
<h2 class="sr-only">Navigation</h2>
|
||||
|
||||
<!-- Mobile Navigation -->
|
||||
<section class="nav-mobile">
|
||||
<div class="table-row">
|
||||
<div class="nav-mobile-header">
|
||||
<div class="table-row">
|
||||
<span class="nav-mobile-logo">
|
||||
<img src="{% static 'swiss/img/swiss.svg' %}"
|
||||
onerror="this.onerror=null; this.src='{% static 'swiss/img/swiss.png' %}'"
|
||||
alt="Schweizerische Eidgenossenschaft" />
|
||||
</span>
|
||||
<h1><a href="/">Vorgaben Informatiksicherheit</a></h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-cell dropdown">
|
||||
<a href="#" class="nav-mobile-menu dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="icon icon--menu"></span>
|
||||
</a>
|
||||
<div class="drilldown dropdown-menu" role="menu">
|
||||
<div class="drilldown-container">
|
||||
<nav class="nav-page-list">
|
||||
<ul>
|
||||
<li><a href="/dokumente">Standards</a></li>
|
||||
{% if user.is_staff %}
|
||||
<li><a href="/dokumente/unvollstaendig/">Unvollständig</a></li>
|
||||
{% endif %}
|
||||
<li><a href="/referenzen">Referenzen</a></li>
|
||||
<li><a href="/stichworte">Stichworte</a></li>
|
||||
<li><a href="/search">Suche</a></li>
|
||||
</ul>
|
||||
<a href="#" class="yamm-close-bottom">
|
||||
<span class="icon icon--top" aria-hidden="true"></span>
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-cell dropdown">
|
||||
<a href="/search" class="nav-mobile-menu">
|
||||
<span class="icon icon--search"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Desktop Tab Navigation -->
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="dropdown {% if request.resolver_match.url_name == 'standard_list' or 'standard' in request.resolver_match.url_name %}current{% endif %}">
|
||||
<a href="/dokumente">Standards</a>
|
||||
</li>
|
||||
{% if user.is_staff %}
|
||||
<a class="nav-item nav-link" href="/dokumente/unvollstaendig/">Unvollständig</a>
|
||||
<li class="dropdown {% if 'unvollstaendig' in request.path %}current{% endif %}">
|
||||
<a href="/dokumente/unvollstaendig/">Unvollständig</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<a class="nav-item nav-link" href="/referenzen">Referenzen</a>
|
||||
<a class="nav-item nav-link" href="/stichworte">Stichworte</a>
|
||||
<a class="nav-item nav-link" href="/search">Suche</a>
|
||||
<li class="dropdown {% if 'referenzen' in request.path %}current{% endif %}">
|
||||
<a href="/referenzen">Referenzen</a>
|
||||
</li>
|
||||
<li class="dropdown {% if 'stichworte' in request.path %}current{% endif %}">
|
||||
<a href="/stichworte">Stichworte</a>
|
||||
</li>
|
||||
<li class="dropdown {% if 'search' in request.path %}current{% endif %}">
|
||||
<a href="/search">Suche</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<!-- Main Content -->
|
||||
<div class="container container-main" id="content">
|
||||
{% if messages %}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{% for message in messages %}
|
||||
<div class="alert alert-{{ message.tags }} alert-dismissible fade show" role="alert">
|
||||
{{ message }}
|
||||
<button type="button" class="close" data-dismiss="alert" aria-label="Schliessen">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
{% block sidebar_left %}
|
||||
{% if block.super or sidebar_left_content %}
|
||||
<div class="col-md-3">
|
||||
<nav class="nav-page-list" aria-label="Seitennavigation">
|
||||
{{ block.super }}
|
||||
</nav>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<div class="{% if sidebar_left_content or block.super %}col-md-{% if sidebar_right_content %}6{% else %}9{% endif %}{% else %}col-md-{% if sidebar_right_content %}9{% else %}12{% endif %}{% endif %}">
|
||||
{% block content %}
|
||||
<h2>Inhalt</h2>
|
||||
<p>Hauptinhalt der Seite</p>
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
{% block sidebar_right %}
|
||||
{% if block.super or sidebar_right_content %}
|
||||
<div class="col-md-3">
|
||||
<aside>
|
||||
{{ block.super }}
|
||||
</aside>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="d-flex">
|
||||
<div class="col-md-2">{% block sidebar_left %}{% endblock %}</div>
|
||||
<div class="flex-fill">{% block content %}Main Content{% endblock %}</div>
|
||||
<div class="col-md-2">{% block sidebar_right %}{% endblock %}</div>
|
||||
</div>
|
||||
<div>VorgabenUI v0.949</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container-fluid footer-service">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<h2 class="sr-only">Fussbereich</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container-fluid footer-address">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<h3>Vorgaben Informatiksicherheit</h3>
|
||||
<p>
|
||||
Bundesamt für Informatik und Telekommunikation BIT<br>
|
||||
<a href="https://www.bit.admin.ch" target="_blank" rel="noopener">www.bit.admin.ch</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-sm-6 text-right">
|
||||
<p class="text-muted">Version {{ version|default:"0.949" }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Swiss Design System Scripts -->
|
||||
<script src="{% static 'swiss/js/vendors.min.js' %}"></script>
|
||||
<script src="{% static 'swiss/js/main.min.js' %}"></script>
|
||||
|
||||
<!-- Custom Scripts -->
|
||||
{% block extra_js %}{% endblock %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,30 +1,80 @@
|
||||
{% extends "base.html" %}
|
||||
{% load page_extras %}
|
||||
|
||||
{% block title %}Suchergebnisse für "{{ suchbegriff }}" - Vorgaben Informatiksicherheit{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="mb-4">Suchresultate für {{ suchbegriff }}</h1>
|
||||
{% if resultat.geltungsbereich %}
|
||||
<h2>Standards mit "{{suchbegriff}}" im Geltungsbereich</h2>
|
||||
{% for standard,geltungsbereich in resultat.geltungsbereich.items %}
|
||||
<h4>{{ standard }}</h4>
|
||||
{% for typ, html in geltungsbereich %}
|
||||
<div>{{ html|highlighttext:suchbegriff|safe }}</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<div class="container-fluid">
|
||||
<h1>Suchergebnisse für "{{ suchbegriff }}"</h1>
|
||||
|
||||
{% if resultat.all %}
|
||||
<h2>Vorgaben mit "{{ suchbegriff }}"</h2>
|
||||
{% for standard, vorgaben in resultat.all.items %}
|
||||
<h4>{{ standard }}</h4>
|
||||
<ul>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<p class="text-muted">
|
||||
<a href="/search" class="icon icon--before icon--less">Neue Suche starten</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if resultat.geltungsbereich %}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h2>Standards mit "{{ suchbegriff }}" im Geltungsbereich</h2>
|
||||
|
||||
{% for standard, geltungsbereich in resultat.geltungsbereich.items %}
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h3 class="h4 mb-0">{{ standard }}</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% for typ, html in geltungsbereich %}
|
||||
<div class="mb-2">{{ html|highlighttext:suchbegriff|safe }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if resultat.all %}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h2>Vorgaben mit "{{ suchbegriff }}"</h2>
|
||||
|
||||
{% for standard, vorgaben in resultat.all.items %}
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h3 class="h4 mb-0">{{ standard }}</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-unstyled">
|
||||
{% for vorgabe in vorgaben %}
|
||||
<li><a href="{% url 'standard_detail' nummer=vorgabe.dokument.nummer %}#{{vorgabe.Vorgabennummer}}">{{vorgabe}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<li class="mb-2">
|
||||
<a href="{% url 'standard_detail' nummer=vorgabe.dokument.nummer %}#{{ vorgabe.Vorgabennummer }}"
|
||||
class="icon icon--before icon--external">
|
||||
{{ vorgabe }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if not resultat.all %}
|
||||
<h2>Keine Resultate für "{{suchbegriff}}"</h2>
|
||||
{% endif %}
|
||||
{% if not resultat.all and not resultat.geltungsbereich %}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="alert alert-warning" role="alert">
|
||||
<span class="icon icon--warning" aria-hidden="true"></span>
|
||||
<strong>Keine Ergebnisse gefunden</strong>
|
||||
<p>Für den Suchbegriff "{{ suchbegriff }}" wurden keine Resultate gefunden.</p>
|
||||
<p>Versuchen Sie es mit einem anderen Suchbegriff oder verwenden Sie weniger spezifische Begriffe.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -1,28 +1,60 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Suche - Vorgaben Informatiksicherheit{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1 class="mb-4">Suche</h1>
|
||||
<div class="container-fluid">
|
||||
<h1>Suche in den Vorgaben</h1>
|
||||
|
||||
{% if error_message %}
|
||||
<div class="alert alert-danger">
|
||||
<strong>Fehler:</strong> {{ error_message }}
|
||||
{% if error_message %}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<span class="icon icon--error" aria-hidden="true"></span>
|
||||
<strong>Fehler:</strong> {{ error_message }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<!-- Search form -->
|
||||
<form action="." method="post" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="form-group">
|
||||
<label for="query" class="control-label">Suchbegriff</label>
|
||||
<div class="input-group">
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
id="query"
|
||||
name="q"
|
||||
placeholder="Suchbegriff eingeben …"
|
||||
value="{{ search_term|default:'' }}"
|
||||
required
|
||||
maxlength="200"
|
||||
aria-describedby="search-help">
|
||||
<span class="input-group-btn">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<span class="icon icon--search" aria-hidden="true"></span>
|
||||
Suchen
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<small id="search-help" class="form-text text-muted">
|
||||
Durchsuchen Sie Standards, Vorgaben und Referenzen nach Stichworten.
|
||||
</small>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<!-- Search form -->
|
||||
<form action="." method="post">
|
||||
{% csrf_token %}
|
||||
<!-- Search field -->
|
||||
<div class="mb-3">
|
||||
<label for="query" class="form-label">Suchbegriff</label>
|
||||
<input type="text"
|
||||
class="form-control"
|
||||
id="query"
|
||||
name="q"
|
||||
placeholder="Suchbegriff eingeben …"
|
||||
value="{{ search_term|default:'' }}"
|
||||
required
|
||||
maxlength="200">
|
||||
<div class="col-md-4">
|
||||
<div class="alert alert-info" role="alert">
|
||||
<h3 class="h4">Suchtipps</h3>
|
||||
<ul>
|
||||
<li>Verwenden Sie spezifische Begriffe für bessere Ergebnisse</li>
|
||||
<li>Die Suche erfasst Titel, Beschreibungen und Inhalte</li>
|
||||
<li>Groß-/Kleinschreibung wird nicht berücksichtigt</li>
|
||||
</ul>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Suchen</button>
|
||||
</form>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,10 +1,77 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Startseite - Vorgaben Informatiksicherheit{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Vorgaben Informatiksicherheit BIT</h1>
|
||||
<h2>Aktuell erfasste Standards</h2>
|
||||
<ul>
|
||||
{% for standard in dokumente %}
|
||||
<li><a href="{% url 'standard_detail' nummer=standard.nummer %}">{{ standard }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<div class="container-fluid">
|
||||
<h1>Vorgaben Informatiksicherheit BIT</h1>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<p class="lead">
|
||||
Willkommen bei den Vorgaben zur Informatiksicherheit des Bundesamts für Informatik und Telekommunikation (BIT).
|
||||
Diese Plattform bietet Ihnen Zugang zu allen aktuellen IT-Sicherheitsstandards der Bundesverwaltung.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h2>Aktuell erfasste Standards</h2>
|
||||
|
||||
<div class="list-group">
|
||||
{% for standard in dokumente %}
|
||||
<a href="{% url 'standard_detail' nummer=standard.nummer %}"
|
||||
class="list-group-item list-group-item-action">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h3 class="h5 mb-1">{{ standard.nummer }} - {{ standard.titel }}</h3>
|
||||
{% if standard.status %}
|
||||
<small class="text-muted">{{ standard.status }}</small>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if standard.kurzbeschreibung %}
|
||||
<p class="mb-1">{{ standard.kurzbeschreibung|truncatewords:30 }}</p>
|
||||
{% endif %}
|
||||
</a>
|
||||
{% empty %}
|
||||
<div class="alert alert-info" role="alert">
|
||||
<p class="icon icon--info">Aktuell sind keine Standards erfasst.</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title h4">Standards durchsuchen</h3>
|
||||
<p class="card-text">Durchsuchen Sie alle Vorgaben nach Stichworten und Inhalten.</p>
|
||||
<a href="/search" class="btn btn-primary">Zur Suche</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title h4">Referenzen</h3>
|
||||
<p class="card-text">Übersicht über externe Referenzen und Normen.</p>
|
||||
<a href="/referenzen" class="btn btn-secondary">Referenzen anzeigen</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title h4">Stichworte</h3>
|
||||
<p class="card-text">Alphabetische Übersicht aller Schlagworte und Kategorien.</p>
|
||||
<a href="/stichworte" class="btn btn-secondary">Stichworte durchsuchen</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user