@AppAuthController('knowledge').permission_required('can_view')
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()
def breadcrumbs_func(breadcrumbs: Breadcrumbs):
breadcrumbs.add_breadcrumb(
name='Knowledge',
href=reverse('django_spire:knowledge:page:home')
)
breadcrumbs.add_base_breadcrumb(entry)
return portal_views.detail_view(
request,
obj=entry,
breadcrumbs_func=breadcrumbs_func,
context_data={
'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',
)