from django.shortcuts import render, get_object_or_404 from .models import Dokument from abschnitte.utils import render_textabschnitte from datetime import date import parsedatetime calendar=parsedatetime.Calendar() def dokument_list(request): dokumente = Dokument.objects.all() return render(request, 'dokumente/dokument_list.html', {'dokumente': dokumente} ) def dokument_detail(request, nummer,check_date=""): dokument = get_object_or_404(Dokument, nummer=nummer) if check_date: check_date = calendar.parseDT(check_date)[0].date() dokument.history = True else: check_date = date.today() dokument.history = False dokument.check_date=check_date vorgaben = list(dokument.vorgaben.order_by("thema","nummer").select_related("thema","dokument")) # convert queryset to list so we can attach attributes dokument.geltungsbereich_html = render_textabschnitte(dokument.geltungsbereich_set.order_by("order").select_related("abschnitttyp")) dokument.einleitung_html=render_textabschnitte(dokument.einleitung_set.order_by("order")) for vorgabe in vorgaben: # Prepare Kurztext HTML vorgabe.kurztext_html = render_textabschnitte(vorgabe.vorgabekurztext_set.order_by("order").select_related("abschnitttyp","abschnitt")) vorgabe.langtext_html = render_textabschnitte(vorgabe.vorgabelangtext_set.order_by("order").select_related("abschnitttyp","abschnitt")) vorgabe.long_status=vorgabe.get_status(check_date,verbose=True) vorgabe.relevanzset=list(vorgabe.relevanz.all()) referenz_items = [] for r in vorgabe.referenzen.all(): referenz_items.append(r.Path()) vorgabe.referenzpfade = referenz_items return render(request, 'dokumente/dokument_detail.html', { 'dokument': dokument, 'vorgaben': vorgaben, }) def dokument_checkliste(request, nummer): dokument = get_object_or_404(Dokument, nummer=nummer) vorgaben = list(dokument.vorgaben.all()) return render(request, 'dokumente/dokument_checkliste.html', { 'dokument': dokument, 'vorgaben': vorgaben, })