feat: serve isolated companies below a fixed product path
All checks were successful
Application acceptance / application-tests (push) Successful in 1m12s
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Build and Publish Container Image / build-and-push (push) Successful in 25s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
tegwick 2026-09-11 21:29:26 +02:00
parent 09e2239bc6
commit 9345a1bb1a
28 changed files with 350 additions and 117 deletions

View file

@ -3,12 +3,12 @@ from datetime import date, timedelta
from django import forms
from django.contrib import messages
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse
from vergabe_teilnahme.apps.accounts.models import Mitarbeiter
from .models import Entscheidungsregel, Leistungsblatt, Nachweis, Referenz
# ── Forms ─────────────────────────────────────────────────────────────────────
class NachweisForm(forms.ModelForm):
@ -173,7 +173,7 @@ def nachweis_neu(request):
return render(request, 'bibliothek/nachweis_form.html', {
'form': form,
'breadcrumbs': [
{'label': 'Nachweise', 'url': '/bibliothek/nachweise/'},
{'label': 'Nachweise', 'url': reverse('bibliothek:nachweise_liste')},
{'label': 'Neu', 'url': None},
],
})
@ -184,7 +184,7 @@ def nachweis_detail(request, pk):
return render(request, 'bibliothek/nachweis_detail.html', {
'nachweis': nachweis,
'breadcrumbs': [
{'label': 'Nachweise', 'url': '/bibliothek/nachweise/'},
{'label': 'Nachweise', 'url': reverse('bibliothek:nachweise_liste')},
{'label': nachweis.titel, 'url': None},
],
})
@ -205,8 +205,8 @@ def nachweis_bearbeiten(request, pk):
'form': form,
'nachweis': nachweis,
'breadcrumbs': [
{'label': 'Nachweise', 'url': '/bibliothek/nachweise/'},
{'label': nachweis.titel, 'url': f'/bibliothek/nachweise/{pk}/'},
{'label': 'Nachweise', 'url': reverse('bibliothek:nachweise_liste')},
{'label': nachweis.titel, 'url': reverse('bibliothek:nachweis_detail', kwargs={'pk': pk})},
{'label': 'Bearbeiten', 'url': None},
],
})
@ -237,8 +237,8 @@ def nachweis_neue_version(request, pk):
'nachweis': alter_nachweis,
'neue_version': True,
'breadcrumbs': [
{'label': 'Nachweise', 'url': '/bibliothek/nachweise/'},
{'label': alter_nachweis.titel, 'url': f'/bibliothek/nachweise/{pk}/'},
{'label': 'Nachweise', 'url': reverse('bibliothek:nachweise_liste')},
{'label': alter_nachweis.titel, 'url': reverse('bibliothek:nachweis_detail', kwargs={'pk': pk})},
{'label': 'Neue Version', 'url': None},
],
})
@ -279,7 +279,7 @@ def referenz_neu(request):
return render(request, 'bibliothek/referenz_form.html', {
'form': form,
'breadcrumbs': [
{'label': 'Referenzen', 'url': '/bibliothek/referenzen/'},
{'label': 'Referenzen', 'url': reverse('bibliothek:referenz_liste')},
{'label': 'Neu', 'url': None},
],
})
@ -290,7 +290,7 @@ def referenz_detail(request, pk):
return render(request, 'bibliothek/referenz_detail.html', {
'ref': ref,
'breadcrumbs': [
{'label': 'Referenzen', 'url': '/bibliothek/referenzen/'},
{'label': 'Referenzen', 'url': reverse('bibliothek:referenz_liste')},
{'label': ref.referenztitel, 'url': None},
],
})
@ -311,8 +311,8 @@ def referenz_bearbeiten(request, pk):
'form': form,
'ref': ref,
'breadcrumbs': [
{'label': 'Referenzen', 'url': '/bibliothek/referenzen/'},
{'label': ref.referenztitel, 'url': f'/bibliothek/referenzen/{pk}/'},
{'label': 'Referenzen', 'url': reverse('bibliothek:referenz_liste')},
{'label': ref.referenztitel, 'url': reverse('bibliothek:referenz_detail', kwargs={'pk': pk})},
{'label': 'Bearbeiten', 'url': None},
],
})
@ -365,7 +365,7 @@ def leistungsblatt_neu(request):
return render(request, 'bibliothek/leistungsblatt_form.html', {
'form': form,
'breadcrumbs': [
{'label': 'Leistungsblätter', 'url': '/bibliothek/leistungsblaetter/'},
{'label': 'Leistungsblätter', 'url': reverse('bibliothek:leistungsblaetter_liste')},
{'label': 'Neu', 'url': None},
],
})
@ -386,7 +386,7 @@ def leistungsblatt_bearbeiten(request, pk):
'form': form,
'obj': obj,
'breadcrumbs': [
{'label': 'Leistungsblätter', 'url': '/bibliothek/leistungsblaetter/'},
{'label': 'Leistungsblätter', 'url': reverse('bibliothek:leistungsblaetter_liste')},
{'label': 'Bearbeiten', 'url': None},
],
})
@ -415,7 +415,7 @@ def entscheidungsregel_neu(request):
return render(request, 'bibliothek/entscheidungsregel_form.html', {
'form': form,
'breadcrumbs': [
{'label': 'Entscheidungsregeln', 'url': '/bibliothek/entscheidungsregeln/'},
{'label': 'Entscheidungsregeln', 'url': reverse('bibliothek:entscheidungsregeln_liste')},
{'label': 'Neu', 'url': None},
],
})
@ -436,7 +436,7 @@ def entscheidungsregel_bearbeiten(request, pk):
'form': form,
'obj': obj,
'breadcrumbs': [
{'label': 'Entscheidungsregeln', 'url': '/bibliothek/entscheidungsregeln/'},
{'label': 'Entscheidungsregeln', 'url': reverse('bibliothek:entscheidungsregeln_liste')},
{'label': 'Bearbeiten', 'url': None},
],
})