""" The onegov org collection of images uploaded to the site. """
from onegov.core.security import Public, Private, Secret
from onegov.event import Occurrence, OccurrenceCollection
from onegov.org.forms.event import EventConfigurationForm
from onegov.town6.layout import OccurrenceLayout
from onegov.org.views.occurrence import (
view_occurrences, view_occurrence, export_occurrences,
import_occurrences, handle_edit_event_filters)
from onegov.town6 import TownApp
from onegov.org.forms import ExportForm, EventImportForm
from onegov.town6.layout import OccurrencesLayout
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from onegov.core.types import RenderData
from onegov.town6.request import TownRequest
from webob import Response
@TownApp.html(
model=OccurrenceCollection,
template='occurrences.pt',
permission=Public
)
[docs]
def town_view_occurrences(
self: OccurrenceCollection,
request: 'TownRequest'
) -> 'RenderData':
return view_occurrences(self, request, OccurrencesLayout(self, request))
@TownApp.html(model=Occurrence, template='occurrence.pt', permission=Public)
[docs]
def town_view_occurrence(
self: Occurrence,
request: 'TownRequest'
) -> 'RenderData':
layout = OccurrenceLayout(self, request)
request.include('monthly-view')
return view_occurrence(self, request, layout)
@TownApp.form(
model=OccurrenceCollection,
name='edit',
template='directory_form.pt',
permission=Secret,
form=EventConfigurationForm
)
[docs]
def town_handle_edit_event_filters(
self: OccurrenceCollection,
request: 'TownRequest',
form: EventConfigurationForm
) -> 'RenderData | Response':
layout = OccurrencesLayout(self, request)
return handle_edit_event_filters(self, request, form, layout)
@TownApp.form(
model=OccurrenceCollection,
name='export',
permission=Private,
form=ExportForm,
template='export.pt'
)
[docs]
def town_export_occurrences(
self: OccurrenceCollection,
request: 'TownRequest',
form: ExportForm
) -> 'RenderData | Response':
return export_occurrences(
self, request, form, OccurrencesLayout(self, request))
@TownApp.form(
model=OccurrenceCollection,
name='import',
permission=Private,
form=EventImportForm,
template='form.pt'
)
[docs]
def town_import_occurrences(
self: OccurrenceCollection,
request: 'TownRequest',
form: EventImportForm
) -> 'RenderData | Response':
return import_occurrences(
self, request, form, OccurrencesLayout(self, request))