Compare commits

...

3 Commits

Author SHA1 Message Date
MaM Web user 64bd360716 Přidat hlavičku 2 years ago
MaM Web user 350041c587 fix :-) 2 years ago
Pavel "LEdoian" Turinsky 3a8d5b2207 Export seznamu přednášek 2 years ago
  1. 5
      prednasky/urls.py
  2. 36
      prednasky/views.py

5
prednasky/urls.py

@ -22,4 +22,9 @@ urlpatterns = [
org_required(views.SeznamListView.as_view()),
name='seznam-list'
),
path(
'prednasky/seznam_export/<int:seznam>/',
org_required(views.exportSeznamuPrednasekNeHodnoceni),
name='seznam_export_csv'
),
]

36
prednasky/views.py

@ -114,4 +114,40 @@ def SeznamExportView(request, seznam):
content_type="text/plain"
)
def exportSeznamuPrednasekNeHodnoceni(req, seznam):
# UGLY CODE. Jen byla potřeba pro garanta přednášek tabulka, tak vznikla :-P
seznam = get_object_or_404(Seznam, id=seznam)
from django.http import HttpResponse
import csv
# Kód jsem zkopíroval přímo z tutoriálu
# https://docs.djangoproject.com/en/4.0/howto/outputting-csv/
# Jo, je to špatná verze djanga. whatever.
response = HttpResponse(
content_type='text/csv',
headers={'Content-Disposition': 'attachment; filename="seznam.csv"'},
)
writer = csv.writer(response)
attrs = (
'id',
'org',
'nazev',
'anotace',
'klicova',
'obor',
'obtiznost',
'popis',
)
# Hlavička
writer.writerow(attrs)
# Tělo
for predn in Prednaska.objects.filter(seznamy=seznam):
row = [getattr(predn, attr) for attr in attrs]
writer.writerow(row)
return response

Loading…
Cancel
Save