Compare commits

...

9 Commits

9 changed files with 26 additions and 59 deletions

View File

@@ -2,3 +2,5 @@
There are examples for importing text in the "Documentation"-directory. Actual documentation follows. There are examples for importing text in the "Documentation"-directory. Actual documentation follows.
Documentation on Confluence so far.
This commit should be signed.

View File

@@ -18,14 +18,14 @@ spec:
fsGroupChangePolicy: "OnRootMismatch" fsGroupChangePolicy: "OnRootMismatch"
initContainers: initContainers:
- name: loader - name: loader
image: git.baumann.gr/adebaumann/vgui-data-loader:0.5 image: git.baumann.gr/adebaumann/vui-data-loader:0.6
command: [ "sh","-c","cp -n preload/preload.sqlite3 /data/db.sqlite3; chown -R 999:999 /data; ls -la /data; sleep 10; exit 0" ] command: [ "sh","-c","cp -n preload/preload.sqlite3 /data/db.sqlite3; chown -R 999:999 /data; ls -la /data; sleep 10; exit 0" ]
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: /data mountPath: /data
containers: containers:
- name: web - name: web
image: git.baumann.gr/adebaumann/vui:0.929 image: git.baumann.gr/adebaumann/vui:0.930
imagePullPolicy: Always imagePullPolicy: Always
ports: ports:
- containerPort: 8000 - containerPort: 8000

Binary file not shown.

View File

@@ -2,10 +2,10 @@
{% block content %} {% block content %}
<h1>Standards Informatiksicherheit</h1> <h1>Standards Informatiksicherheit</h1>
<ul> <ul>
{% for standard in standards %} {% for dokument in dokumente %}
<li> <li>
<a href="{% url 'standard_detail' nummer=standard.nummer %}"> <a href="{% url 'standard_detail' nummer=dokument.nummer %}">
{{ standard.nummer }} {{ standard.name }} {{ dokument.nummer }} {{ dokument.name }}
</a> </a>
</li> </li>
{% endfor %} {% endfor %}

View File

@@ -9,9 +9,9 @@ calendar=parsedatetime.Calendar()
def standard_list(request): def standard_list(request):
standards = Dokument.objects.all() dokumente = Dokument.objects.all()
return render(request, 'standards/standard_list.html', return render(request, 'standards/standard_list.html',
{'dokumente': standards} {'dokumente': dokumente}
) )

View File

@@ -28,6 +28,6 @@
<div class="flex-fill">{% block content %}Main Content{% endblock %}</div> <div class="flex-fill">{% block content %}Main Content{% endblock %}</div>
<div class="col-md-2">{% block sidebar_right %}{% endblock %}</div> <div class="col-md-2">{% block sidebar_right %}{% endblock %}</div>
</div> </div>
<div>VorgabenUI v0.927</div> <div>VorgabenUI v0.931</div>
</body> </body>
</html> </html>

View File

@@ -12,9 +12,9 @@
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if resultat.kurztext %} {% if resultat.all %}
<h2>Vorgaben mit "{{ suchbegriff }}" im Kurztext</h2> <h2>Vorgaben mit "{{ suchbegriff }}"</h2>
{% for standard, vorgaben in resultat.kurztext.items %} {% for standard, vorgaben in resultat.all.items %}
<h4>{{ standard }}</h4> <h4>{{ standard }}</h4>
<ul> <ul>
{% for vorgabe in vorgaben %} {% for vorgabe in vorgaben %}
@@ -24,18 +24,7 @@
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if resultat.langtext %} {% if not resultat.all %}
<h2>Vorgaben mit "{{ suchbegriff }}" im Langtext</h2>
{% for standard, vorgaben in resultat.langtext.items %}
<h4>{{ standard }}</h4>
<ul>
{% for vorgabe in vorgaben %}
<li><a href="{% url 'standard_detail' nummer=vorgabe.dokument.nummer %}#{{vorgabe.Vorgabennummer}}">{{vorgabe}}</a></li>
{% endfor %}
</ul>
{% endfor %}
{% endif %}
{% if not resultat.langtext and not resultat.kurztext and not resultat.geltungsbereich %}
<h2>Keine Resultate für "{{suchbegriff}}"</h2> <h2>Keine Resultate für "{{suchbegriff}}"</h2>
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View File

@@ -15,27 +15,6 @@
placeholder="Suchbegriff eingeben …" placeholder="Suchbegriff eingeben …"
required> required>
</div> </div>
<!-- Check-box group -->
<fieldset class="mb-4">
<legend class="h6 mb-2">In folgenden Bereichen suchen:</legend>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="kurztext" id="kurztext" name="suchbereich[]" checked>
<label class="form-check-label" for="kurztext">Kurztext</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="langtext" id="langtext" name="suchbereich[]" checked>
<label class="form-check-label" for="langtext">Langtext</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="geltungsbereich" id="geltungsbereich" name="suchbereich[]">
<label class="form-check-label" for="geltungsbereich">Geltungsbereich</label>
</div>
</fieldset>
<button type="submit" class="btn btn-primary">Suchen</button> <button type="submit" class="btn btn-primary">Suchen</button>
</form> </form>
{% endblock %} {% endblock %}

View File

@@ -3,6 +3,7 @@ from abschnitte.utils import render_textabschnitte
from dokumente.models import Dokument, VorgabeLangtext, VorgabeKurztext, Geltungsbereich from dokumente.models import Dokument, VorgabeLangtext, VorgabeKurztext, Geltungsbereich
from itertools import groupby from itertools import groupby
import datetime import datetime
import pprint
def startseite(request): def startseite(request):
standards=list(Dokument.objects.all()) standards=list(Dokument.objects.all())
@@ -13,22 +14,18 @@ def search(request):
return render(request, 'search.html') return render(request, 'search.html')
elif request.method == "POST": elif request.method == "POST":
suchbegriff=request.POST.get("q") suchbegriff=request.POST.get("q")
areas=request.POST.getlist("suchbereich[]") result= {"all": {}}
result= {}
geltungsbereich=set()
if "kurztext" in areas:
qs = VorgabeKurztext.objects.filter(inhalt__contains=suchbegriff).exclude(abschnitt__gueltigkeit_bis__lt=datetime.date.today()) qs = VorgabeKurztext.objects.filter(inhalt__contains=suchbegriff).exclude(abschnitt__gueltigkeit_bis__lt=datetime.date.today())
result["kurztext"] = {k: [o.abschnitt for o in g] for k, g in groupby(qs, key=lambda o: o.abschnitt.dokument)} result["kurztext"] = {k: [o.abschnitt for o in g] for k, g in groupby(qs, key=lambda o: o.abschnitt.dokument)}
if "langtext" in areas:
qs = VorgabeLangtext.objects.filter(inhalt__contains=suchbegriff).exclude(abschnitt__gueltigkeit_bis__lt=datetime.date.today()) qs = VorgabeLangtext.objects.filter(inhalt__contains=suchbegriff).exclude(abschnitt__gueltigkeit_bis__lt=datetime.date.today())
result['langtext']= {k: [o.abschnitt for o in g] for k, g in groupby(qs, key=lambda o: o.abschnitt.dokument)} result['langtext']= {k: [o.abschnitt for o in g] for k, g in groupby(qs, key=lambda o: o.abschnitt.dokument)}
if "geltungsbereich" in areas: for r in result.keys():
for s in result[r].keys():
result["all"][s] = set(result[r][s])
result["geltungsbereich"]={} result["geltungsbereich"]={}
geltungsbereich=set(list([x.geltungsbereich for x in Geltungsbereich.objects.filter(inhalt__contains=suchbegriff)])) geltungsbereich=set(list([x.geltungsbereich for x in Geltungsbereich.objects.filter(inhalt__contains=suchbegriff)]))
for s in geltungsbereich: for s in geltungsbereich:
result["geltungsbereich"][s]=render_textabschnitte(s.geltungsbereich_set.order_by("order")) result["geltungsbereich"][s]=render_textabschnitte(s.geltungsbereich_set.order_by("order"))
for r in result.keys(): pprint.pp (result)
for s in result[r].keys():
result[r][s]=set(result[r][s])
return render(request,"results.html",{"suchbegriff":suchbegriff,"resultat":result}) return render(request,"results.html",{"suchbegriff":suchbegriff,"resultat":result})