Skip to content
Snippets Groups Projects
Verified Commit f138d585 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Fix URLs and view for substitutions print

parent c9a56bb2
No related branches found
No related tags found
1 merge request!315Resolve "Substitutions PDF for new data model"
......@@ -32,5 +32,21 @@ export default {
fullWidth: true,
},
},
{
path: "substitutions/print/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "chronos.substitutions",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
{
path: "substitutions/print/:date/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "chronos.substitutionsByDate",
props: {
byTheGreatnessOfTheAlmightyAleksolotlISwearIAmWorthyOfUsingTheLegacyBaseTemplate: true,
},
},
],
};
......@@ -8,4 +8,9 @@ urlpatterns = [
views.substitutions_print,
name="substitutions_print",
),
path(
"substitutions/print/<str:day>/",
views.substitutions_print,
name="substitutions_print",
),
]
from datetime import date, datetime
from typing import Optional
from django.http import HttpRequest, HttpResponse
from rules.contrib.views import permission_required
from aleksis.core.decorators import pwa_cache
from aleksis.core.util.pdf import render_pdf
from .util.chronos_helpers import (
......@@ -12,14 +12,12 @@ from .util.chronos_helpers import (
)
@pwa_cache
@permission_required("chronos.view_substitutions_rule")
def substitutions_print(
request: HttpRequest,
year: Optional[int] = None,
month: Optional[int] = None,
day: Optional[int] = None,
day: Optional[str] = None,
) -> HttpResponse:
"""View all substitutions on a specified day."""
context = get_substitutions_context_data(request, year, month, day, is_print=True)
day = datetime.strptime(day, "%Y-%m-%d").date() if day else date.today()
context = get_substitutions_context_data(day)
return render_pdf(request, "chronos/substitutions_print.html", context)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment