Source code for town6.views.payment

from __future__ import annotations

from onegov.core.security import Private
from onegov.form import merge_forms
from onegov.org.views.payment import (
    export_payments, handle_batch_set_payment_state, view_payments)
from onegov.town6 import TownApp
from onegov.org.forms.payments_search_form import PaymentSearchForm
from onegov.org.forms import DateRangeForm, ExportForm

from onegov.pay import PaymentCollection
from onegov.town6.layout import PaymentCollectionLayout


from typing import TYPE_CHECKING
if TYPE_CHECKING:
    from webob import Response
    from onegov.core.types import RenderData
    from onegov.org.views.payment import PaymentExportForm
    from onegov.server.types import JSON_ro
    from onegov.town6.request import TownRequest


@TownApp.form(
    model=PaymentCollection,
    template='payments.pt',
    form=PaymentSearchForm,
    permission=Private
)
[docs] def town_view_payments( self: PaymentCollection, request: TownRequest, form: PaymentSearchForm ) -> RenderData | Response: layout = PaymentCollectionLayout(self, request) return view_payments(self, request, form, layout)
@TownApp.json( model=PaymentCollection, name='batch-set-payment-state', request_method='POST', permission=Private )
[docs] def town_handle_batch_set_payment_state( self: PaymentCollection, request: TownRequest ) -> JSON_ro: return handle_batch_set_payment_state(self, request)
@TownApp.form( model=PaymentCollection, name='export', template='form.pt', permission=Private, form=merge_forms(DateRangeForm, ExportForm) )
[docs] def town_export_payments( self: PaymentCollection, request: TownRequest, form: PaymentExportForm ) -> RenderData | Response: return export_payments( self, request, form, PaymentCollectionLayout(self, request))