Beispiel #1
0
class IDCTLanguage(model.Schema, IDCAT):
    """Marker interface and DX Python Schema for DCTLanguage."""

    # Mandatory
    # -------------------------------------------------------------------------
    dct_title = I18NTextLine(
        required=True,
        title=i18n.LABEL_DCT_TITLE,
    )

    dct_description = I18NText(
        required=False,
        title=i18n.LABEL_DCT_DESCRIPTION,
    )

    rdfs_isDefinedBy = schema.URI(
        required=False,
        title=i18n.LABEL_RDFS_ISDEFINEDBY,
    )

    old_representation = schema.TextLine(
        required=False,
        title=u'2 Letter Representation',
    )

    new_representation = schema.TextLine(
        required=True,
        title=u'3 Letter Representation',
    )
Beispiel #2
0
class ISKOSConcept(model.Schema, IDCAT):
    """Marker interface and DX Python Schema for SKOSConcept."""

    # Mandatory
    # -------------------------------------------------------------------------
    dct_title = I18NTextLine(
        required=True,
        title=i18n.LABEL_DCT_TITLE,
    )

    dct_description = I18NText(
        required=False,
        title=i18n.LABEL_DCT_DESCRIPTION,
    )

    skos_inScheme = schema.URI(
        description=i18n.HELP_SKOS_INSCHEME,
        required=True,
        title=i18n.LABEL_SKOS_INSCHEME,
    )

    rdfs_isDefinedBy = schema.URI(
        description=i18n.HELP_RDFS_ISDEFINEDBY,
        required=False,
        title=i18n.LABEL_RDFS_ISDEFINEDBY,
    )

    foaf_depiction = schema.TextLine(
        required=False,
        title=_(u'Icon class for category'),
        description=_(HELP_FOAF_DEPICTION),
    )
Beispiel #3
0
class IRDFSLiteral(model.Schema, IDCAT):
    """Marker interface and DX Python Schema for RDFLiterla."""

    # Mandatory
    # -------------------------------------------------------------------------
    dct_title = I18NTextLine(
        required=True,
        title=i18n.LABEL_DCT_TITLE,
    )
Beispiel #4
0
class IVCARDKind(model.Schema, IDCAT):
    """Marker interface and Dexterity Python Schema for VCARDKind."""

    # Fieldsets
    # -------------------------------------------------------------------------

    # Mandatory
    # -------------------------------------------------------------------------
    vcard_fn = I18NTextLine(
        required=True,
        title=i18n.LABEL_DCT_TITLE,
    )

    dct_description = I18NText(
        required=True,
        title=i18n.LABEL_DCT_DESCRIPTION,
    )

    vcard_hasEmail = schema.List(
        required=False,
        title=_(u'Emails'),
        value_type=schema.TextLine(
            title=_(u'Email'),
            constraint=is_email,
        ),
        description=_(u'Add one Email per Line.'),
    )
    vcard_hasTelephone = schema.List(
        required=False,
        title=_(u'Phone Numbers'),
        description=_(u'Add one number per Line'),
        value_type=schema.TextLine(title=_(u'Phone Number'), ),
    )

    vcard_hasURL = schema.URI(
        required=False,
        title=_(u'Contact Formular'),
    )

    vcard_Fax = schema.List(
        required=False,
        description=_(u'Add one number per Line'),
        title=_(u'Fax Numbers'),
        value_type=schema.TextLine(title=_(u'Fax Number'), ),
    )
class IDCTMediaTypeOrExtent(model.Schema, IDCAT):
    """Marker interfce and DX Python Schema for DCTMediaTypeOrExtent."""

    # Mandatory
    # -------------------------------------------------------------------------
    dct_title = I18NTextLine(
        required=True,
        title=i18n.LABEL_DCT_TITLE,
    )

    dct_description = I18NText(
        required=False,
        title=i18n.LABEL_DCT_DESCRIPTION,
    )

    rdfs_isDefinedBy = schema.URI(
        required=False,
        title=i18n.LABEL_RDFS_ISDEFINEDBY,
    )
Beispiel #6
0
class IFOAFAgent(model.Schema, IDCAT):
    """Marker interface and Dexterity Python Schema for FOAFAgent."""

    # Mandatory
    # -------------------------------------------------------------------------
    foaf_name = I18NTextLine(
        required=True,
        title=i18n.LABEL_DCT_TITLE,
    )

    dct_description = I18NText(
        required=False,
        title=i18n.LABEL_DCT_DESCRIPTION,
    )

    rdfs_isDefinedBy = schema.URI(
        required=False,
        title=i18n.LABEL_RDFS_ISDEFINEDBY,
    )
Beispiel #7
0
class IDCATDistribution(model.Schema, IDCAT):
    """Marker interface and Dexterity Python Schema for DCATDistribution."""

    # Mandatory
    # -------------------------------------------------------------------------
    dct_title = I18NTextLine(
        required=False,
        title=i18n.LABEL_DCT_TITLE,
    )

    dct_description = I18NText(
        required=False,
        title=i18n.LABEL_DCT_DESCRIPTION,
    )

    form.widget(
        'dct_license',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_DCT_LICENSEDOCUMENT,
        content_type_title=i18n.LABEL_DCT_LICENSE,
        initial_path='/licenses/',
    )
    dct_license = schema.Choice(
        description=i18n.HELP_DCT_LICENSE,
        required=False,
        title=i18n.LABEL_DCT_LICENSE,
        vocabulary='pkan.dcatapde.vocabularies.DCTLicenseDocument',
    )

    dcat_accessURL = schema.URI(
        required=False,
        title=i18n.LABEL_DCAT_ACCESSURL,
    )

    dcat_downloadURL = schema.URI(
        required=False,
        title=i18n.LABEL_DCAT_DOWNLOADURL,
    )

    local_file = NamedFile(
        required=False,
        title=i18n.LABEL_LOCAL_FILE,
    )

    read_permission(dcatde_plannedAvailability='pkan.dcatapde.Admin')
    write_permission(dcatde_plannedAvailability='pkan.dcatapde.Admin')
    dcatde_plannedAvailability = I18NText(
        required=False,
        title=i18n.LABEL_DCATDE_PLANNED_AVAILABLITY,
    )

    dcatde_licenseAttributionByText = I18NText(
        required=False,
        title=i18n.LABEL_DCATDE_LICENSEATTRIBUTIONBYTEXT,
    )

    read_permission(dcat_byteSize='pkan.dcatapde.Admin')
    write_permission(dcat_byteSize='pkan.dcatapde.Admin')
    dcat_byteSize = I18NTextLine(
        required=False,
        title=i18n.LABEL_DCAT_BYTESIZE,
    )

    read_permission(dct_conformsTo='pkan.dcatapde.Admin')
    write_permission(dct_conformsTo='pkan.dcatapde.Admin')
    form.widget(
        'dct_conformsTo',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_DCT_STANDARD,
        content_type_title=i18n.LABEL_DCT_CONFORMSTO,
        initial_path='/standards/',
    )
    dct_conformsTo = schema.Choice(
        description=i18n.HELP_DCT_CONFORMSTO,
        required=False,
        title=i18n.LABEL_DCT_CONFORMSTO,
        vocabulary='pkan.dcatapde.vocabularies.DCTStandard',
    )

    form.widget(
        'dct_format',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_DCT_MEDIATYPEOREXTENT,
        content_type_title=i18n.LABEL_DCT_FORMAT,
        initial_path='/formats/',
    )
    dct_format = schema.Choice(
        description=i18n.HELP_DCT_FORMAT,
        required=False,
        title=i18n.LABEL_DCT_FORMAT,
        vocabulary='pkan.dcatapde.vocabularies.DCTMediaTypeOrExtent',
    )

    read_permission(dcat_mediaType='pkan.dcatapde.Admin')
    write_permission(dcat_mediaType='pkan.dcatapde.Admin')
    form.widget(
        'dcat_mediaType',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_DCT_MEDIATYPEOREXTENT,
        content_type_title=i18n.LABEL_DCAT_MEDIATYPE,
        initial_path='/formats/',
    )

    dcat_mediaType = schema.Choice(
        description=i18n.HELP_DACT_MEDIATYPE,
        required=False,
        title=i18n.LABEL_DCAT_MEDIATYPE,
        vocabulary='pkan.dcatapde.vocabularies.DCTMediaTypeOrExtent',
    )

    dct_issued = schema.Date(
        required=False,
        title=i18n.LABEL_DCT_ISSUED,
    )

    dct_modified = schema.Date(
        required=False,
        title=i18n.LABEL_DCT_MODIFIED,
        default=datetime.date.today(),
    )
Beispiel #8
0
class IDCATCatalog(model.Schema, IDCAT):
    """Marker interface and Dexterity Python Schema for DCATCatalog."""

    # Fieldsets
    # -------------------------------------------------------------------------
    model.fieldset(
        'linking',
        label=i18n.FIELDSET_RELATIONS,
        fields=[
            'dct_hasPart',
            'dct_isPartOf',
            'dct_spatial',
        ],
    )

    # Mandatory
    # -------------------------------------------------------------------------
    dct_title = I18NTextLine(
        required=True,
        title=i18n.LABEL_DCT_TITLE,
    )

    dct_description = I18NText(
        required=True,
        title=i18n.LABEL_DCT_DESCRIPTION,
    )

    form.widget(
        'dct_publisher',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_FOAF_AGENT,
        content_type_title=i18n.LABEL_DCT_PUBLISHER,
        initial_path='/publishers/',
    )
    dct_publisher = schema.Choice(
        description=i18n.HELP_DCT_PUBLISHER,
        required=True,
        title=i18n.LABEL_DCT_PUBLISHER,
        vocabulary='pkan.dcatapde.vocabularies.FOAFAgent',
    )

    # Recommended
    # -------------------------------------------------------------------------
    form.widget(
        'dct_license',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_DCT_LICENSEDOCUMENT,
        content_type_title=i18n.LABEL_DCT_LICENSE,
        initial_path='/licenses/',
    )
    dct_license = schema.Choice(
        description=i18n.HELP_DCT_LICENSE,
        required=False,
        title=i18n.LABEL_DCT_LICENSE,
        vocabulary='pkan.dcatapde.vocabularies.DCTLicenseDocument',
    )

    foaf_homepage = schema.URI(
        required=False,
        title=i18n.LABEL_FOAF_HOMEPAGE,
    )

    form.widget(
        'dct_language',
        AjaxSelectFieldWidget,
        vocabulary='pkan.dcatapde.AvailableContentLanguageVocabulary',
    )
    dct_language = schema.List(
        required=False,
        title=i18n.LABEL_DCT_LANGUAGE,
        value_type=schema.Choice(
            vocabulary='pkan.dcatapde.AvailableContentLanguageVocabulary',
        ),
    )

    form.widget(
        'dcat_themeTaxonomy',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_SKOS_CONCEPTSCHEME,
        content_type_title=i18n.LABEL_DCT_THEMETAXONOMY,
        initial_path='/conceptschemes/',
    )
    dcat_themeTaxonomy = schema.Choice(
        description=i18n.HELP_DCT_THEMETAXONOMY,
        required=False,
        title=i18n.LABEL_DCT_THEMETAXONOMY,
        vocabulary='pkan.dcatapde.vocabularies.SKOSConceptScheme',
    )

    # Optional
    # -------------------------------------------------------------------------
    form.widget(
        'dct_rights',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_DCT_RIGHTSSTATEMENT,
        content_type_title=i18n.LABEL_DCT_RIGHTS,
        initial_path='/rights/',
    )
    dct_rights = schema.Choice(
        description=i18n.HELP_DCT_RIGHTS,
        required=False,
        title=i18n.LABEL_DCT_RIGHTS,
        vocabulary='pkan.dcatapde.vocabularies.DCTRightsStatement',
    )

    dct_issued = schema.Date(
        required=False,
        title=i18n.LABEL_DCT_ISSUED,
    )

    dct_modified = schema.Date(
        required=False,
        title=i18n.LABEL_DCT_MODIFIED,
        default=datetime.date.today(),
    )

    form.widget(
        'dct_hasPart',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_DCAT_CATALOG,
        content_type_title=i18n.LABEL_DCT_HASPART,
        initial_path='/',
    )
    dct_hasPart = schema.Choice(
        description=i18n.HELP_DCT_HASPART,
        required=False,
        title=i18n.LABEL_DCT_HASPART,
        vocabulary='pkan.dcatapde.vocabularies.DCATCatalog',
    )

    form.widget(
        'dct_isPartOf',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_DCAT_CATALOG,
        content_type_title=i18n.LABEL_DCT_ISPARTOF,
        initial_path='/',
    )
    dct_isPartOf = schema.Choice(
        description=i18n.HELP_DCT_ISPARTOF,
        required=False,
        title=i18n.LABEL_DCT_ISPARTOF,
        vocabulary='pkan.dcatapde.vocabularies.DCATCatalog',
    )

    form.widget(
        'dct_spatial',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_DCT_LOCATION,
        content_type_title=i18n.LABEL_DCT_SPATIAL,
        initial_path='/locations/',
    )
    dct_spatial = schema.List(
        description=i18n.HELP_DCT_SPATIAL,
        required=False,
        title=i18n.LABEL_DCT_SPATIAL,
        value_type=schema.Choice(
            vocabulary='pkan.dcatapde.vocabularies.DCTLocation',
        ),
    )
Beispiel #9
0
class IDCATDataset(model.Schema, IDCAT):
    """Marker interface and Dexterity Python Schema for DCATDataset."""

    # Fieldsets
    # -------------------------------------------------------------------------
    model.fieldset(
        'agents',
        label=i18n.FIELDSET_AGENTS,
        fields=[
            'dct_creator',
            'dct_contributor',
            'dcatde_originator',
            'dcatde_maintainer',
        ],
    )

    model.fieldset(
        'details',
        label=i18n.FIELDSET_DETAILS,
        fields=[
            'dct_issued',
            'dct_modified',
            'dcatde_contributorID',
            'dcatde_politicalGeocodingURI',
            'dcatde_politicalGeocodingLevelURI',
            'dcatde_geocodingText',
            'dct_accessRights',
            'owl_versionInfo',
            'dcatde_legalbasisText',
            'adms_versionNotes',
            'dcat_landingpage',
            'foaf_page',
        ],
    )

    # Mandatory
    # -------------------------------------------------------------------------
    dct_title = I18NTextLine(
        required=True,
        title=i18n.LABEL_DCT_TITLE,
    )

    dct_description = I18NText(
        required=True,
        title=i18n.LABEL_DCT_DESCRIPTION,
    )

    read_permission(dcatde_contributorID='pkan.dcatapde.ProviderDataEditor')
    write_permission(dcatde_contributorID='pkan.dcatapde.ProviderDataEditor')
    dcatde_contributorID = I18NTextLine(
        required=False,
        title=i18n.LABEL_DCATDE_CONTRIBUTORID,
    )

    form.widget(
        'dct_publisher',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_FOAF_AGENT,
        content_type_title=i18n.LABEL_DCT_PUBLISHER,
        initial_path='/publisher/',
    )
    dct_publisher = schema.Choice(
        description=i18n.HELP_DCT_PUBLISHER,
        required=False,
        title=i18n.LABEL_DCT_PUBLISHER,
        vocabulary='pkan.dcatapde.vocabularies.FOAFAgent',
    )

    # Recommended
    # -------------------------------------------------------------------------

    form.widget(
        'dcat_theme',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_SKOS_CONCEPT,
        content_type_title=i18n.LABEL_SKOS_CONCEPT,
        initial_path='/locations/',
    )
    dcat_theme = schema.List(
        description=i18n.HELP_SKOS_CONCEPT,
        required=False,
        title=i18n.LABEL_SKOS_CONCEPT,
        value_type=schema.Choice(
            vocabulary='pkan.dcatapde.vocabularies.SKOSConcept', ),
    )

    form.widget(
        'dct_creator',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_FOAF_AGENT,
        content_type_title=i18n.LABEL_DCT_CREATOR,
        initial_path='/agents/',
    )
    dct_creator = schema.Choice(
        description=i18n.HELP_DCT_CREATOR,
        required=False,
        title=i18n.LABEL_DCT_CREATOR,
        vocabulary='pkan.dcatapde.vocabularies.FOAFAgent',
    )

    form.widget(
        'dct_contributor',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_FOAF_AGENT,
        content_type_title=i18n.LABEL_DCT_CONTRIBUTOR,
        initial_path='/agents/',
    )
    dct_contributor = schema.Choice(
        description=i18n.HELP_DCT_CONTRIBUTOR,
        required=False,
        title=i18n.LABEL_DCT_CONTRIBUTOR,
        vocabulary='pkan.dcatapde.vocabularies.FOAFAgent',
    )

    form.widget(
        'dcatde_originator',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_FOAF_AGENT,
        content_type_title=i18n.LABEL_DCATDE_ORIGINATOR,
        initial_path='/agents/',
    )
    dcatde_originator = schema.Choice(
        description=i18n.HELP_DACTDE_ORIGINATOR,
        required=False,
        title=i18n.LABEL_DCATDE_ORIGINATOR,
        vocabulary='pkan.dcatapde.vocabularies.FOAFAgent',
    )

    form.widget(
        'dcatde_maintainer',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_FOAF_AGENT,
        content_type_title=i18n.LABEL_DCATDE_MAINTAINER,
        initial_path='/agents/',
    )
    dcatde_maintainer = schema.Choice(
        description=i18n.HELP_DACTDE_MAINTAINER,
        required=False,
        title=i18n.LABEL_DCATDE_MAINTAINER,
        vocabulary='pkan.dcatapde.vocabularies.FOAFAgent',
    )

    dct_issued = schema.Date(
        required=False,
        title=i18n.LABEL_DCT_ISSUED,
    )

    dct_modified = schema.Date(
        required=False,
        title=i18n.LABEL_DCT_MODIFIED,
        default=datetime.date.today(),
    )

    dcatde_geocodingText = I18NTextLine(
        required=False,
        title=i18n.LABEL_DCATDE_GEOCODINGTEXT,
    )

    dcatde_politicalGeocodingURI = schema.URI(
        required=False,
        title=i18n.LABEL_DCATDE_POLITICALGEOCODINGURI,
    )

    dcatde_politicalGeocodingLevelURI = schema.URI(
        required=False,
        title=i18n.LABEL_DCATDE_POLITICALGEOCODINGLEVELURI,
    )

    read_permission(owl_versionInfo='pkan.dcatapde.ProviderDataEditor')
    write_permission(owl_versionInfo='pkan.dcatapde.ProviderDataEditor')
    owl_versionInfo = I18NTextLine(
        required=False,
        title=i18n.LABEL_OWL_VERSIONINFO,
    )

    dcatde_legalbasisText = I18NText(
        required=False,
        title=i18n.LABEL_DCATDE_LEGALBASISTEXT,
    )

    form.widget(
        'dct_accessRights',
        AjaxSelectAddFieldWidget,
        display_deprecated=True,
        content_type=constants.CT_DCT_RIGHTSSTATEMENT,
        content_type_title=i18n.LABEL_DCT_ACCESSRIGHTS,
        initial_path='/rights/',
    )
    dct_accessRights = schema.Choice(
        description=i18n.HELP_DCT_ACCESSRIGHTS,
        required=False,
        title=i18n.LABEL_DCT_ACCESSRIGHTS,
        vocabulary='pkan.dcatapde.vocabularies.DCTRightsStatement',
    )

    read_permission(adms_versionNotes='pkan.dcatapde.ProviderDataEditor')
    write_permission(adms_versionNotes='pkan.dcatapde.ProviderDataEditor')
    adms_versionNotes = I18NTextLine(
        required=False,
        title=i18n.LABEL_ADMS_VERSIONNOTES,
    )

    dcat_landingpage = schema.URI(
        required=False,
        title=i18n.LABEL_DCAT_LANDINGPAGE,
    )

    foaf_page = schema.URI(
        required=False,
        title=i18n.LABEL_FOAF_PAGE,
    )

    form.widget(
        'contactPoint',
        AjaxSelectAddFieldWidget,
        content_type=constants.CT_VCARD_KIND,
        content_type_title=i18n.LABEL_VCARD_KIND,
        initial_path='/vcardkinds/',
    )
    contactPoint = schema.List(
        description=i18n.HELP_VCARD_KIND,
        required=False,
        title=i18n.LABEL_VCARD_KIND,
        value_type=schema.Choice(
            vocabulary='pkan.dcatapde.vocabularies.VCARDKind', ),
    )