Schema Interfaces

Für unsere Registrierungssoftware erstellen wir zunächst den Artikeltyp Attendee in attendee.py:

from five import grok
from zope import schema

from plone.directives import form, dexterity

from plone.app.textfield import RichText
from plone.namedfile.field import NamedImage

from vs.registration import _

class IAttendee(form.Schema):
    """An attendee for the event.
    """

    title = schema.TextLine(
            title=_(u"Name"),
        )

    description = schema.Text(
            title=_(u"A short summary"),
        )
from vs.registration import _

importiert die Message Factory aus der __init__.py-Datei:

from zope.i18nmessageid import MessageFactory
_ = MessageFactory("vs.registration")

Die Ereignisse, für die die Anmeldungen erfolgen können, werden in registration.py definiert:

from five import grok
from zope import schema

from plone.directives import form, dexterity
from plone.app.textfield import RichText

from vs.registration import _

class IRegistration(form.Schema):
    """A registration container for attendees.
    """

    title = schema.TextLine(
            title=_(u"Event name"),
        )

    description = schema.Text(
            title=_(u"Event summary"),
        )

    start = schema.Datetime(
            title=_(u"Start date"),
            required=False,
        )

    end = schema.Datetime(
            title=_(u"End date"),
            required=False,
        )

    details = RichText(
            title=_(u"Details"),
            description=_(u"Details about the event"),
            required=False,
        )