Source code for landsgemeinde.forms.settings
from __future__ import annotations
from wtforms import RadioField
from wtforms.fields import EmailField
from onegov.form import Form
from onegov.landsgemeinde import _
from wtforms.fields import StringField
from wtforms.validators import Email
from wtforms.validators import Optional
from wtforms.validators import InputRequired
from typing import Any, TYPE_CHECKING
if TYPE_CHECKING:
    from onegov.org.models import Organisation
[docs]
class OpenDataSettingsForm(Form):
[docs]
    def process_obj(
        self,
        obj: Organisation  # type:ignore[override]
    ) -> None:
        super().process_obj(obj)
        self.ogd_publisher_mail.data = obj.ogd_publisher_mail or ''
        self.ogd_publisher_id.data = obj.ogd_publisher_id or ''
        self.ogd_publisher_name.data = obj.ogd_publisher_name or ''
[docs]
    def populate_obj(  # type:ignore[override]
        self,
        obj: Organisation,  # type:ignore[override]
        *args: Any,
        **kwargs: Any
    ) -> None:
        super().populate_obj(obj, *args, **kwargs)
        obj.ogd_publisher_mail = self.ogd_publisher_mail.data
        obj.ogd_publisher_id = self.ogd_publisher_id.data
        obj.ogd_publisher_name = self.ogd_publisher_name.data
[docs]
class AssemblySettingsForm(Form):
[docs]
    assembly_title = RadioField(
        label=_('Title'),
        description=_('The title of the assemblies.'),
        fieldset=_('Assembly settings'),
        validators=[InputRequired()],
        choices=[
            ('assembly', _('Assembly')),
            ('general_assembly', _('General Assembly')),
            ('town_hall_meeting', _('Town Hall Meeting'))
        ]
    )
[docs]
    def process_obj(
        self,
        obj: Organisation  # type:ignore[override]
    ) -> None:
        super().process_obj(obj)
        self.assembly_title.data = obj.assembly_title or ''
[docs]
    def populate_obj(  # type:ignore[override]
        self,
        obj: Organisation,  # type:ignore[override]
        *args: Any,
        **kwargs: Any
    ) -> None:
        super().populate_obj(obj, *args, **kwargs)
        obj.assembly_title = self.assembly_title.data