Skip to content
Snippets Groups Projects
Commit ebfe03d1 authored by permcu's avatar permcu
Browse files

Make frontend & route handle list of groups

parent 7d1220be
No related branches found
No related tags found
1 merge request!422Resolve "Add export functionality to course book"
......@@ -136,8 +136,7 @@ export default {
this.$router.push({
name: "alsijil.coursebook_print",
params: {
// TODO: Send & handle more than one group!
groupId: this.selectedGroups[0],
groupIds: this.selectedGroups,
},
query: {
cover: this.includeCover,
......
......@@ -80,7 +80,7 @@ export default {
],
},
{
path: "print/group/:groupId/",
path: "print/groups/:groupIds+/",
component: () => import("aleksis.core/components/LegacyBaseTemplate.vue"),
name: "alsijil.coursebook_print",
props: {
......
......@@ -4,7 +4,7 @@ from . import views
urlpatterns = [
path(
"print/group/<int:id_>/",
"print/groups/<path:ids>/",
views.full_register_for_group,
name="full_register_for_group"
),
......
......@@ -42,10 +42,12 @@ from .tasks import generate_full_register_printout
@permission_required(
"alsijil.view_full_register_rule", fn=objectgetter_optional(Group, None, False)
)
def full_register_for_group(request: HttpRequest, id_: int) -> HttpResponse:
def full_register_for_group(request: HttpRequest, ids: str) -> HttpResponse:
"""Show a configurable register printout as PDF for a group."""
group = get_object_or_404(Group, pk=id_)
ids = [int(id_) for id_ in ids.split("/")]
groups = [get_object_or_404(Group, pk=id_) for id_ in ids]
file_object = PDFFile.objects.create()
if has_person(request):
......@@ -55,7 +57,7 @@ def full_register_for_group(request: HttpRequest, id_: int) -> HttpResponse:
redirect_url = f"/pdfs/{file_object.pk}"
result = generate_full_register_printout.delay(
group=group.pk,
groups=ids,
file_object=file_object.pk,
include_cover=request.GET.get("cover", True),
include_abbreviations=request.GET.get("abbreviations", True),
......@@ -77,7 +79,7 @@ def full_register_for_group(request: HttpRequest, id_: int) -> HttpResponse:
return render_progress_page(
request,
result,
title=_("Generate register printout for {}").format(group),
title=_(f"Generate register printout for {', '.join([group.short_name for group in groups])}"),
progress_title=_("Generate register printout …"),
success_message=_("The printout has been generated successfully."),
error_message=_("There was a problem while generating the printout."),
......
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