feat: serve isolated companies below a fixed product path
All checks were successful
All checks were successful
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
parent
09e2239bc6
commit
9345a1bb1a
28 changed files with 350 additions and 117 deletions
|
|
@ -1,4 +1,5 @@
|
|||
from django.shortcuts import get_object_or_404, redirect, render
|
||||
from django.urls import reverse
|
||||
|
||||
from vergabe_teilnahme.apps.ausschreibungen.models import Ausschreibung
|
||||
from vergabe_teilnahme.apps.bibliothek.models import Nachweis
|
||||
|
|
@ -13,8 +14,8 @@ def _is_htmx(request):
|
|||
|
||||
def _ausschreibung_breadcrumbs(ausschreibung, *extra):
|
||||
crumbs = [
|
||||
{'label': 'Ausschreibungen', 'url': '/ausschreibungen/'},
|
||||
{'label': ausschreibung.titel, 'url': f'/ausschreibungen/{ausschreibung.pk}/'},
|
||||
{'label': 'Ausschreibungen', 'url': reverse('ausschreibungen:liste')},
|
||||
{'label': ausschreibung.titel, 'url': reverse('ausschreibungen:detail', kwargs={'pk': ausschreibung.pk})},
|
||||
]
|
||||
for label, url in extra:
|
||||
crumbs.append({'label': label, 'url': url})
|
||||
|
|
@ -65,7 +66,7 @@ def los_neu(request, ausschreibung_id):
|
|||
'ausschreibung': ausschreibung,
|
||||
'titel': 'Los hinzufügen',
|
||||
'breadcrumbs': _ausschreibung_breadcrumbs(ausschreibung,
|
||||
('Lose', f'/ausschreibungen/{ausschreibung_id}/lose/'),
|
||||
('Lose', reverse('ausschreibungen:lose:liste', kwargs={'ausschreibung_id': ausschreibung_id})),
|
||||
('Neu', None)),
|
||||
})
|
||||
|
||||
|
|
@ -79,7 +80,7 @@ def los_detail(request, ausschreibung_id, los_pk):
|
|||
'los': los,
|
||||
'anforderungen': anforderungen,
|
||||
'breadcrumbs': _ausschreibung_breadcrumbs(ausschreibung,
|
||||
('Lose', f'/ausschreibungen/{ausschreibung_id}/lose/'),
|
||||
('Lose', reverse('ausschreibungen:lose:liste', kwargs={'ausschreibung_id': ausschreibung_id})),
|
||||
(str(los), None)),
|
||||
})
|
||||
|
||||
|
|
@ -97,8 +98,8 @@ def los_bearbeiten(request, ausschreibung_id, los_pk):
|
|||
'los': los,
|
||||
'titel': 'Los bearbeiten',
|
||||
'breadcrumbs': _ausschreibung_breadcrumbs(ausschreibung,
|
||||
('Lose', f'/ausschreibungen/{ausschreibung_id}/lose/'),
|
||||
(str(los), f'/ausschreibungen/{ausschreibung_id}/lose/{los_pk}/'),
|
||||
('Lose', reverse('ausschreibungen:lose:liste', kwargs={'ausschreibung_id': ausschreibung_id})),
|
||||
(str(los), reverse('ausschreibungen:lose:detail', kwargs={'ausschreibung_id': ausschreibung_id, 'los_pk': los_pk})),
|
||||
('Bearbeiten', None)),
|
||||
})
|
||||
|
||||
|
|
@ -113,8 +114,8 @@ def los_loeschen(request, ausschreibung_id, los_pk):
|
|||
'ausschreibung': ausschreibung,
|
||||
'los': los,
|
||||
'breadcrumbs': _ausschreibung_breadcrumbs(ausschreibung,
|
||||
('Lose', f'/ausschreibungen/{ausschreibung_id}/lose/'),
|
||||
(str(los), f'/ausschreibungen/{ausschreibung_id}/lose/{los_pk}/'),
|
||||
('Lose', reverse('ausschreibungen:lose:liste', kwargs={'ausschreibung_id': ausschreibung_id})),
|
||||
(str(los), reverse('ausschreibungen:lose:detail', kwargs={'ausschreibung_id': ausschreibung_id, 'los_pk': los_pk})),
|
||||
('Löschen', None)),
|
||||
})
|
||||
|
||||
|
|
@ -187,7 +188,7 @@ def anforderung_neu(request, ausschreibung_id):
|
|||
'ausschreibung': ausschreibung,
|
||||
'titel': 'Anforderung anlegen',
|
||||
'breadcrumbs': _ausschreibung_breadcrumbs(ausschreibung,
|
||||
('Anforderungen', f'/ausschreibungen/{ausschreibung_id}/lose/anforderungen/'),
|
||||
('Anforderungen', reverse('ausschreibungen:lose:anforderungen_liste', kwargs={'ausschreibung_id': ausschreibung_id})),
|
||||
('Neu', None)),
|
||||
})
|
||||
|
||||
|
|
@ -201,7 +202,7 @@ def anforderung_detail(request, ausschreibung_id, pk):
|
|||
'anforderung': anforderung,
|
||||
'aufgaben': aufgaben,
|
||||
'breadcrumbs': _ausschreibung_breadcrumbs(ausschreibung,
|
||||
('Anforderungen', f'/ausschreibungen/{ausschreibung_id}/lose/anforderungen/'),
|
||||
('Anforderungen', reverse('ausschreibungen:lose:anforderungen_liste', kwargs={'ausschreibung_id': ausschreibung_id})),
|
||||
(anforderung.titel[:50], None)),
|
||||
})
|
||||
|
||||
|
|
@ -220,8 +221,8 @@ def anforderung_bearbeiten(request, ausschreibung_id, pk):
|
|||
'anforderung': anforderung,
|
||||
'titel': 'Anforderung bearbeiten',
|
||||
'breadcrumbs': _ausschreibung_breadcrumbs(ausschreibung,
|
||||
('Anforderungen', f'/ausschreibungen/{ausschreibung_id}/lose/anforderungen/'),
|
||||
(anforderung.titel[:50], f'/ausschreibungen/{ausschreibung_id}/lose/anforderungen/{pk}/'),
|
||||
('Anforderungen', reverse('ausschreibungen:lose:anforderungen_liste', kwargs={'ausschreibung_id': ausschreibung_id})),
|
||||
(anforderung.titel[:50], reverse('ausschreibungen:lose:anforderung_detail', kwargs={'ausschreibung_id': ausschreibung_id, 'pk': pk})),
|
||||
('Bearbeiten', None)),
|
||||
})
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue