Contribute Calendar to Quick Access

This commit is contained in:
2026-08-06 19:02:55 +02:00
parent 089d07b60a
commit b6f939eaba
4 changed files with 91 additions and 1 deletions
+62
View File
@@ -28,6 +28,8 @@ from govoplan_core.core.modules import (
ModuleManifest,
NavItem,
PermissionDefinition,
ProductAreaContribution,
QuickAccessTool,
RoleTemplate,
)
from govoplan_core.core.search import SearchSourceProviderRegistration
@@ -554,6 +556,33 @@ manifest = ModuleManifest(
),
),
documentation=(
DocumentationTopic(
id="calendar.quick-access-and-product-area",
title="Calendar in product navigation and Quick Access",
summary="Use Calendar in Meetings and decisions and keep an optional compact agenda beside current work.",
body=(
"Calendar contributes its workspace to Meetings and decisions. When Quick Access is enabled, "
"the owner-rendered agenda shows authorized upcoming events in the Calendar category and links to the full workspace. "
"View and Quick Access settings affect presentation only; Calendar reauthorizes every event read and action."
),
layer="configured",
documentation_types=("user", "admin"),
audience=("user", "calendar_manager", "administrator"),
related_modules=("quick_access", "views"),
translations={
"de": {
"title": "Kalender in Produktnavigation und Schnellzugriff",
"summary": "Den Kalender unter Termine und Entscheidungen sowie optional als kompakte Agenda neben der aktuellen Arbeit verwenden.",
"body": (
"Calendar ordnet seinen Arbeitsbereich Termine und Entscheidungen zu. Ist der Schnellzugriff aktiviert, "
"zeigt die vom Kalender gerenderte Agenda berechtigte anstehende Termine und verweist auf den vollständigen Arbeitsbereich. "
"Ansichts- und Schnellzugriffseinstellungen ändern nur die Darstellung."
),
}
},
metadata={"kind": "reference", "help_contexts": ["calendar.quick_access.agenda"]},
order=18,
),
DocumentationTopic(
id="calendar.search.events",
title="Search authorized calendar events",
@@ -781,6 +810,39 @@ manifest = ModuleManifest(
label="Calendar preferences",
order=45,
),
ViewSurface(
id="calendar.quick_access.agenda",
module_id="calendar",
kind="quick_access",
label="Calendar Quick Access",
order=50,
),
),
product_areas=(
ProductAreaContribution(
id="meetings-decisions",
module_id="calendar",
label="i18n:govoplan-core.product_area.meetings_decisions",
icon="calendar",
description="i18n:govoplan-core.product_area.meetings_decisions_description",
surface_ids=("calendar.nav.calendar", "calendar.route.calendar"),
order=50,
),
),
quick_access_tools=(
QuickAccessTool(
id="calendar.agenda",
module_id="calendar",
category_id="calendar",
label="i18n:govoplan-calendar.calendar.adab5090",
description="i18n:govoplan-calendar.quick_access_description",
surface_id="calendar.quick_access.agenda",
icon="calendar",
full_page_path="/calendar",
required_any=("calendar:event:read",),
order=10,
modes=("browse", "create"),
),
),
),
migration_spec=MigrationSpec(