コード例 #1
0
class IEntry(IContainer):
    """
    This interface is based on the Atom entry definition, from the Atom RFC.
    
    http://tools.ietf.org/html/rfc4287
    """

    # id is generated when we generate entry text

    title = schema.TextLine(title=u"Title", required=True)

    updated = schema.Datetime(title=u"Updated", required=True)

    published = schema.Datetime(title=u"Published", required=False)

    ##     authors = schema.List(title=u"Authors", value_type=schema.Object,
    ##                           default=[])

    ##     contributors = schema.List(title=u"Contributors", value_type=schema.Object,
    ##                                default=[])

    categories = schema.List(title=u"Categories",
                             value_type=schema.TextLine(title=u"Categories"),
                             default=[])

    #links = schema.List(title=u"Links", value_type=schema.TextLine,
    #                    default=[])

    summary = schema.SourceText(title=u"Summary", required=False)

    content = schema.SourceText(title=u"Content")
コード例 #2
0
class ILegislaturesRowSchema(model.Schema):
    legislature = schema.SourceText(
        title=_(
            "legislature_label",
            default=u"Legislature",
        ),
        description=_(
            "legislature_help",
            default=u"Insert the legislature name.",
        ),
        required=True,
    )
    arguments = schema.List(
        title=_(
            "legislature_arguments_label",
            default=u"Arguments",
        ),
        description=_(
            "legislature_arguments_help",
            default=u"Insert a list of arguments related to this legislature."
            u" One per line.",
        ),
        required=True,
        value_type=schema.TextLine(),
    )
コード例 #3
0
class IPasPluginsAuthomaticSettings(Interface):

    secret = schema.TextLine(
        title=_(u"Secret"),
        description=_('help_secret',
                      default=u"Some random string used to encrypt the state"),
        required=True,
        default=random_secret,
    )
    userid_factory_name = schema.Choice(
        vocabulary="pas.plugins.authomatic.userid_vocabulary",
        title=_(u"Generator for Plone User IDs."),
        description=_(
            "help_userid_factory_name",
            default=u"It is visible if no fullname is mapped and in some "
            u"rare cases in URLs. It is the identifier used for "
            u"the user inside Plone."),
        default='uuid')
    json_config = schema.SourceText(
        title=_(u"JSON configuration"),
        description=_('help_json_config',
                      default=u'Configuration parameters for the different '
                      u'authorization providers. Details at '
                      u'https://authomatic.github.io/authomatic/reference/'
                      u'providers.html '
                      u'- difference: "class_" has to be a string, which is '
                      u'then resolved as a dotted path. Also sections '
                      u'"display" and "propertymap" are special.'),
        required=True,
        constraint=validate_cfg_json,
        default=DEFAULT_CONFIG,
    )
コード例 #4
0
class ICourse(Interface):
    """A Course
    """
    #containers('.ICourseFolder')

    title = schema.TextLine(title=_(u"Course title"), required=True)

    description = schema.TextLine(
        title=_(u"Description"),
        description=_(u"Plain-text blurb about the course"))

    course_code = schema.ASCIILine(
        title=_(u"Course Code"),
        description=_(
            u"This should match the course code used by the booking system"),
        required=True)
    objetives = schema.SourceText(title=_(u"Objetives"),
                                  description=_(u"A objetives of the course"),
                                  required=True)

    start_date = schema.Date(
        title=_(u"Visible from"),
        description=_(u"Date when course first appears on the website"))

    end_date = schema.Date(
        title=_(u"Visible until"),
        description=_(u"Date when course last appears on the website"))

    category = schema.TextLine(title=_(u"Category"), required=True)
コード例 #5
0
class IErrorCodeValuePair(Interface):
    message = schema.ASCIILine(title=_(u"Error message"), required=True)
    message_snippet = schema.SourceText(title=_(u"Code to include"),
                                        required=False)
    position = schema.Choice(
        title=_(u"Include code in..."),
        required=True,
        default=u'footer',
        vocabulary=u"collective.analyticspanel.vocabularies.positions")
コード例 #6
0
class IClassifiedJob(Interface):
    """A Classified Job Post"""

    # -*- schema definition goes here -*-
#
    positiondescription = schema.Bytes(
        title=_(u"Position Description"),
        required=True,
        description=_(u"Upload a position description PDF"),
    )
#
    jobinfo = schema.SourceText(
        title=_(u"Job Information"),
        required=True,
        description=_(u""),
    )
#
    jobsummary = schema.SourceText(
        title=_(u"Summary"),
        required=True,
        description=_(u""),
    )
#
    jobduties = schema.SourceText(
        title=_(u"Job Duties"),
        required=True,
        description=_(u""),
    )
#
    jobskills = schema.SourceText(
        title=_(u"Job Knowledge, Skills and Abilities"),
        required=True,
        description=_(u""),
    )
#
    howtoapply = schema.SourceText(
        title=_(u"How to Apply"),
        required=True,
        description=_(u""),
    )
コード例 #7
0
class IZipContent(Interface):
    """A folder containing courses
    """
    title = schema.TextLine(title=_(u"Title"), required=True)

    description = schema.SourceText(
        title=_(u"Description"),
        description=_(u"A short summary of this folder"))

    filename = schema.Object(
        schema=INamedFile,
        title=_(u"Zip File"),
        description=_(u"The path of the zip package on your local machine."),
        required=False)
コード例 #8
0
class ISCO(Interface):
    """A folder containing courses
    """
    title = schema.TextLine(title=_(u"Title"), required=True)

    description = schema.SourceText(
        title=_(u"Description"),
        description=_(u"A short summary of this folder"))

    filename = schema.Object(
        schema=INamedFile,
        title=u"SCORM File",
        description=u"The name of the scrom package on your local machine.",
        required=False)
コード例 #9
0
class IPathkeyFinnishForm(Interface):
    """ Finnish pathkey content """

    pathkeyTitle_fi = schema.TextLine(
        title=_(u"Legend text"),
        description=_(u"You can give custom legend text"),
        required=False,
        default=u"Polkuavain",
    )

    pathkeyDescription_fi = schema.SourceText(
        title=_(u"Additional description for pathkey requester form"),
        required=False,
        default=
        u"Sisällön omistaja on estänyt pääsyn sisältöön. Anna oikea polkuavain jatkaaksesi.",
    )
コード例 #10
0
class IPathkeyEnglishForm(Interface):
    """ English pathkey content """

    pathkeyTitle_en = schema.TextLine(
        title=_(u"Legend text"),
        description=_(u"You can give custom legend text"),
        required=False,
        default=u"Pathkey",
    )

    pathkeyDescription_en = schema.SourceText(
        title=_(u"Additional description for pathkey requester form"),
        required=False,
        default=
        u"Access restricted by contents owner. Please give correct pathkey to continue.",
    )
コード例 #11
0
class ISitePathValuePair(Interface):
    path = schema.TextLine(title=_(u"Site path"), required=True)
    path_snippet = schema.SourceText(title=_(u"Code to include"),
                                     required=False)
    apply_to = schema.Choice(
        title=_(u"Apply rule to..."),
        description=_(
            'help_apply_to',
            default=u'Choose a policy for applying this rule.\n'
            u'When using "context and children" note that the rule will be '
            u'applied to the context and all non-folderish children.\n'
            u'This make sense only with folderish context.\n'
            u'See "Advanced settings" section for defining what is a folder '
            u'for your site.'),
        required=True,
        default=u'subtree',
        vocabulary=u"collective.analyticspanel.vocabularies.apply_to_choices")
コード例 #12
0
class IElevateSettings(model.Schema):
    """ """

    elevate_schema = schema.SourceText(
        title=_(u"elevate_schema_label", default=u"Elevate configuration"),
        description=_(
            u"elevate_schema_help",
            default=u"Insert a list of values for elevate.",
        ),
        required=False,
    )

    @invariant
    def elevate_invariant(data):
        schema = json.loads(data.elevate_schema)
        request = getRequest()
        words_mapping = [x["text"] for x in schema]
        for i, schema_item in enumerate(schema):
            elevate_text = schema_item.get("text", [])
            if not elevate_text:
                raise Invalid(
                    translate(
                        _(
                            "text_required_label",
                            default=
                            "Text field must be filled for Group ${id}.",
                            mapping=dict(id=i + 1),
                        ),
                        context=request,
                    ))
            for text in elevate_text:
                for words_i, words in enumerate(words_mapping):
                    if i == words_i:
                        # it's the current config
                        continue
                    if text in words:
                        raise Invalid(
                            translate(
                                _(
                                    "text_duplicated_label",
                                    default=
                                    '"${text}" is used in several groups.',
                                    mapping=dict(id=i, text=text),
                                ),
                                context=request,
                            ))
コード例 #13
0
class registroSchema(interface.Interface):

    nombre = schema.TextLine(title=_(u"Nombre de la Empresa"),
                             description=_(u"Nombre completeo de la Empresa"))

    username = schema.ASCIILine(
        title=_(u'Nombre de Usuario'),
        description=_(u"Ingrese el nombre de usuario, generalmente como \
                               Juan Perez. \
                               No use espacios ni caracteres especiales. \
                               Usernames and passwords are case sensiti."),
        required=True)

    telefono = schema.TextLine(title=_(u'Telefono'),
                               description=_(u'Telefono de la Empresa'),
                               required=True)

    email = schema.ASCIILine(title=_(u'Enter an email address'),
                             description=_(u'Su correo Electronico'),
                             required=True)

    direccion = schema.TextLine(
        title=_(u'Direccion'),
        description=_(u'Introdusca la Direccion Fisica de su Empresa'),
        required=False)

    descripcion = schema.SourceText(
        title=_(u"Perfil de la Empresa"),
        description=_(u"Agregue una breve descripcion"),
        required=False)

    password = schema.Password(title=_(u'Password'),
                               description=_(u'Minimo 5 caracteres.'),
                               required=True)

    password_ctl = schema.Password(
        title=_(u'Confirmar el Password'),
        description=_(u"Vuelva a Ingresar el password."),
        required=True)

    denominacion = schema.Choice(title=_(u'Denominacion'),
                                 values=[u'Publica', u'Privada'],
                                 default=u"Publica")
コード例 #14
0
class ISiteSchema(ILockSettings):

    site_title = schema.TextLine(
        title=_(u'Site title'),
        description=_(
            u"This shows up in the title bar of "
            u"browsers and in syndication feeds."),
        default=u'Plone site')

    site_logo = schema.ASCII(
        title=_(u"Site Logo"),
        description=_(u"This shows a custom Logo on your Site."),
        required=False,
    )

    exposeDCMetaTags = schema.Bool(
        title=_(u"Expose Dublin Core metadata"),
        description=_(u"Exposes the Dublin Core properties as metatags."),
        default=False,
        required=False)

    enable_sitemap = schema.Bool(
        title=_(u"Expose sitemap.xml.gz"),
        description=_(
            u"Exposes your content as a file "
            u"according to the sitemaps.org standard. You "
            u"can submit this to compliant search engines "
            u"like Google, Yahoo and Microsoft. It allows "
            u"these search engines to more intelligently "
            u"crawl your site."),
        default=False,
        required=False)

    webstats_js = schema.SourceText(
        title=_(u'JavaScript for web statistics support'),
        description=_(
            u"For enabling web statistics support "
            u"from external providers (for e.g. Google "
            u"Analytics). Paste the code snippets provided. "
            u"It will be included in the rendered HTML as "
            u"entered near the end of the page."),
        default=u'',
        required=False)
コード例 #15
0
class ISettings(Interface):
    """ Define settings data structure """

    style = schema.SourceText(
        title=_(u'Style'),
        description=_(u'Some style to be applied to playlist. CSS'),
        default=u'',
        required=False,
    )

    stylesheets = schema.List(
        title=_(u'Stylesheets'),
        description=
        _(u'Some stylesheets to be applied to playlist. e.g. https://fonts.googleapis.com/css?family=Ubuntu'
          ),  # noqa E501
        default=[],
        missing_value=None,
        required=False,
        value_type=schema.TextLine(),
    )
コード例 #16
0
class IRawEmbedTile(Schema):
    """ Raw Embed Tile
    """

    tile_title = schema.TextLine(
        title=_(u'Title'),
        description=_(u"""The title will also be used to create
            identifying class on that tile"""),
        required=True,
    )

    show_title = schema.Bool(
        title=_(u'Show tile title'),
        default=True
    )

    ignore_querystring('html_snippet')
    html_snippet = schema.SourceText(
        title=_(u"HTML Snippet"),
        description=_(u"""Be CAREFUL what you paste here, no security
            checks or transforms to safe_html will be done!"""),
        required=False,
    )
コード例 #17
0
class IRerSolrpushConf(model.Schema):
    """"""

    active = schema.Bool(
        title=_(u"Active"),
        description=_(u"Enable SOLR indexing on this site."),
        required=False,
        default=False,
    )

    force_commit = schema.Bool(
        title=_(u"Force commit"),
        description=
        _(u"Force commits on CRUD operations. If enabled, each indexing "
          u"operation to SOLR will be immediately committed and persisted. "
          u"This means that updates are immediately available on SOLR queries."  # noqa
          u"If you are using SolrCloud with ZooKeeper, immediate commits "
          u"will slow down response performances when indexing, so it's "
          u"better to turn it off. In this case updates will be available "
          u"when SOLR periodically commit changes."),
        required=False,
        default=True,
    )

    solr_url = schema.TextLine(
        title=_(u"SOLR url"),
        description=_(u"The SOLR core to connect to."),
        required=True,
    )

    frontend_url = schema.TextLine(
        title=_(u"Frontend url"),
        description=_(u"If the website has different URL for frontend users."),
        required=False,
    )

    enabled_types = schema.List(
        title=_(u"enabled_types_label", default=u"Enabled portal types"),
        description=_(
            u"enabled_types_help",
            default=u"Select a list of portal types to index in solr. "
            u"Empty list means that all portal types will be indexed.",
        ),
        required=False,
        default=[],
        missing_value=[],
        value_type=schema.Choice(
            vocabulary="plone.app.vocabularies.PortalTypes"),
    )

    index_fields = schema.SourceText(
        title=_(
            "index_fields_label",
            default=u"List of fields loaded from SOLR that we use for "
            u"indexing.",
        ),
        description=_(
            u"index_fields_help",
            default=u"We store this list for performance"
            u" reasons. If the configuration changes, you need to click on"
            u" Reload button",
        ),
        required=False,
    )
    # NASCOSTO DAL PANNELLO DI CONTROLLO (vedi: browser/controlpanel.py)
    ready = schema.Bool(
        title=_(u"Ready"),
        description=_(u"SOLR push is ready to be used."),
        required=False,
        default=False,
    )
コード例 #18
0
class IUnclassifiedJob(Interface):
    """Content type for unclassified positions"""

    # -*- schema definition goes here -*-
    positiondescription = schema.Bytes(
        title=_(u"Position Description"),
        required=True,
        description=_(u""),
    )
    #
    department = schema.TextLine(
        title=_(u"Department"),
        required=True,
        description=_(u""),
    )
    #
    responsibilities = schema.SourceText(
        title=_(u"Responsibilities"),
        required=True,
        description=_(u""),
    )
    #
    requirements = schema.SourceText(
        title=_(u"Requirements (Degree/Experience)"),
        required=True,
        description=_(u""),
    )
    #
    preferences = schema.SourceText(
        title=_(u"Preferences"),
        required=True,
        description=_(u""),
    )
    #
    startdate = schema.TextLine(
        title=_(u"Starting Date"),
        required=True,
        description=_(u""),
    )
    #
    salary = schema.Text(
        title=_(u"Salary"),
        required=True,
        description=_(u""),
    )
    #
    terms = schema.Text(
        title=_(u"Terms of Appointment"),
        required=True,
        description=_(u""),
    )
    #
    deadline = schema.TextLine(
        title=_(u"Application Deadline"),
        required=True,
        description=_(u""),
    )
    #
    howtoapply = schema.Text(
        title=_(u"How to Apply"),
        required=True,
        description=_(u""),
    )
コード例 #19
0
class IComment(Interface):
    date = schema.Datetime(title=u"Date", required=True)

    comment = schema.SourceText(title=u"Comment", required=True)

    author = schema.TextLine(title=u"Author", required=True)
コード例 #20
0
class IRestructuredTextEntry(IEntry):
    content = schema.SourceText(title=u"Content")
コード例 #21
0
ファイル: paste.py プロジェクト: saibatizoku/sg.pastebin
class IPaste(form.Schema):
    """ A content-type for source code snippets. """
    lexer = schema.Choice(title=_(u"Language"),
                          vocabulary=u"sg.pastebin.languages",
                          default='python')
    code = schema.SourceText(title=_(u"Source code"))
コード例 #22
0
class IRerUfficiostampaSettings(model.Schema):
    legislatures = schema.SourceText(
        title=_(
            "legislatures_label",
            default=u"List of legislatures",
        ),
        description=_(
            "legislatures_help",
            default=u"This is a list of all legislatures. The last one is the"
            u" one used to fill fields in a new Comunicato.",
        ),
        required=True,
    )

    subscription_channels = schema.List(
        title=_(u"subscription_channels_label",
                default=u"Subscription Channels"),
        description=_(
            u"subscription_channels_description",
            default=u"List of available subscription channels."
            u"One per line."
            u"These channels will be used for users subscriptions "
            u"and for select to which channel send a Comunicato.",
        ),
        required=True,
        default=[],
        missing_value=[],
        value_type=schema.TextLine(),
    )

    token_secret = schema.TextLine(
        title=_("token_secret_label", default=u"Token secret"),
        description=_(
            "token_secret_help",
            default=u"Insert the secret key for token generation.",
        ),
        required=True,
    )
    token_salt = schema.TextLine(
        title=_("token_salt_label", default=u"Token salt"),
        description=_(
            "token_salt_help",
            default=u"Insert the salt for token generation. This, in "
            u"conjunction with the secret, will generate unique tokens for "
            u"subscriptions management links.",
        ),
        required=True,
    )

    frontend_url = schema.TextLine(
        title=_("frontend_url_label", default=u"Frontend URL"),
        description=_(
            "frontend_url_help",
            default=u"If the frontend site is published with a different URL "
            u"than the backend, insert it here. All links in emails will be "
            u"converted with that URL.",
        ),
        required=False,
    )
    external_sender_url = schema.TextLine(
        title=_("external_sender_url_label", default=u"External sender URL"),
        description=_(
            "external_sender_url_help",
            default=u"If you want to send emails with an external tool "
            u"(rer.newsletterdispatcher.flask), insert the url of the service "
            u"here. If empty, all emails will be sent from Plone.",
        ),
        required=False,
    )

    css_styles = schema.SourceText(
        title=_(
            "css_styles_label",
            default=u"Styles",
        ),
        description=_(
            "css_styles_help",
            default=u"Insert a list of CSS styles for received emails.",
        ),
        required=True,
    )
    comunicato_number = schema.Int(
        title=_(
            "comunicato_number_label",
            default=u"Comunicato number",
        ),
        description=_(
            "comunicato_number_help",
            default=u"The number of last sent Comunicato. You don't have to "
            "edit this. It's automatically updated when a Comunicato is published.",  # noqa
        ),
        required=True,
        default=0,
    )
    comunicato_year = schema.Int(
        title=_(
            "comunicato_year_label",
            default=u"Comunicato year",
        ),
        description=_(
            "comunicato_year_help",
            default=u"You don't have to edit this. It's automatically updated"
            u" on every new year.",
        ),
        required=True,
        default=2021,
    )
コード例 #23
0
class IRerSolrpushConf(model.Schema):
    """
    """

    active = schema.Bool(
        title=_(u"Active"),
        description=_(u"Enable SOLR indexing on this site."),
        required=False,
        default=False,
    )

    solr_url = schema.TextLine(
        title=_(u"SOLR url"),
        description=_(u"The SOLR core to connect to."),
        required=True,
    )

    frontend_url = schema.TextLine(
        title=_(u"Frontend url"),
        description=_(u"If the website has different URL for frontend users."),
        required=False,
    )

    enabled_types = schema.List(
        title=_(u'enabled_types_label', default=u'Enabled portal types'),
        description=_(
            u'enabled_types_help',
            default=u'Select a list of portal types to index in solr. '
            u'Empty list means that all portal types will be indexed.',
        ),
        required=False,
        default=[],
        missing_value=[],
        value_type=schema.Choice(
            vocabulary='plone.app.vocabularies.PortalTypes'
        ),
    )

    # elevate_xml = schema.Text(
    #     title=u'Configurazione elevate',
    #     description=u'Inserisci una configurazione per l\'elevate come '
    #     u'se fosse un file xml.',
    #     required=False,
    #     constraint=elevateConstraint,
    # )

    # enable_query_debug = schema.Bool(
    #     title=u'Abilita il debug delle query solr',
    #     description=u'Se selezionato, mostra la query effettuata su solr, '
    #     u'per il debug. Solo per gli amministratori del sito.',
    #     required=False,
    # )

    # directives.widget(index_fields=SolrFieldsFieldWidget)
    index_fields = schema.SourceText(
        title=_(
            'index_fields_label',
            default=u'List of fields loaded from SOLR that we use for indexing.',
        ),
        description=_(
            u'index_fields_help',
            default=u'We store this list for performance'
            u' reasons. If the configuration changes, you need to click on'
            u' Reload button',
        ),
        required=False,
    )

    # NASCOSTO DAL PANNELLO DI CONTROLLO (vedi: browser/controlpanel.py)
    ready = schema.Bool(
        title=_(u"Ready"),
        description=_(u"SOLR push is ready to be used."),
        required=False,
        default=False,
    )
コード例 #24
0
class IThemeSettings(Interface):
    """Transformation settings
    """

    enabled = schema.Bool(
        title=_('enabled', u"Enabled"),
        description=_(
            'enable_theme_globally',
            u"Use this option to enable or disable the theme globally. "
            u"Note that the options will also affect whether the theme "
            u"is used when this option is enabled."),
        required=True,
        default=False,
    )

    currentTheme = schema.TextLine(
        title=_('current_theme', u"Current theme"),
        description=_(
            'current_theme_description',
            u"The name of the current theme, i.e. the one applied most "
            u"recently."),
        required=True,
    )

    rules = schema.TextLine(
        title=_('rules_file', u"Rules file"),
        description=_('rules_file_path', u"File path to the rules file"),
        required=False,
    )

    absolutePrefix = schema.TextLine(
        title=_('absolute_url_prefix', u"Absolute URL prefix"),
        description=_(
            'convert_relative_url',
            u"Convert relative URLs in the theme file to absolute paths "
            u"using this prefix."),
        required=False,
    )

    readNetwork = schema.Bool(
        title=_('readNetwork', u"Read network"),
        description=_(
            'network_urls_allowed',
            u"If enabled, network (http, https) urls are allowed in "
            u"the rules file and this config."),
        required=True,
        default=False,
    )

    hostnameBlacklist = schema.List(
        title=_('hostname_blacklist', u"Unthemed host names"),
        description=_(
            'hostname_blacklist_description',
            u"If there are hostnames that you do not want to be themed, you "
            u"can list them here. This is useful during theme development, "
            u"so that you can compare the themed and unthemed sites. In some "
            u"cases, you may also want to provided an unthemed host alias for "
            u"content administrators to be able to use 'plain' Plone."),
        value_type=schema.TextLine(),
        required=False,
        default=["127.0.0.1"],
    )

    parameterExpressions = schema.Dict(
        title=_('parameter_expressions', u"Parameter expressions"),
        description=_(
            'parameter_expressions_description',
            u"You can define parameters here, which will be passed to the "
            u"compiled theme. In your rules file, you can refer to a "
            u"parameter by $name. Parameters are defined using TALES "
            u"expressions, which should evaluate to a string, a number, a "
            u"boolean or None. Available variables are `context`, `request`, "
            u"`portal`, `portal_state`,  and `context_state`."),
        key_type=schema.ASCIILine(),
        value_type=schema.ASCIILine(),
        required=False,
        default={},
    )

    doctype = schema.ASCIILine(
        title=_('doctype', u"Doctype"),
        description=_(
            'doctype_description',
            u'You can specify a Doctype string which will be set on the '
            u'for example "<!DOCTYPE html>". If left blank the default XHTML '
            u'1.0 transitional Doctype or that set in the Diazo theme is used.'
        ),
        required=False,
        default="",
    )

    custom_css = schema.SourceText(
        title=_(
            'label_custom_css',
            u'Custom CSS',
        ),
        description=_(
            'help_custom_css',
            u'Define your own custom CSS in the field below. This is a good '
            u'place for quick customizations of things like colors and the '
            u'toolbar. Definitions here will override previously defined CSS '
            u'of Plone. Please use this only for small customizations, as it '
            u'is hard to keep track of changes here. For bigger changes you most '
            u'likely want to customize a full theme and make your changes '
            u'there.',
        ),
        default=u"",
        required=False,
    )

    custom_css_timestamp = schema.Datetime(
        title=_(u'Custom CSS Timestamp', ),
        description=_(
            u'Time stamp when the custom CSS was changed. '
            u'Used to generate custom.css with timestamp in URL.', ),
        defaultFactory=get_default_custom_css_timestamp,
        required=False,
    )
コード例 #25
0
class ISiteSchema(ILockSettings):

    site_title = schema.TextLine(
        title=_(u'Site title'),
        description=_(
            u"This shows up in the title bar of "
            u"browsers and in syndication feeds."),
        default=u'Plone site')

    site_logo = schema.ASCII(
        title=_(u"Site Logo"),
        description=_(u"This shows a custom Logo on your Site."),
        required=False,
    )

    exposeDCMetaTags = schema.Bool(
        title=_(u"Expose Dublin Core metadata"),
        description=_(u"Exposes the Dublin Core properties as metatags."),
        default=False,
        required=False)

    enable_sitemap = schema.Bool(
        title=_(u"Expose sitemap.xml.gz"),
        description=_(
            u"Exposes your content as a file "
            u"according to the sitemaps.org standard. You "
            u"can submit this to compliant search engines "
            u"like Google, Yahoo and Microsoft. It allows "
            u"these search engines to more intelligently "
            u"crawl your site."),
        default=False,
        required=False)

    webstats_js = schema.SourceText(
        title=_(u'JavaScript for web statistics support'),
        description=_(
            u"For enabling web statistics support "
            u"from external providers (for e.g. Google "
            u"Analytics). Paste the code snippets provided. "
            u"It will be included in the rendered HTML as "
            u"entered near the end of the page."),
        default=u'',
        required=False)

    toolbar_position = schema.Choice(
        title=_(u'Position where the toolbar is displayed'),
        description=_(
            u"It can be in the side vertical mode "
            u"or in the top horizontal mode"),
        default=u'side',
        vocabulary=SimpleVocabulary([
            SimpleTerm('side', 'side', _(u"Side")),
            SimpleTerm('top', 'top', _(u"Top"))]),
        required=True)

    toolbar_logo = schema.TextLine(
        title=_(u"Site based relative url for toolbar logo"),
        description=_(
            u"This must be a relative url to portal root site. "
            u"By default its /++plone++static/plone-toolbarlogo.svg"),
        default=u'/++plone++static/plone-toolbarlogo.svg',
        required=False,
    )
コード例 #26
0
class IErrorCodeValuePair(Interface):
    message = schema.ASCIILine(title=_(u"Error message"), required=True)
    message_snippet = schema.SourceText(title=_(u"Code to include"),
                                        required=False)
コード例 #27
0
class IExample(model.Schema):
    """Dexterity-Schema with all field-types."""

    # The most used fields
    # textline, text, bool, richtext, email

    fieldset(
        "numberfields",
        label=u"Number fields",
        fields=("int_field", "float_field"),
    )

    fieldset(
        "datetimefields",
        label=u"Date and time fields",
        fields=(
            "datetime_field",
            "date_field",
            "time_field",
            "timedelta_field",
        ),
    )

    fieldset(
        "choicefields",
        label=u"Choice and Multiple Choice fields",
        fields=(
            "choice_field",
            "choice_field_radio",
            "choice_field_select",
            "choice_field_voc",
            "list_field",
            "list_field_checkbox",
            "list_field_select",
            "list_field_voc_unconstrained",
            "tuple_field",
            "set_field",
            "set_field_checkbox",
        ),
    )

    fieldset(
        "relationfields",
        label=u"Relation fields",
        fields=(
            "relationchoice_field",
            "relationlist_field",
            "relationchoice_field_constrained",
            "relationlist_field_constrained",
            "relationlist_field_search_mode",
            "relationchoice_field_select",
            "relationchoice_field_radio",
            "relationlist_field_select",
            "relationlist_field_checkbox",
            "relationchoice_field_ajax_select",
            "relationlist_field_ajax_select",
        ),
    )

    fieldset(
        "uuidrelationfields",
        label=u"Relation widgets with uuids",
        fields=(
            "uuid_choice_field",
            "uuid_list_field",
            "uuid_choice_field_constrained",
            "uuid_list_field_constrained",
            "uuid_list_field_search_mode",
            "uuid_choice_field_select",
            "uuid_choice_field_radio",
            "uuid_list_field_select",
            "uuid_list_field_checkbox",
            "uuid_choice_field_ajax_select",
            "uuid_list_field_ajax_select",
        ),
    )

    fieldset(
        "filefields",
        label=u"File fields",
        fields=("file_field", "image_field"),
    )

    fieldset(
        "otherfields",
        label=u"Other fields",
        fields=(
            "uri_field",
            "sourcetext_field",
            "ascii_field",
            "bytesline_field",
            "asciiline_field",
            "pythonidentifier_field",
            "dottedname_field",
            # 'dict_field',
            # "vocabularyterms_field",
            # "vocabularytermstranslation_field",
            # 'dict_field_with_choice',
        ),
    )

    fieldset(
        "datagrid",
        label=u"Datagrid field",
        fields=("datagrid_field", ),
    )

    primary("title")
    title = schema.TextLine(
        title=u"Primary Field (Textline)",
        description=u"zope.schema.TextLine",
        required=True,
    )

    description = schema.TextLine(
        title=u"Description (Textline)",
        description=u"zope.schema.TextLine",
        required=False,
    )

    text_field = schema.Text(
        title=u"Text Field",
        description=u"zope.schema.Text",
        required=False,
        missing_value=u"",
    )

    textline_field = schema.TextLine(
        title=u"Textline field",
        description=u"A simple input field (schema.TextLine)",
        required=False,
    )

    bool_field = schema.Bool(
        title=u"Boolean field",
        description=u"zope.schema.Bool",
        required=False,
    )

    choice_field = schema.Choice(
        title=u"Choice field",
        description=u"zope.schema.Choice",
        values=[u"One", u"Two", u"Three"],
        required=True,
    )

    directives.widget(choice_field_radio=RadioFieldWidget)
    choice_field_radio = schema.Choice(
        title=u"Choice field with radio boxes",
        description=u"zope.schema.Choice",
        values=[u"One", u"Two", u"Three"],
        required=False,
    )

    choice_field_voc = schema.Choice(
        title=u"Choicefield with values from named vocabulary",
        description=u"zope.schema.Choice",
        vocabulary="plone.app.vocabularies.PortalTypes",
        required=False,
    )

    directives.widget(choice_field_select=SelectFieldWidget)
    choice_field_select = schema.Choice(
        title=u"Choicefield with select2 widget",
        description=u"zope.schema.Choice",
        vocabulary="plone.app.vocabularies.PortalTypes",
        required=False,
    )

    list_field = schema.List(
        title=u"List field",
        description=u"zope.schema.List",
        value_type=schema.Choice(
            values=[u"Beginner", u"Advanced", u"Professional"], ),
        required=False,
        missing_value=[],
    )

    directives.widget(list_field_checkbox=CheckBoxFieldWidget)
    list_field_checkbox = schema.List(
        title=u"List field with checkboxes",
        description=u"zope.schema.List",
        value_type=schema.Choice(
            values=[u"Beginner", u"Advanced", u"Professional"], ),
        required=False,
        missing_value=[],
    )

    directives.widget(list_field_select=SelectFieldWidget)
    list_field_select = schema.List(
        title=u"List field with select widget",
        description=u"zope.schema.List",
        value_type=schema.Choice(
            values=[u"Beginner", u"Advanced", u"Professional"], ),
        required=False,
        missing_value=[],
    )

    list_field_voc_unconstrained = schema.List(
        title=
        u"List field with values from vocabulary but not constrained to them.",
        description=u"zope.schema.List",
        value_type=schema.TextLine(),
        required=False,
        missing_value=[],
    )
    directives.widget(
        "list_field_voc_unconstrained",
        AjaxSelectFieldWidget,
        vocabulary="plone.app.vocabularies.PortalTypes",
        pattern_options={
            "closeOnSelect":
            False,  # Select2 option to leave dropdown open for multiple selection
        },
    )

    tuple_field = schema.Tuple(
        title=u"Tuple field",
        description=u"zope.schema.Tuple",
        value_type=schema.Choice(
            values=[u"Beginner", u"Advanced", u"Professional"], ),
        required=False,
        missing_value=(),
    )

    set_field = schema.Set(
        title=u"Set field",
        description=u"zope.schema.Set",
        value_type=schema.Choice(
            values=[u"Beginner", u"Advanced", u"Professional"], ),
        required=False,
        missing_value={},
    )

    directives.widget(set_field_checkbox=CheckBoxFieldWidget)
    set_field_checkbox = schema.Set(
        title=u"Set field with checkboxes",
        description=u"zope.schema.Set",
        value_type=schema.Choice(
            values=[u"Beginner", u"Advanced", u"Professional"], ),
        required=False,
        missing_value={},
    )

    # File fields
    image_field = NamedBlobImage(
        title=u"Image field",
        description=
        u"A upload field for images (plone.namedfile.field.NamedBlobImage)",
        required=False,
    )

    file_field = NamedBlobFile(
        title=u"File field",
        description=
        u"A upload field for files (plone.namedfile.field.NamedBlobFile)",
        required=False,
    )

    # Date and Time fields
    datetime_field = schema.Datetime(
        title=u"Datetime field",
        description=u"Uses a date and time picker (zope.schema.Datetime)",
        required=False,
    )

    date_field = schema.Date(
        title=u"Date field",
        description=u"Uses a date picker (zope.schema.Date)",
        required=False,
    )

    time_field = schema.Time(
        title=u"Time field",
        description=u"zope.schema.Time",
        required=False,
    )

    timedelta_field = schema.Timedelta(
        title=u"Timedelta field",
        description=u"zope.schema.Timedelta",
        required=False,
    )

    # Relation Fields
    relationchoice_field = RelationChoice(
        title=u"Relationchoice field",
        description=u"z3c.relationfield.schema.RelationChoice",
        vocabulary="plone.app.vocabularies.Catalog",
        required=False,
    )

    relationlist_field = RelationList(
        title=u"Relationlist Field",
        description=u"z3c.relationfield.schema.RelationList",
        default=[],
        value_type=RelationChoice(vocabulary="plone.app.vocabularies.Catalog"),
        required=False,
        missing_value=[],
    )

    relationchoice_field_constrained = RelationChoice(
        title=u"Relationchoice field (only allows Documents)",
        description=u"z3c.relationfield.schema.RelationChoice",
        vocabulary="plone.app.vocabularies.Catalog",
        required=False,
    )
    directives.widget(
        "relationchoice_field_constrained",
        RelatedItemsFieldWidget,
        pattern_options={"selectableTypes": ["Document"]},
    )

    relationlist_field_constrained = RelationList(
        title=u"Relationlist Field (only allows Documents and Events)",
        description=u"z3c.relationfield.schema.RelationList",
        default=[],
        value_type=RelationChoice(vocabulary="plone.app.vocabularies.Catalog"),
        required=False,
        missing_value=[],
    )
    directives.widget(
        "relationlist_field_constrained",
        RelatedItemsFieldWidget,
        pattern_options={"selectableTypes": ["Document", "Event"]},
    )

    relationlist_field_search_mode = RelationList(
        title=
        u"Relationlist Field in Search Mode (constrained to published Documents and Events)",
        description=u"z3c.relationfield.schema.RelationList",
        default=[],
        value_type=RelationChoice(source=CatalogSource(
            portal_type=["Document", "Event"], review_state="published")),
        required=False,
        missing_value=[],
    )
    directives.widget(
        "relationlist_field_search_mode",
        RelatedItemsFieldWidget,
        pattern_options={
            "baseCriteria":
            [  # This is a optimization that limits the catalog-query
                {
                    "i": "portal_type",
                    "o": "plone.app.querystring.operation.selection.any",
                    "v": ["Document", "Event"],
                },
                {
                    "i": "review_state",
                    "o": "plone.app.querystring.operation.selection.any",
                    "v": "published",
                },
            ],
            "mode":
            "search",
        },
    )

    # From here on we use other widgets than the default RelatedItemsFieldWidget

    # This one also works in Volto!
    # All other options use the default ObjectWidget in Volto so far.
    relationchoice_field_select = RelationChoice(
        title=u"RelationChoice with Select Widget",
        vocabulary=StaticCatalogVocabulary({
            "portal_type": ["Document", "Event"],
            "review_state": "published",
        }),
        required=False,
    )
    directives.widget(
        "relationchoice_field_select",
        SelectFieldWidget,
    )

    relationchoice_field_radio = RelationChoice(
        title=
        u"RelationChoice with Radio Widget (and customized title-template)",
        vocabulary=StaticCatalogVocabulary(
            {
                "portal_type": ["Document", "Event"],
                "review_state": "published",
            },
            title_template="{brain.Title}",
        ),  # Set a custom vocabulary item title
        required=False,
    )
    directives.widget(
        "relationchoice_field_radio",
        RadioFieldWidget,
    )

    relationlist_field_select = RelationList(
        title=
        u"RelationList with select widget with items from a named vocabulary",
        value_type=RelationChoice(
            vocabulary="example.vocabularies.documents", ),
        required=False,
    )
    directives.widget(
        "relationlist_field_select",
        SelectFieldWidget,
        pattern_options={
            "closeOnSelect":
            False,  # Select2 option to leave dropdown open for multiple selection
        },
    )

    relationlist_field_checkbox = RelationList(
        title=u"RelationList with Checkboxes",
        value_type=RelationChoice(
            vocabulary="example.vocabularies.documents", ),
        required=False,
    )
    directives.widget(
        "relationlist_field_checkbox",
        CheckBoxFieldWidget,
    )

    relationchoice_field_ajax_select = RelationChoice(
        title=u"Relationchoice Field with AJAXSelect",
        description=u"z3c.relationfield.schema.RelationChoice",
        vocabulary=StaticCatalogVocabulary({
            "portal_type": ["Document", "Event"],
        }),
        required=False,
    )
    directives.widget(
        "relationchoice_field_ajax_select",
        AjaxSelectFieldWidget,
        vocabulary=StaticCatalogVocabulary({
            "portal_type": ["Document", "Event"],
        }),
        pattern_options={  # Options for Select2
            "minimumInputLength":
            2,  # - Don't query until at least two characters have been typed
            "ajax": {
                "quietMillis": 500
            },  # - Wait 500ms after typing to make query
        },
    )

    relationlist_field_ajax_select = RelationList(
        title=u"Relationlist Field with AJAXSelect",
        description=u"z3c.relationfield.schema.RelationList",
        value_type=RelationChoice(vocabulary=StaticCatalogVocabulary({
            "portal_type": ["Document", "Event"],
            "review_state":
            "published",
        })),
        required=False,
    )
    directives.widget(
        "relationlist_field_ajax_select",
        AjaxSelectFieldWidget,
        vocabulary=StaticCatalogVocabulary(
            {
                "portal_type": ["Document", "Event", "Folder"],
            },
            title_template="{brain.Type}: {brain.Title} at {path}",
        ),  # Custom item rendering
        pattern_options={  # Options for Select2
            "minimumInputLength":
            2,  # - Don't query until at least two characters have been typed
            "ajax": {
                "quietMillis": 500
            },  # - Wait 500ms after typing to make query
        },
    )

    # These look like relationsfields (see above) but only store the uuid(s) of the selected target
    # as a string in a the field instead of a RelationValue.
    # A good way to use these is in combination with a index that allows you to query these connenctions.
    uuid_choice_field = schema.Choice(
        title=u"Choice field with RelatedItems widget storing uuids",
        description=u"schema.Choice",
        vocabulary="plone.app.vocabularies.Catalog",
        required=False,
    )
    directives.widget("uuid_choice_field", RelatedItemsFieldWidget)

    uuid_list_field = schema.List(
        title=u"List Field with RelatedItems widget storing uuids",
        description=u"schema.List",
        default=[],
        value_type=schema.Choice(vocabulary="plone.app.vocabularies.Catalog"),
        required=False,
        missing_value=[],
    )
    directives.widget("uuid_list_field", RelatedItemsFieldWidget)

    uuid_choice_field_constrained = schema.Choice(
        title=
        u"Choice field with RelatedItems widget storing uuids (only allows Documents)",
        description=u"schema.Choice",
        vocabulary="plone.app.vocabularies.Catalog",
        required=False,
    )
    directives.widget(
        "uuid_choice_field_constrained",
        RelatedItemsFieldWidget,
        pattern_options={"selectableTypes": ["Document"]},
    )

    uuid_list_field_constrained = schema.List(
        title=
        u"List Field with RelatedItems widget storing uuids (only allows Documents and Events)",
        description=u"schema.List",
        default=[],
        value_type=schema.Choice(vocabulary="plone.app.vocabularies.Catalog"),
        required=False,
        missing_value=[],
    )
    directives.widget(
        "uuid_list_field_constrained",
        RelatedItemsFieldWidget,
        pattern_options={"selectableTypes": ["Document", "Folder"]},
    )

    uuid_list_field_search_mode = schema.List(
        title=
        u"List Field with RelatedItems widget in Search Mode storing uuids",
        description=u"schema.List",
        default=[],
        value_type=schema.Choice(source=CatalogSource(
            portal_type=["Document", "Event"], review_state="published")),
        required=False,
        missing_value=[],
    )
    directives.widget(
        "uuid_list_field_search_mode",
        RelatedItemsFieldWidget,
        pattern_options={
            "selectableTypes": ["Document", "Folder"],
            "basePath": "",  # Start the search at the portal root
            "mode": "search",
        },
    )

    # From here on we use other widgets than the default RelatedItemsFieldWidget

    uuid_choice_field_select = schema.Choice(
        title=u"UUID Choice with select widget storing uuids",
        vocabulary=StaticCatalogVocabulary({
            "portal_type": ["Document", "Event"],
            "review_state": "published",
        }),
        required=False,
    )
    directives.widget(
        "uuid_choice_field_select",
        SelectFieldWidget,
    )

    uuid_choice_field_radio = schema.Choice(
        title=u"RelationChoice with Radio widget storing uuids",
        vocabulary=StaticCatalogVocabulary(
            {
                "portal_type": ["Document", "Event"],
                "review_state": "published",
            },
            title_template="{brain.Title}",
        ),  # Set a custom vocabulary item title
        required=False,
    )
    directives.widget(
        "uuid_choice_field_radio",
        RadioFieldWidget,
    )

    uuid_list_field_select = schema.List(
        title=
        u"RelationList with select widget with items from a named vocabulary storing uuids",
        value_type=schema.Choice(
            vocabulary="example.vocabularies.documents", ),
        required=False,
    )
    directives.widget(
        "uuid_list_field_select",
        SelectFieldWidget,
        pattern_options={
            "closeOnSelect":
            False,  # Select2 option to leave dropdown open for multiple selection
        },
    )

    uuid_list_field_checkbox = schema.List(
        title=u"RelationList with Checkboxes storing uuids",
        value_type=schema.Choice(
            vocabulary="example.vocabularies.documents", ),
        required=False,
    )
    directives.widget(
        "uuid_list_field_checkbox",
        CheckBoxFieldWidget,
    )

    uuid_choice_field_ajax_select = schema.Choice(
        title=u"Relationchoice Field with AJAXSelect storing uuids",
        description=u"z3c.relationfield.schema.RelationChoice",
        vocabulary=StaticCatalogVocabulary({
            "portal_type": ["Document", "Event"],
        }),
        required=False,
    )
    directives.widget(
        "uuid_choice_field_ajax_select",
        AjaxSelectFieldWidget,
        vocabulary=StaticCatalogVocabulary({
            "portal_type": ["Document", "Event"],
        }),
        pattern_options={  # Options for Select2
            "minimumInputLength":
            2,  # - Don't query until at least two characters have been typed
            "ajax": {
                "quietMillis": 500
            },  # - Wait 500ms after typing to make query
        },
    )

    uuid_list_field_ajax_select = schema.List(
        title=u"Relationlist Field with AJAXSelect storing uuids",
        description=u"z3c.relationfield.schema.RelationList",
        value_type=schema.Choice(vocabulary=StaticCatalogVocabulary({
            "portal_type": ["Document", "Event"],
            "review_state":
            "published",
        })),
        required=False,
    )
    directives.widget(
        "uuid_list_field_ajax_select",
        AjaxSelectFieldWidget,
        vocabulary=StaticCatalogVocabulary(
            {
                "portal_type": ["Document", "Event"],
            },
            title_template="{brain.Type}: {brain.Title} at {path}",
        ),  # Custom item rendering
        pattern_options={  # Options for Select2
            "minimumInputLength":
            2,  # - Don't query until at least two characters have been typed
            "ajax": {
                "quietMillis": 500
            },  # - Wait 500ms after typing to make query
            "closeOnSelect":
            False,  # - Leave dropdown open for multiple selection
        },
    )

    # Number fields
    int_field = schema.Int(
        title=u"Integer Field (e.g. 12)",
        description=u"zope.schema.Int",
        required=False,
    )

    float_field = schema.Float(
        title=u"Float field, e.g. 12.7",
        description=u"zope.schema.Float",
        required=False,
    )

    # Text fields
    email_field = Email(
        title=u"Email field",
        description=
        u"A simple input field for a email (plone.schema.email.Email)",
        required=False,
    )

    uri_field = schema.URI(
        title=u"URI field",
        description=u"A simple input field for a URLs (zope.schema.URI)",
        required=False,
    )

    richtext_field = RichText(
        title=u"RichText field",
        description=
        u"This uses a richtext editor. (plone.app.textfield.RichText)",
        max_length=2000,
        required=False,
    )

    sourcetext_field = schema.SourceText(
        title=u"SourceText field",
        description=u"zope.schema.SourceText",
        required=False,
    )

    ascii_field = schema.ASCII(
        title=u"ASCII field",
        description=u"zope.schema.ASCII",
        required=False,
    )

    bytesline_field = schema.BytesLine(
        title=u"BytesLine field",
        description=u"zope.schema.BytesLine",
        required=False,
    )

    asciiline_field = schema.ASCIILine(
        title=u"ASCIILine field",
        description=u"zope.schema.ASCIILine",
        required=False,
    )

    pythonidentifier_field = schema.PythonIdentifier(
        title=u"PythonIdentifier field",
        description=u"zope.schema.PythonIdentifier",
        required=False,
    )

    dottedname_field = schema.DottedName(
        title=u"DottedName field",
        description=u"zope.schema.DottedName",
        required=False,
    )

    # dict_field = schema.Dict(
    #     title=u'Dict field',
    #     description=u"zope.schema.Dict",
    #     required=False,
    #     key_type=schema.TextLine(
    #         title=u'Key',
    #         required=False,
    #     ),
    #     value_type=schema.TextLine(
    #         title=u'Value',
    #         required=False,
    #     ),
    # )

    # vocabularyterms_field = Dict(  # we use the plone.schema field Dict not zope.schema field to use the attribute 'widget'
    #     title=u"Vocabulary terms field",
    #     description=u"plone.schema.Dict field with value_type schema.TextLine and frontend widget 'VocabularyTermsWidget'",
    #     required=False,
    #     key_type=schema.TextLine(
    #         title=u"Key",
    #         required=False,
    #     ),
    #     value_type=schema.TextLine(
    #         title=u"Value",
    #         required=False,
    #     ),
    #     widget="vocabularyterms",  # we use the widget attribute to apply the frontend widget VocabularyWidget
    # )

    # vocabularytermstranslation_field = Dict(  # we use the plone.schema field Dict not zope.schema field to use the attribute 'widget'
    #     title=u"Vocabulary terms field with translations",
    #     description=u"plone.schema.Dict field with value_type Dict and frontend widget 'VocabularyTermsWidget'",
    #     required=False,
    #     key_type=schema.TextLine(
    #         title=u"Key",
    #         required=False,
    #     ),
    #     value_type=Dict(  # we use the plone.schema field Dict not zope.schema field to use the attribute 'widget'
    #         title=u"Term translation",
    #         description=u"plone.schema.Dict field for translations of vocabulary term",
    #         required=True,
    #         key_type=schema.TextLine(
    #             title=u"Key",
    #             required=False,
    #         ),
    #         value_type=schema.TextLine(
    #             title=u"Value",
    #             required=False,
    #         ),
    #     ),
    #     widget="vocabularyterms",  # we use the widget attribute to apply the frontend widget VocabularyWidget
    # )

    # dict_field_with_choice = schema.Dict(
    #     title=u'Dict field with key and value as choice',
    #     description=u"zope.schema.Dict",
    #     required=False,
    #     key_type=schema.Choice(
    #         title=u'Key',
    #         values=[u'One', u'Two', u'Three'],
    #         required=False,
    #         ),
    #     value_type=schema.Set(
    #         title=u'Value',
    #         value_type=schema.Choice(
    #             values=[u'Beginner', u'Advanced', u'Professional'],
    #             ),
    #         required=False,
    #         missing_value={},
    #         ),
    #     )

    datagrid_field = schema.List(
        title=u"Datagrid field",
        description=u"schema.List",
        value_type=DictRow(title=u"Table", schema=IMyRowSchema),
        default=[],
        required=False,
    )
    directives.widget("datagrid_field", DataGridFieldFactory)
コード例 #28
0
class IBiXieWu(Interface):
    """BiXieWu ContentType"""

    # -*- schema definition goes here -*-
    data_src = schema.TextLine(
        title=_(u"Data Source"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    lct_cou = schema.TextLine(
        title=_(u"County"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    lct_tow = schema.TextLine(
        title=_(u"Town"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    lct_vil = schema.TextLine(
        title=_(u"Village"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    coordinate = schema.TextLine(
        title=_(u"Coordinate Type"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    type = schema.TextLine(
        title=_(u"BiXieWu Type"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    era = schema.TextLine(
        title=_(u"Common Era"),
        required=False,
        description=_(u"Enter Common Era."),
    )
    #
    era_ref = schema.SourceText(
        title=_(u"Era Reference"),
        required=False,
        description=_(u"Enter Era Reference."),
    )
    #
    facing = schema.TextLine(
        title=_(u"Facing"),
        required=False,
        description=_(u"Enter Facing."),
    )
    #
    material = schema.TextLine(
        title=_(u"Material"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    volume = schema.SourceText(
        title=_(u"Volume"),
        required=False,
        description=_(u"Enter Volume Description."),
    )
    #
    locational = schema.TextLine(
        title=_(u"Locational Attribute"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    purpose = schema.TextLine(
        title=_(u"Purpose"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    worship = schema.SourceText(
        title=_(u"Worship Description"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    establishment = schema.SourceText(
        title=_(u"Establishment Description"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    spatial = schema.SourceText(
        title=_(u"Spatial Attribute"),
        required=False,
        description=_(u"Enter Spatial Attributes."),
    )
    #
    environment = schema.SourceText(
        title=_(u"Environmental Description"),
        required=False,
        description=_(u"Enter Environmental Description."),
    )
    #
    reference = schema.SourceText(
        title=_(u"Reference"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    remark = schema.SourceText(
        title=_(u"Remark"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    village = schema.TextLine(
        title=_(u"Village Name"),
        required=False,
        description=_(u"Enter Village."),
    )
    #
    color = schema.TextLine(
        title=_(u"Color"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    genre = schema.TextLine(
        title=_(u"Genre"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    posture = schema.TextLine(
        title=_(u"Posture"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    gender = schema.TextLine(
        title=_(u"Gender"),
        required=False,
        description=_(u"Single Choice."),
    )
    #
    shi_d = schema.TextLine(
        title=_(u"ShiZi Depth"),
        required=False,
        description=_(u"In CentiMeter."),
    )
    #
    shi_w = schema.TextLine(
        title=_(u"ShiZi Width"),
        required=False,
        description=_(u"In CentiMeter."),
    )
    #
    shi_h = schema.TextLine(
        title=_(u"ShiZi Height"),
        required=False,
        description=_(u"In CentiMeter."),
    )
    #
    shi_t = schema.TextLine(
        title=_(u"ShiZi Head"),
        required=False,
        description=_(u"In CentiMeter."),
    )
    #
    base_l = schema.TextLine(
        title=_(u"Base Length"),
        required=False,
        description=_(u"In CentiMeter."),
    )
    #
    base_w = schema.TextLine(
        title=_(u"Base Width"),
        required=False,
        description=_(u"In CentiMeter."),
    )
    #
    base_h = schema.TextLine(
        title=_(u"Base Height"),
        required=False,
        description=_(u"In CentiMeter."),
    )
コード例 #29
0
class IPhoto(Interface):
    """Photo for CRGIS Contents"""

    # -*- schema definition goes here -*-
    category = schema.List(
        title=_(u"Category"),
        required=False,
        description=_(u"Multiple Choices."),
    )
    #
    cou = schema.TextLine(
        title=_(u"County"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    tow = schema.TextLine(
        title=_(u"Town"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    vil = schema.TextLine(
        title=_(u"Village"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    lng = schema.TextLine(
        title=_(u"Longtitude"),
        required=False,
        description=_(u"Enter Longtitude."),
    )
    #
    lat = schema.TextLine(
        title=_(u"Latitude"),
        required=False,
        description=_(u"Enter Latitude."),
    )
    #
    year = schema.TextLine(
        title=_(u"Photo Year"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    month = schema.TextLine(
        title=_(u"Photo Month"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    day = schema.TextLine(
        title=_(u"Photo Day"),
        required=False,
        description=_(u"Enter Text."),
    )
    #
    owner_name = schema.TextLine(
        title=_(u"Owner Name"),
        required=False,
        description=_(u"Enter Owner Name."),
    )
    #
    owner_org = schema.TextLine(
        title=_(u"Owner Organization"),
        required=False,
        description=_(u"Enter Owner Organization."),
    )
    #
    owner_title = schema.TextLine(
        title=_(u"Owner Title"),
        required=False,
        description=_(u"Enter Owner Title."),
    )
    #
    reference = schema.SourceText(
        title=_(u"Reference"),
        required=False,
        description=_(u"Enter Text."),
    )