class ICalltoactionSchema(Interface):
    """Call to action.

    internal link, external link, sharing
    """

    ctalabel = schema.TextLine(
        title=_(u'Label'),
        required=False,
        default=u'',
        missing_value=u'call to action',
    )
    widget('ctaurl', LinkFieldWidget)
    ctaurl = schema.TextLine(
        title=_(u'Target of call to action'),
        required=False,
        default=u'',
        missing_value=u'',
    )
    ctasharing = schema.Bool(
        title=_(u'Sharing'),
        required=False,
        default=False,
        missing_value=False,
    )
    ctacategory = schema.Choice(
        title=_(u'Category'),
        required=True,
        vocabulary='collective.multiplecalltoactions.CtoCategoryVocabulary')
class ICreateDX(IAction):
    """Create a Dexterity Type"""

    location = schema.TextLine(
        title=_(u'Location'),
        description=_(
            u'Select the location where content items should be created'),
        required=True,
    )

    content_type = schema.Choice(
        title=_(u'label_content_type', default=u'Content Type'),
        vocabulary='plone.app.vocabularies.PortalTypes',
        required=True,
        default='',
        missing_value='',
    )
    directives.widget('content_type', SelectFieldWidget)

    mappings = schema.List(
        title=_(u'Form field to item field mappings'),
        description=
        _(u"""One mapping per line. Format: "formfieldid itemfieldid:fieldtype".
            Make sure you have at least the title mapping defined, because it will also be used to create the id of the item!"""
          ),
        default=[],
        required=True,
        value_type=schema.TextLine(),
    )

    directives.widget('mappings', TextLinesFieldWidget)
Пример #3
0
class INewsletterSubscriber(model.Schema):
    """Marker interface and Dexterity Python Schema for NewsletterSubscriber"""

    salutation = schema.Choice(
        title=_("EasyNewsletter_label_salutation", default="Salutation"),
        description=_("EasyNewsletter_help_salutation", default=""),
        vocabulary="Products.EasyNewsletter.Salutations",
        required=False,
    )

    name_prefix = schema.TextLine(
        title=_("EasyNewsletter_label_name_prefix", default="Name Prefix"),
        description=_("EasyNewsletter_help_name_prefix", default=""),
        default="",
        required=False,
    )

    firstname = schema.TextLine(
        title=_("EasyNewsletter_label_firstname", default="First Name"),
        required=False,
    )

    lastname = schema.TextLine(title=_("EasyNewsletter_label_lastname",
                                       default="Last Name"),
                               required=False)

    organization = schema.TextLine(
        title=_("EasyNewsletter_label_organization", default="Organization"),
        required=False,
    )

    email = schema.TextLine(title=_("EasyNewsletter_label_email",
                                    default="Email"),
                            required=True)
Пример #4
0
class IVoteEncoding(IEnhancedUserDataSchema):
    mail = schema.Email(title=_(u"Email"), required=False)

    form.widget(vote=RadioFieldWidget)
    vote = schema.Choice(title=_(u"Vote"),
                         required=True,
                         vocabulary=u"ideabox.vocabularies.vote")

    form.widget(project=MultiSelect2FieldWidget)
    project = schema.List(
        title=_(u"Project(s)"),
        value_type=schema.Choice(
            title=_(u"Project"),
            vocabulary=u"ideabox.vocabularies.projects",
        ),
        required=True,
    )
Пример #5
0
class IMapCategory(model.Schema):
    """
    """

    mapCategory = schema.Choice(
        title=_(u'Map Category'),
        vocabulary='alpha.content.MapCategory',
    )
Пример #6
0
class ILeadimagePortlet(IPortletDataProvider):
    image_size = schema.Choice(
        default="preview",
        vocabulary='medialog.leadimagesize.LeadImageSizeVocabulary',
        defaultFactory=lambda: api.portal.get_registry_record(
            'medialog.leadimagesize.interfaces.ILeadImageSizeSettings.leadsize'
        ),
    )
Пример #7
0
class ISendForm(Interface):
    channels = schema.List(
        title=_(u"send_channels_title", default=u"Channels"),
        description=_(
            u"send_channels_description",
            default=u"Select which channels should receive this Comunicato. "
            u"All email address subscribed to this channel will receive it. ",
        ),
        required=False,
        missing_value=(),
        value_type=schema.Choice(source="rer.ufficiostampa.vocabularies.channels"),
    )
    additional_addresses = schema.List(
        title=_(u"additional_addresses_title", default=u"Additional addresses"),
        description=_(
            u"additional_addresses_description",
            default=u"Insert a list of additional addressed that will receive "
            u"the mail. One per line. You can use this field also for testing "
            u"without sending emails to all subscribed addresses.",
        ),
        required=False,
        missing_value=(),
        value_type=schema.TextLine(),
        constraint=check_emails,
    )
    notes = schema.Text(
        title=_(u"notes_title", default=u"Notes"),
        description=_(
            u"notes_description",
            default=u"Additional notes.",
        ),
        required=False,
    )
    attachments = schema.List(
        title=_(u"send_attachments_title", default=u"Attachments"),
        description=_(
            u"send_attachments_description",
            default=u"Select which attachment you want to send via email. "
            u"You can only select first level Files and Images.",
        ),
        required=False,
        missing_value=(),
        value_type=schema.Choice(source="rer.ufficiostampa.vocabularies.attachments"),
        defaultFactory=default_attachments,
    )
Пример #8
0
class IUrlRowSchema(Interface):

    type = schema.Choice(
        title=_("Type"),
        source="imio.directory.vocabulary.SiteTypes",
        description=_(""),
        required=True,
    )

    url = schema.URI(title=_("Url"), required=True)
Пример #9
0
class IContact(IPrivateContactInformations, IContactInformations, IAddress):
    """ """

    directives.order_before(type="IBasic.title")
    directives.widget(type=RadioFieldWidget)
    type = schema.Choice(
        title=_("Type"),
        source="imio.directory.vocabulary.ContactTypes",
        required=True,
    )

    directives.order_after(subtitle="IBasic.title")
    subtitle = schema.TextLine(title=_("Subtitle"), required=False)

    logo = NamedBlobImage(title=_("Logo"), description=_(""), required=False)

    model.fieldset("categorization",
                   fields=["selected_entities", "facilities"])
    directives.widget(selected_entities=SelectFieldWidget)
    selected_entities = schema.List(
        title=_("Selected entities"),
        description=
        _("Select entities where this contact will be displayed. Current entity will always be selected."
          ),
        value_type=schema.Choice(
            vocabulary="imio.directory.vocabulary.EntitiesUIDs"),
        default=[],
        required=False,
    )

    facilities = schema.List(
        title=_("Facilities"),
        description=
        _("Important! These categories make it possible to highlight and geolocate certain basic services"
          ),
        value_type=schema.Choice(
            vocabulary="imio.directory.vocabulary.Facilities"),
        required=False,
    )
    directives.widget(facilities=SelectFieldWidget)

    read_permission(selected_entities="imio.directory.core.AddEntity")
    write_permission(selected_entities="imio.directory.core.AddEntity")
Пример #10
0
class ITsProcedure(model.Schema):
    """
    """
    directives.widget("procedures", SelectProcedureWidget)
    procedures = schema.Choice(
        vocabulary="imio.behavior.teleservices.vocabularies.remote_procedures",
        title=_(u"E-Guichet procedures"),
        required=False,
        default=None
    )
Пример #11
0
class IPloneUserGroupRecipients(model.Schema):
    """ """

    model.fieldset(
        "recipients",
        label=_("Recipients"),
        fields=["plone_receiver_members", "plone_receiver_groups"],
    )

    plone_receiver_members = schema.Set(
        title=_(
            "EasyNewsletter_label_ploneReceiverMembers",
            default="Plone Members to receive the newsletter",
        ),
        description=_(
            "EasyNewsletter_help_ploneReceiverMembers",
            default="Choose Plone Members which should receive \
                    the newsletter. Changing this setting does not affect \
                    already existing issues.",
        ),
        value_type=schema.Choice(
            vocabulary="Products.EasyNewsletter.PloneUsers"),
        required=False,
        defaultFactory=get_default_plone_receiver_members,
    )

    plone_receiver_groups = schema.Set(
        title=_(
            "EasyNewsletter_label_ploneReceiverGroups",
            default="Plone Groups to receive the newsletter",
        ),
        description=_(
            "EasyNewsletter_help_ploneReceiverGroups",
            default="Choose Plone Groups which should receive \
                    the newsletter. Changing this setting does not affect \
                    already existing issues.",
        ),
        value_type=schema.Choice(
            vocabulary="Products.EasyNewsletter.PloneGroups"),
        required=False,
        defaultFactory=get_default_plone_receiver_groups,
    )
Пример #12
0
class IBaseUser(IEmail):
    """"Membrane based based user Class."""
    first_name = schema.TextLine(title=_('First Name'), )
    last_name = schema.TextLine(title=_('Last name'))
    mfa = schema.Choice(title=_('Multi-factor authentication (MFA)'),
                        required=False,
                        vocabulary='mfa_types')
    oidc_enabled = schema.Bool(
        title=_('Is OpenID Connect enabled'),
        required=False,
    )
Пример #13
0
class IFocusArea(model.Schema):
    """
    """

    directives.widget(focusareas=SelectFieldWidget)
    focusareas = schema.List(
        title=u'Focus Areas',
        description=u'FOE Cluster Focus Areas',
        required=False,
        value_type=schema.Choice(vocabulary='foecluster.focusareas', ),
    )
Пример #14
0
class IPartners(model.Schema):
    """
    """

    directives.widget(partners=SelectFieldWidget)
    partners = schema.List(
        title=u'Partners',
        description=u'Partner(s) contributing to this resource',
        required=False,
        value_type=schema.Choice(vocabulary='foecluster.partners', ),
    )
Пример #15
0
class IClassificationFolder(IClassificationCategory):
    """ """

    form.widget(classification_folders=FolderAutocompleteMultiFieldWidget)
    classification_folders = schema.List(
        title=_(u"Classification folders"),
        description=_(
            u"List of folders / subfolders in which this content is filed"),
        value_type=schema.Choice(source=ClassificationFolderSourceBinder(), ),
        required=False,
    )
Пример #16
0
class INationalities(model.Schema):
    """
    """

    directives.widget(nationalities=SelectFieldWidget)
    nationalities = schema.List(
        title=u'Nationalities',
        description=u'Nationalities held by this individual',
        required=False,
        value_type=schema.Choice(
            vocabulary='collective.vocabularies.iso.countries', ),
    )
Пример #17
0
class INotizData(model.Schema):

    title = schema.TextLine(
        title=u'Titel der Notiz im Notizbuch')

    description = schema.Text(
        title=u'Frage, These oder Aufgabe zu der sich der Lernende eine Notiz machen soll')

    fieldformat = schema.Choice(
        title=u'Format des Eingabefeldes',
        vocabulary=input_vocabulary,
        default=u'Text')
Пример #18
0
class IResourceType(model.Schema):
    """
    """

    directives.widget(resource_type=SelectFieldWidget)
    resource_type = schema.Choice(
        title=_(u'Resource Type'),
        description=_(u'''
        
        '''),
        required=False,
        vocabulary='sinar.resource.ResourceType',
    )
Пример #19
0
class IEnhancedUserDataSchema(model.Schema):

    last_name = schema.TextLine(title=_(u"Last name or institution"),
                                required=True)

    first_name = schema.TextLine(title=_(u"First name"), required=False)

    address = schema.Text(title=_(u"Address"), required=False)

    gender = schema.Choice(title=_(u"Gender"),
                           required=True,
                           vocabulary=u"ideabox.vocabularies.gender")

    birthdate = schema.Date(title=_(u"Birthdate"), required=True)

    zip_code = schema.Choice(title=_(u"Zip code"),
                             required=True,
                             vocabulary=u"ideabox.vocabularies.zip_code")

    iam = schema.Choice(title=_(u"I am"),
                        required=True,
                        vocabulary=u"collective.taxonomy.iam")
Пример #20
0
class ICancelSubscriptionsForm(Interface):
    """  """

    channels = schema.List(
        title=_(
            u"manage_subscriptions_channels_title",
            default=u"Deselect the channels that you do not want to be "
            u"subscribed anymore.",
        ),
        description=u"",
        required=False,
        defaultFactory=getSubscriptions,
        missing_value=(),
        value_type=schema.Choice(source=subscriptionsVocabulary),
    )
    uid = schema.Int(readonly=True, defaultFactory=getUid)
Пример #21
0
class ITaxResidencies(model.Schema):
    """
    """

    directives.widget(taxResidencies=SelectFieldWidget)
    taxResidencies = schema.List(
            title=u'Tax Residencies',
            description=u'''
            Countries representing the tax residencies
            held by this individual.
            ''',
            required=False,
            value_type=schema.Choice(
                vocabulary='collective.vocabularies.iso.countries',
                ),
            )
Пример #22
0
class ISustainableDevelopmentGoals(model.Schema):
    """
    """

    sdgs = schema.List(
        title=_(u"SDG"),
        value_type=schema.Choice(
            vocabulary=u"collective.behavior.sdg.SDGsVocabulary",
            required=True,
        ),
        required=False,
    )

    form.widget('sdgs',
                linked_checkbox_field_widget,
                links_record='collective.behavior.sdg.sdgs')
Пример #23
0
class IMailRowSchema(Interface):

    label = schema.TextLine(
        title=_("Label (Secretariat, Manager office, Sales,...)"),
        description=_(""),
        required=False,
    )

    type = schema.Choice(
        title=_("Type"),
        source="imio.directory.vocabulary.MailTypes",
        description=_(""),
        required=True,
    )

    mail_address = schema.Email(title=_("E-mail"), required=True)
Пример #24
0
class IDocumentType(model.Schema):
    """
    """

    directives.widget(DocumentType=SelectFieldWidget)
    DocumentType = schema.List(
                title=_(u'Document Type'),
                description=_(u'''
                OCDS classification of the document
                '''),

                default=[],
                value_type=schema.Choice(
                    vocabulary='ocds.DocumentType'
                    ),
                required=False,
                )
class ICollectionAsNewsletterAggregationSource(model.Schema):
    """ """

    model.fieldset(
        "settings",
        label=_("Settings"),
        fields=["aggregation_template"],
    )

    aggregation_template = schema.Choice(
        title=_("Newsletter aggregation template"),
        description=
        _('The <a href="https://productseasynewsletter.readthedocs.io/en/latest/#aggregation-templates">aggregation template</a> used by the Newsletter to render Collection items for the Newsletter.'
          ),
        vocabulary="Products.EasyNewsletter.AggregationTemplates",
        # defaultFactory=get_default_aggregation_template,
        required=True,
    )
Пример #26
0
class IOptional(model.Schema):
    """
    """

    localLang = schema.TextLine(
        title=_(u'Local Language'),
        description=
        _(u'Format example: D20,Language Name,1,1,1/A01,Language Name,0,1,3/..., 0,0,0 or 0,1,3 mapping to primary-intermediate-advanced'
          ),
        required=False,
    )

    classTime = schema.List(title=_(u'Class Time'),
                            value_type=schema.Choice(
                                title=_(u"Class Time"),
                                vocabulary='apc.content.ClassTime',
                                required=False,
                            ),
                            required=False)
Пример #27
0
class IRegistrationForm(model.Schema):
    """"""

    email = schema.Email(title=_(u"Email address"), required=True)

    first_name = schema.TextLine(title=_(u"First name"), required=True)

    last_name = schema.TextLine(title=_(u"Last name"), required=True)

    number_of_people = schema.Int(title=_(u"Number of people"),
                                  required=True,
                                  default=1,
                                  min=1)

    period = schema.Choice(
        title=_(u"Period"),
        source="collective.registration.vocabularies.periods",
        required=True,
    )
Пример #28
0
class IPhoneRowSchema(Interface):

    label = schema.TextLine(
        title=_("Label (direction, Main number,...)"),
        description=_(""),
        required=False,
    )

    type = schema.Choice(
        title=_("Type"),
        source="imio.directory.vocabulary.PhoneTypes",
        description=_(""),
        required=True,
    )

    number = schema.TextLine(
        title=_("Number (format: +32475010203)"),
        required=True,
        constraint=phone_constraint,
    )
Пример #29
0
class IEnergyUnionMetadata(model.Schema):
    """IEnergyUnionMetadata."""

    resource_type = schema.Choice(
        title=u"Resource Type",
        required=False,
        missing_value='',
        default='',
        vocabulary='energy.resource_types',
    )

    meta_topics = schema.Tuple(
        title=u"Topics",
        value_type=schema.TextLine(),
        required=False,
        missing_value=(),
        default=(),
    )
    form.widget('meta_topics',
                AjaxSelectFieldWidget,
                vocabulary='energy.topics')
Пример #30
0
class ISEOFields(model.Schema):
    """
    """
    model.fieldset(
        'seofields',
        label=_(u'SEO'),
        fields=(
            'seo_title',
            'seo_description',
            'seo_robots'
        ),
    )

    seo_title = schema.TextLine(
        title=_(u"SEO Title"),
        description=_(u"Used in the web page <head> section title and "
                      u"browser tab instead of the default title."),
        required=False
    )

    seo_description = schema.Text(
        title=_(u"SEO Description"),
        description=_(u"Used as meta description field in the <head> section "
                      u"of a page instead of the default description."),
        required=False
    )

    seo_robots = schema.Choice(
        title=_(u'Metatag Robots'),
        description=_(u"Select options that hint search engines how "
                      u"to treat this content. Typically listings are to"
                      u"navigate the site, but add little to no value in it's "
                      u"own and should be set to 'noindex, follow'. In some"
                      u"cases you want a listing to be indexed. E.g. when"
                      u"publishing a Top 10 recipes list with extra content"
                      u"above and below the list, in which case you'd use"
                      u"'index,follow'."),
        vocabulary="seofields.robots",
        required=False
    )