Skip to content

page_views

django_spire.metric.visual.presentation.views.page_views

detail_view

Source code in django_spire/metric/visual/presentation/views/page_views.py
@permission_required('django_spire_metric_visual_presentation.view_presentation')
def detail_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    presentation = get_object_or_404(
        models.Presentation.objects.with_slides().with_slide_count(), pk=pk
    )

    nav = PresentationNavigation()
    nav.page_title = str(presentation)
    nav.breadcrumbs.add('Presentations', 'django_spire:metric:visual:presentation:page:list')
    nav.breadcrumbs.add(str(presentation))
    context = nav.as_context()
    context['presentation'] = presentation
    context['slides'] = [_slide_data(request, slide) for slide in presentation.slides.all()]

    return TemplateResponse(
        request,
        context=context,
        template='django_spire/metric/visual/presentation/page/detail_page.html',
    )

list_view

Source code in django_spire/metric/visual/presentation/views/page_views.py
@permission_required('django_spire_metric_visual_presentation.view_presentation')
def list_view(request: WSGIRequest) -> TemplateResponse:
    presentations = models.Presentation.objects.with_slide_count()

    Glue.queryset(request, 'presentations', presentations, Glue.Access.CHANGE, fields='__all__')

    nav = PresentationNavigation()
    nav.page_title = 'Presentations'
    nav.breadcrumbs.add('Presentations')
    context = nav.as_context()
    context['presentations'] = presentations
    context['presentation_count'] = presentations.count()

    return TemplateResponse(
        request,
        context=context,
        template='django_spire/metric/visual/presentation/page/list_page.html',
    )