From f428fe4bd0eaabd47f7e97724eb9e28702249c30 Mon Sep 17 00:00:00 2001 From: Adrian Moennich Date: Thu, 27 Nov 2014 16:32:15 +0100 Subject: [PATCH] Payment/Manual: Add settings --- .../indico_payment_manual/plugin.py | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/payment_manual/indico_payment_manual/plugin.py b/payment_manual/indico_payment_manual/plugin.py index e30188b..da94fac 100644 --- a/payment_manual/indico_payment_manual/plugin.py +++ b/payment_manual/indico_payment_manual/plugin.py @@ -16,13 +16,34 @@ from __future__ import unicode_literals +from wtforms.fields.simple import TextAreaField +from wtforms.validators import DataRequired + from indico.core.plugins import IndicoPlugin +from indico.modules.payment import PaymentPluginMixin, PaymentPluginSettingsFormBase, PaymentEventSettingsFormBase +from indico.util.i18n import _ +from indico.web.forms.validators import UsedIf -class ManualPaymentPlugin(IndicoPlugin): +DETAILS_DESC = _('The details the user needs to make their payment. This usually includes the bank account details ' + 'the IBAN and payment reference.') + + +class PluginSettingsForm(PaymentPluginSettingsFormBase): + details = TextAreaField(_('Payment details'), [], description=DETAILS_DESC) + + +class EventSettingsForm(PaymentEventSettingsFormBase): + details = TextAreaField(_('Payment details'), [UsedIf(lambda form, _: form.enabled.data), DataRequired()], + description=DETAILS_DESC) + + +class ManualPaymentPlugin(PaymentPluginMixin, IndicoPlugin): """Manual Payment Provides a payment method where bank details etc. are shown to the user who then pays manually using e.g. a wire transfer. Marking the registrant as paid is then done manually by a manager of the event. """ + settings_form = PluginSettingsForm + event_settings_form = EventSettingsForm