Ejemplo n.º 1
0
class IFile(form.Schema):
    """ File: Per adjuntar els fitxers públics i/o privats
        A la part pública només fitxers PDF """

    fieldset('file',
             label=_(u'Tab file'),
             fields=['title', 'description', 'visiblefile', 'hiddenfile'])

    dexteritytextindexer.searchable('title')
    title = schema.TextLine(title=_PMF(u'label_title', default=u'Title'),
                            required=True)

    dexteritytextindexer.searchable('description')
    description = schema.Text(
        title=_PMF(u'label_description', default=u'Summary'),
        description=_PMF(u'help_description',
                         default=u'Used in item listings and search results.'),
        required=False,
        missing_value=u'',
    )

    visiblefile = NamedBlobFile(
        title=_(u"Please upload a public file"),
        description=_(u"Published file description"),
        required=False,
    )

    hiddenfile = NamedBlobFile(
        title=_(u"Please upload a reserved file"),
        description=_(u"Reserved file description"),
        required=False,
    )
Ejemplo n.º 2
0
class IPropostapunt(form.Schema):
    """
    """
    title = schema.TextLine(
        title=_(u'Title'),
        required=True
    )

    description = schema.Text(
        title=_(u'label_description', default=u'Summary'),
        required=False,
    )

    directives.widget(text=WysiwygFieldWidget)
    text = schema.Text(
        title=_(u"Text"),
        required=False)

    signsFile = NamedBlobFile(
        title=_(u"Please upload a public file"),
        description=_(u"Published file description"),
        required=False,
    )

    anexFile = NamedBlobFile(
        title=_(u"Please upload a reserved file"),
        description=_(u"Reserved file description"),
        required=False,
    )
Ejemplo n.º 3
0
class IABCTune(form.Schema):

    dexteritytextindexer.searchable('abc')
    form.primary('abc')
    abc = schema.Text(title=_(u"Tune abc"),
                      description=_(u'The tune in abc format'),)

    dexteritytextindexer.searchable('tunekeys')
    form.omitted('tunekeys')
    tunekeys = schema.List(title=u'keys',
                           description=u'set by abc content',
                           required=False,
                           value_type=schema.TextLine(required=False),
                           )

    dexteritytextindexer.searchable('tunetype')
    form.omitted('tunetype')
    tunetype = schema.TextLine(title=_(u"The type of the tune"),
                               description=_(u"from the field R:"),
                               required=False,
                               )
    # NOTE: as specified in the v2.1 standard, A: field is deprecated
    # so, only O: is used to specified country and areas... separated
    # by ';'
    dexteritytextindexer.searchable('tunearea')
    form.omitted('tunearea')
    tunearea = schema.TextLine(title=tunearea_title,
                               description=tunearea_desc,
                               required=False,
                               )
    dexteritytextindexer.searchable('tunecountry')
    form.omitted('tunecountry')
    tunecountry = schema.TextLine(title=tunecountry_title,
                                  description=_(u"The country"),
                                  required=False,
                                  )

    form.omitted('score')
    score = NamedBlobImage(title=_(u"Score"),
                           description=score_desc,
                           required=False,)

    form.omitted('pdfscore')
    pdfscore = NamedBlobFile(title=_(u"PDF Score"),
                             description=_(u'The score of the tune as PDF'),
                             required=False,
                             )

    form.omitted('midi')
    midi = NamedBlobFile(title=_(u"Midi"),
                         description=_(u'Midi sound of the tune'),
                         required=False,
                         )
    form.omitted('sound')
    sound = NamedBlobFile(title=_(u"sound"),
                          description=_(u'The mp3 sound of the tune'),
                          required=False,
                          )
Ejemplo n.º 4
0
class IABCTuneSet(form.Schema):

    form.omitted('combinedTitle')
    """this combinedTitle depends of the tunes titles
    """
    combinedTitle = schema.TextLine(
        title=_(u"combined set title"),
        description=_(u"."),
    )
    form.omitted('abc')
    abc = schema.Text(
        title=_(u"Tune Set abc"),
        description=_(u'The tunes set in abc format'),
    )

    form.omitted('score')
    """The score of the tunes set as png image
    """
    score = NamedBlobImage(
        title=_(u"Score"),
        description=_(u'.'),
        required=False,
    )

    form.omitted('pdfscore')
    """The score of the tunes set as PDF
    """
    pdfscore = NamedBlobFile(
        title=_(u"PDF Score"),
        description=_(u'.'),
        required=False,
    )

    form.omitted('midi')
    """Midi sound of the tunes set
    """
    midi = NamedBlobFile(
        title=_(u"Midi"),
        description=_(u'.'),
        required=False,
    )

    form.omitted('sound')
    """The mp3 sound of the tunes set
    """
    sound = NamedBlobFile(
        title=_(u"sound"),
        description=_(u'.'),
        required=False,
    )
Ejemplo n.º 5
0
class IRVSpot(form.Schema):
    """
    Uses IDublinCore
    """

    form.mode(spot_id='display')
    spot_id = schema.Int(title=_(u"Spot Id"),
                         description=_(u""),
                         required=False,
                         default=0,)

    spot_size = schema.TextLine(title=_(u"Size"),
                                description=_(u"RV Spot Dimensions"),
                                required=False)

    spot_cost = schema.Choice(title=_(u"Cost"),
                              description=_(u"How much to rent this spot?"),
                              vocabulary=spotCostVocabulary(),
                              required=False)

    homeowner = schema.Choice(title=_(u"Homeowner"),
                              description=_(u"Select the homeowner that is renting this spot."),
                              vocabulary="docent.hoa.rvspots.homeowners",
                              required=False)

    homeowner_contract = NamedBlobFile(title=_(u"Owner Contract"),
                                        description=_(u"Upload the owner's contract here."),
                                        required=False)

    renter = schema.Choice(title=_(u"Renter"),
                           description=_(u"Select the renter that will use this spot."),
                           vocabulary="docent.hoa.rvspots.rentersandowners",
                           required=False)

    renter_contract = NamedBlobFile(title=_(u"Renter Contract"),
                                    description=_(u"Upload the renter's contract here."),
                                    required=False)

    key_number = schema.TextLine(title=_(u"Key Number"),
                                 required=False)

    occupancy = schema.Datetime(title=_(u"Occupancy Date"),
                                description=_(u"Start date of occupancy."),
                                required=False)

    insurance_file = NamedBlobFile(title=_(u"Insurance File"),
                                        description=_(u"Upload the insurance file."),
                                        required=False)
Ejemplo n.º 6
0
class ISablonTemplate(IDocumentSchema):

    model.primary('file')
    file = NamedBlobFile(
        title=_(u'label_sablon_template_file', default='File'),
        required=True,
    )
class IDocumentArtifact(form.Schema):
    """
    Content type
    """

    document_artifact = NamedBlobFile(title=u"Document Artifact")

    coverage = TextLine(title=u"Coverage", required=False)

    dublin_core_format = TextLine(title=u"Format", required=False)

    identifier = TextLine(title=u"Identifier", required=False)

    language = TextLine(title=u"Language", required=False)

    publisher = TextLine(title=u"Publisher", required=False)

    relation = TextLine(title=u"Relation", required=False)

    rights = TextLine(title=u"Rights", required=False)

    source = TextLine(title=u"Source", required=False)

    subject = TextLine(title=u"Subject", required=False)

    dublin_core_type = TextLine(title=u"Type", required=False)
class IPODTemplate(model.Schema):
    """
    PODTemplate dexterity schema.
    """

    model.primary('odt_file')
    form.widget('odt_file', NamedFileWidget)
    odt_file = NamedBlobFile(title=_(u'ODT File'), )

    form.omitted('initial_md5')
    initial_md5 = schema.TextLine(
        description=
        u'Initially loaded file md5. Will be compared with os file md5.')

    form.omitted('style_modification_md5')
    style_modification_md5 = schema.TextLine(
        description=u'Working md5, stored when styles only update.')

    form.widget('enabled', RadioFieldWidget)
    enabled = schema.Bool(
        title=_(u'Enabled'),
        default=True,
        required=False,
    )

    form.widget('style_template', SelectWidget)
    style_template = schema.List(
        title=_(u'Style template'),
        description=_(
            u'Choose the style template to apply for this template.'),
        value_type=schema.Choice(
            source='collective.documentgenerator.StyleTemplates'),
        required=True,
    )
Ejemplo n.º 9
0
class IMusicMan(model.Schema):
    """ Add Music Man behavior """

    model.fieldset('musicman',
                   label=_(u"musicman / recommend"),
                   fields=[
                       'mmTitle',
                       'mmInfo',
                       'mmImage',
                       'mmAudio',
                   ])

    mmTitle = schema.TextLine(
        title=_(u"Music Man Title"),
        required=False,
    )

    mmInfo = schema.Text(
        title=_(u"Music Man Infomation"),
        required=False,
    )

    mmImage = NamedBlobImage(
        title=_(u"Music Man Image"),
        required=False,
    )

    mmAudio = NamedBlobFile(
        title=_(u"Music Man Audio"),
        description=_(u"Audio file format: *.mp3"),
        required=False,
    )
Ejemplo n.º 10
0
class IBackgroundImageTile(model.Schema):

    image = NamedBlobFile(
        title=_(u'Upload an image to use as background'),
        required=False,
    )

    background_color = schema.TextLine(
        title=_(u"Enter a CSS color value to use as a background"),
        description=_(
            u"This will be overlayed on top of the background image"),
        required=False,
    )

    widget(scale=RadioFieldWidget)
    scale = schema.Choice(
        title=_(u'Select maximum display size'),
        vocabulary='plone.app.vocabularies.ImagesScales',
        default='banner',
    )

    parallax = schema.Bool(
        title=_(u'Enable parallax scroll effect on background image'),
        default=False,
    )

    content = RichText(title=_(u"HTML"), required=True)
Ejemplo n.º 11
0
class IImportFirstStep(model.Schema):

    source = NamedBlobFile(
        title=_(u"File"),
        description=_(u"CSV file that contains the classification tree"),
        required=True,
    )

    separator = schema.Choice(
        title=_(u"CSV Separator"),
        description=_(u"Separator character to use"),
        vocabulary="collective.classification.vocabularies:csv_separator",
        required=True,
    )

    has_header = schema.Bool(
        title=_(u"Include CSV header"),
        description=_(u"The CSV file contains an header row"),
        default=True,
        required=False,
    )

    @invariant
    def validate_csv_data(obj):
        return utils.validate_csv_data(obj)
Ejemplo n.º 12
0
class ICommentFile(form.Schema, IImageScaleTraversable):
    """
    Review comment attached file
    """

    reviewer = RelationChoice(
        title=_('Reviewer'),
        source=ObjPathSourceBinder(Type="Profile", groups="ExternalReviewer"),
        required=True,
    )

    acceptOrReject = schema.Choice(
        title=_(u'Result of Review'),
        vocabulary=AcceptOrReject,
        default=None,
        required=False,
    )

    externalReviewerComment = schema.Text(
        title=_(u'External reviewer comment'),
        required=False,
    )

    reviewCommentAttached = NamedBlobFile(
        title=_(u'External reviewer comment attached file'),
        required=False,
    )
Ejemplo n.º 13
0
class IProvider(Interface):
    """ 供應商檔案 """
    title = schema.TextLine(
        title=_(u"Provider Name"),
        required=True,
    )

    description = schema.Text(
        title=_(u"Description"),
        required=False,
    )

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

    webSite = schema.URI(
        title=_(u"Website"),
        description=_(u"Provider website url, must include http:// or https://"),
        required=False,
    )

    form.write_permission(productsFile='cmf.ReviewPortalContent')
    productsFile = NamedBlobFile(
        title=_(u"Products File"),
        description=_(u"zip file, include a .cvs file and image files"),
        required=False,
    )
Ejemplo n.º 14
0
class IAnthroReport(Interface):
    title = schema.TextLine(
        title=_(u'Title'),
        required=True
    )

    description = schema.Text(
        title=_(u'Description'),
        required=False
    )

    cover_image = NamedBlobImage(
        title=_(u"Current Cover Image."),
        required=True
    )

    openDate = schema.Date(
        title=_(u"Full Text Open Date"),
        required=True
    )

    file = NamedBlobFile(
        title=_(u'Full File'),
        required=False
    )
Ejemplo n.º 15
0
class IProjectionExperiment(IExperiment):

    # TODO: ignore context here? don't really need to store this?
    directives.widget(
        'species_distribution_models',
        ExperimentSDMFieldWidget,
        experiment_type=[ISDMExperiment.__identifier__],
        errmsg=u"Please select at least 1 Species Distribution Model")
    species_distribution_models = Dict(
        title=u'Species Distribution Models',
        key_type=TextLine(),
        value_type=Dict(key_type=TextLine(), value_type=Dict()),
        default=None,
        required=True,
    )

    directives.widget(
        'future_climate_datasets',
        FutureDatasetsFieldWidget,
        errmsg=u"Please select at least 1 future climate dataset.",
        vizclass=u'bccvl-absence-viz')
    future_climate_datasets = List(title=u'Future Climate Data',
                                   value_type=TextLine(),
                                   default=None,
                                   required=True)

    directives.mode(projection_region=HIDDEN_MODE)
    directives.widget('projection_region', TextAreaFieldWidget)
    projection_region = NamedBlobFile(
        title=u"Projection Region",
        description=
        u"GEOJson describing the geographic region the onto which the selected model is projected,",
        required=False,
    )
Ejemplo n.º 16
0
class IProductManualBehavior(model.Schema):
    """Product manual behavior.
    """
    manual = NamedBlobFile(title=_(u'manual_title', default=u'Product Manual'),
                           description=_(u'manual_description',
                                         default=u'Manual of Product'),
                           required=False)
Ejemplo n.º 17
0
class ITaxonomyForm(Interface):
    taxonomy = schema.TextLine(title=_(u"Taxonomy"), required=False)

    field_title = schema.TextLine(
        title=_(u"Title"),
        description=_("Will be used for the field title as well"),
        required=True)

    field_description = schema.TextLine(
        title=_(u"Description"),
        description=_("Will be used for the field description as well"),
        required=True)

    default_language = schema.TextLine(
        title=_(u"Default language"),
        description=_("For example en, da, de, etc."),
        required=True)

    import_file = NamedBlobFile(title=_(u"Upload VDEX xml file"),
                                description=_(u" "),
                                required=False)

    is_required = schema.Bool(title=_(u"Required"), required=True)

    is_single_select = schema.Bool(title=_(u"Single select"), required=True)

    write_permission = schema.Choice(
        title=_(u"Write permission"),
        required=False,
        vocabulary='collective.taxonomy.permissions')
Ejemplo n.º 18
0
class IMultiSpeciesDataset(IDatasetCollection):
    """A species dataset based on a single file"""

    model.primary('file')
    file = NamedBlobFile(title=_(u"File"),
                         description=_(u"Data content"),
                         required=True)
Ejemplo n.º 19
0
class IAudio(form.Schema):
    """ Audio: only audio files are permitted """

    fieldset('audio',
             label=_(u'Tab audio'),
             fields=['title', 'description', 'file']
             )

    dexteritytextindexer.searchable('title')
    title = schema.TextLine(
        title=_PMF(u'label_title', default=u'Title'),
        required=True
    )

    dexteritytextindexer.searchable('description')
    description = schema.Text(
        title=_PMF(u'label_description', default=u'Summary'),
        description=_PMF(
            u'help_description',
            default=u'Used in item listings and search results.'
        ),
        required=False,
        missing_value=u'',
    )

    file = NamedBlobFile(
        title=_(u"Please upload a media file"),
        description=_(u"Only audio files are permitted."),
        required=True,
    )
Ejemplo n.º 20
0
class IBoosterClubsFolder(form.Schema):
    """
    Uses IDublinCore
    """

    executive_secretary_email = Email(
        title=_(u"Executive Secretary Email"),
        description=_(u"Email address of the Executive Secretary"),
        required=True,
    )

    absence_notice = schema.Text(
        title=_(u"Absence Notice"),
        description=_(u"Text of email to be sent to absent booster club officers. "
                      u"This is a multi line field and line breaks will be recognized. "
                      u"The salutation should not be part of this message."),
        required=True,
        defaultFactory=getAbsenceDefaultText,
    )

    training_absence_notice = schema.Text(
        title=_(u"Training Absence Notice"),
        description=_(u"Text of email to be sent to absent booster members who did not attend the scheduled training. "
                      u"This is a multi line field and line breaks will be recognized. "
                      u"The salutation should not be part of this message."),
        required=True,
        defaultFactory=getTrainingAbsenceDefaultText,
    )

    agreement_file = NamedBlobFile(
        title=_(u"Agreement File"),
        description=_(u"This file is to be downloaded by club for the approval process."),
        required=False,
    )
Ejemplo n.º 21
0
class IBlobDataset(IDataset):

    # TODO: a primary field should not be required. possible bug in plone core
    model.primary('file')
    file = NamedBlobFile(title=_(u"File"),
                         description=_(u"Data content"),
                         required=True)
Ejemplo n.º 22
0
class IAudioVideo(model.Schema):
    """ Marker interface and Dexterity Python Schema for Audio Video
    """

    vortext = RichText(title=u"Strukturierter Text vor dem Audio oder Video",
                       required=False)

    datei = NamedBlobFile(
        title=u"Audio- oder Video-Datei",
        description=
        u"Möglichkeit zum Hochladen einer Audiodatei im *.mp3 Format oder Videodatai im *.mp4 Format.",
        required=False)

    poster = NamedBlobImage(
        title=u"Vorschaubild für Video-Datei",
        description=
        u"Möglichkeit zum Hochladen eines Vorschaubildes für das Video.",
        required=False)

    embed = schema.Text(
        title=u"Einbettungscode einer Videoplattform",
        description=
        u"Als Alternative zur Datei kann hier ein Einbettungscode einer Videoplattform\
                                    z.B. YouTube, Vimeo eingetragen werden.",
        required=False)

    nachtext = RichText(title=u"Strukturierter Text nach dem Audio oder Video",
                        required=False)
Ejemplo n.º 23
0
class IOGGAudioFile(form.Schema):
    ''' Representa um Arquivo de Audio OGG'''

    model.primary('file')
    file = NamedBlobFile(title=_(u'File'),
                         description=_(u'Please upload a audio file.'),
                         required=True,
                         constraint=validate_ogg)
Ejemplo n.º 24
0
class IMPEGAudioFile(form.Schema):
    """ Representa um Arquivo de Audio MPEG"""

    model.primary('file')
    file = NamedBlobFile(title=_(u'File'),
                         description=_(u'Please upload a audio file.'),
                         required=True,
                         constraint=validate_mpeg)
Ejemplo n.º 25
0
class IStyleTemplate(model.Schema):
    """
    StyleTemplate dexterity schema.
    """

    model.primary('odt_file')
    form.widget('odt_file', NamedFileWidget)
    odt_file = NamedBlobFile(title=_(u'ODT File'), )
Ejemplo n.º 26
0
class IStaticDocument(model.Schema, utils.IUserMixin, utils.IVotingMixin):

    title = schema.TextLine(
        title=u'Document name',
        required=True,
    )

    description = schema.Text(
        title=u'Document description',
        required=True,
    )

    file = NamedBlobFile(
        title=u'File',
        required=True,
    )

    file_thumb = NamedBlobFile(
        title=u'File thumb',
        description=u'Thumbnail of the file (if PDF) - will be generated automatically.',
        required=False,
    )

    doc_in_step = RelationList(
        title=u'In pilgrimage steps',
        description=u'Select pilgrimage steps where this document will appear.',
        default=[],
        value_type=RelationChoice(
            source=ObjPathSourceBinder(
                path={'query': '/en/pilgrimage-steps'},
            ),
        ),
        required=False,
    )

    featured_doc_in_step = RelationList(
        title=u'As featured in pilgrimage steps',
        description=u'Select pilgrimage steps where this document will appear as a featured resource.',
        default=[],
        value_type=RelationChoice(
            source=ObjPathSourceBinder(
                path={'query': '/en/pilgrimage-steps'},
            ),
        ),
        required=False,
    )
Ejemplo n.º 27
0
class IProposar(form.Schema):
    """ Enviar missatge als membres /mail_message"""
    form.mode(intro='display')
    intro = TextLine(description=_(u"""
            La inclusió de punts nous en l'ordre del dia a iniciativa
            dels membres del Consell de Govern es regula en l'article
            7 del Reglament del Consell de Govern.
            En cas que els membres del Consell de Govern vulguin presentar
            punts nousque no han passat per cap comissió per alguna de les
            raons previstes en l'article, cal emplenar el formulari següent,
            que es tramet automàticament a la Secretaria General. Perquè la
            petició sigui admesa a tràmit, el formulari ha de tenir
            tots els camps emplenats.
            """), )
    # 1. Identificaci´o dels membres que presenten la proposta
    form.mode(one='display')

    one = TextLine(
        title=_(u"1. Identificació dels membres que presenten la proposta"), )
    numMembres = TextLine(title=_(u"Nombre de membres que fan la proposta"),
                          required=True)

    nomsMembres = TextLine(
        title=_(u"Nom i cognoms separats amb comes"),
        description=_(u"Cal annexar un document amb el nom i cognom, \
            el DNI i la signatura dels membres que presenten la \
            proposta (informació no pública)"),
        required=True)

    # 2. Identificacio de la persona que fa de ponent
    form.mode(two='display')
    two = TextLine(title=_(u"2. Identificació de la persona que fa de ponent"))

    nomPonent = TextLine(title=_(u"Nom i cognoms"), required=False)

    email = TextLine(title=_(u"Correu electrònic"), required=False)

    tlf = TextLine(title=_(u"Telèfon"), required=True)

    # 3 Punt de l'ordre del dia que es proposa incloure
    form.mode(three='display')
    three = TextLine(
        title=_(u"3. Punt de l'ordre del dia que es proposa incloure"), )

    acord = TextLine(title=_(u"Tipus: Acord"), required=True)

    puntInfo = TextLine(title=_(u"Punt informatiu"), required=True)

    title = TextLine(title=_(u"Enunciat o títol del punt de l'ordre del dia"),
                     required=True)

    justification = TextLine(title=_(u"Justificació"), required=True)

    text = schema.Text(title=_(u"Text que es presenta"), required=True)

    # 4 Annexar documents
    file = NamedBlobFile(title=_(u"4.  Annexar documents"),
                         description=_(u"(màxim 20mb)"))
Ejemplo n.º 28
0
class IMMExperiment(IExperiment):

    directives.widget('function', FunctionsRadioFieldWidget)
    function = Choice(
        title=u'Algorithm',
        vocabulary='sdm_functions_source',
        default=None,
        required=True,
    )

    directives.widget('species_occurrence_dataset',
                      DatasetFieldWidget,
                      genre=['DataGenreSpeciesOccurrence'],
                      errmsg=u"Please select at least 1 occurrence dataset.",
                      vizclass=u'bccvl-occurrence-viz')
    species_occurrence_dataset = TextLine(
        title=u'Species Occurrence Datasets',
        default=None,
        required=True,
    )

    directives.widget('species_absence_dataset',
                      DatasetFieldWidget,
                      genre=['DataGenreSpeciesAbsence'],
                      errmsg=u"Please select at least 1 absence dataset.",
                      vizclass=u'bccvl-absence-viz')
    species_absence_dataset = TextLine(
        title=u'Species Absence Datasets',
        default=None,
        required=False,
    )

    directives.widget('scale_down',
                      BoolRadioFieldWidget,
                      true_label=u"Scale to finest resolution",
                      false_label=u"Scale to coarsest resolution")
    scale_down = Bool(
        title=u'Select common resolution',
        description=
        u'Environmental datasets will be scaled to the same resolution. This option allows to select to scale to highest or lowest resolution.',
        default=False,
        required=False)

    directives.widget('datasubsets', DataSubsetsFieldWidget)
    datasubsets = List(
        title=u'Climate & Environmental Data Subsets',
        value_type=Dict(),
        required=True,
    )

    directives.mode(modelling_region=HIDDEN_MODE)
    directives.widget('modelling_region', TextAreaFieldWidget)
    modelling_region = NamedBlobFile(
        title=u"Modelling Region",
        description=
        u"GEOJson describing the geographic region which is used to generate the model.",
        required=False,
    )
Ejemplo n.º 29
0
class IProductManualBehavior(model.Schema):
    """Product manual behavior.
    """

    manual = NamedBlobFile(
        title=_(u"manual_title", default=u"Product Manual"),
        description=_(u"manual_description", default=u"Manual of Product"),
        required=False,
    )
Ejemplo n.º 30
0
class IOriginalFile(model.Schema):
    """
    """

    original_file = NamedBlobFile(
        title=_(u'Original File'),
        description=_(u'Original scan or document'),
        required=False,
    )