Skip to content

page_views

django_spire.knowledge.entry.version.views.page_views

editor_view

Source code in django_spire/knowledge/entry/version/views/page_views.py
@permission_required('django_spire_knowledge.view_collection')
def editor_view(request: WSGIRequest, pk: int) -> TemplateResponse:
    entry_version = get_object_or_404(EntryVersion.objects.prefetch_blocks(), pk=pk)

    entry = entry_version.entry
    top_level_collection = entry.top_level_collection
    version_blocks = entry_version.blocks.format_for_editor()

    nav = EntryNavigation()
    nav.page_title = str(entry)
    nav.page_description = 'Detail View'

    add_collection_chain_breadcrumbs(nav.breadcrumbs, entry_version.entry.collection)

    nav.breadcrumbs.add(str(entry))

    return TemplateResponse(
        request,
        context=nav.as_context() | {
            'entry': entry,
            'current_version': entry_version,
            'collection': top_level_collection,
            'version_blocks': json.dumps(list(version_blocks)),
            'collection_tree_json': Collection.services.transformation.to_hierarchy_json(
                request=request, parent_id=top_level_collection.id
            ),
        },
        template='django_spire/knowledge/entry/version/page/editor_page.html',
    )