diff --git a/aleksis/apps/chronos/views.py b/aleksis/apps/chronos/views.py index bc96b12c9db34bc039b0c3d4d2b56bb645c5f95f..8a3a5a30b93309dae35e4cecd82b183a7d3da014 100644 --- a/aleksis/apps/chronos/views.py +++ b/aleksis/apps/chronos/views.py @@ -18,6 +18,7 @@ from rules.contrib.views import permission_required from aleksis.core.models import Announcement, Group, Person from aleksis.core.util import messages from aleksis.core.util.core_helpers import get_site_preferences, has_person +from aleksis.core.util.pdf import render_pdf from .forms import LessonSubstitutionForm from .managers import TimetableType @@ -195,17 +196,10 @@ def timetable( if is_print: template_name = "chronos/timetable_print.html" - template = get_template(template_name) - - html_template = render_to_string(template_name, context).replace("/static", STATIC_ROOT) - f, path = mkstemp(".html") - print(path) - with open(path, "w") as f: - f.write(html_template) - f2, path2 = mkstemp(".pdf") - subprocess.run(["electron-pdf", path, path2]) - file = open(path2, "rb") - return FileResponse(file, content_type="application/pdf") + context["back_url"] = reverse( + "timetable_by_week", args=[type_.value, pk, wanted_week.year, wanted_week.week], + ) + return render_pdf(request, template_name, context) else: template_name = "chronos/timetable.html"