Ejemplo n.º 1
0
class IMultiForm(IBaseForm, IRecordContainer, ISchemaProvider):
    """
    A multi-form is a content item that provides 0..* form entry records
    providing IFormEntry via an IRecordContainer inteface, identifying
    record values by a record UUID (key).
    """

    # omit IRecordContainer['factory'] from generated form
    form.omitted('factory')

    form.omitted('catalog')
    catalog = schema.Object(
        title=u'Catalog',
        description=u'Catalog indexes multi-record form data',
        schema=ISimpleCatalog,
        required=False,  # may initially be None
    )

    entry_notes = schema.Text(
        title=_(u'Entry notes'),
        description=_(u'Any notes about form entries for this period.'),
        required=False,
    )
Ejemplo n.º 2
0
class IReservation(Interface):
    title = schema.TextLine(
        title=_(u'Title'),
        required=False
    )
    date = schema.Datetime(
        title=_(u'Reservation Date Time'),
        required=False
    )
    peroid1 = schema.TextLine(
        title=_(u'Peroid1 Reservation Name'),
        required=False,
    )
    peroid2 = schema.TextLine(
        title=_(u'Peroid2 Reservation Name'),
        required=False,
    )
    peroid3 = schema.TextLine(
        title=_(u'Peroid3 Reservation Name'),
        required=False,
    )
    peroid4 = schema.TextLine(
        title=_(u'Peroid4 Reservation Name'),
        required=False,
    )
    peroid5 = schema.TextLine(
        title=_(u'Peroid5 Reservation Name'),
        required=False,
    )
    peroid6 = schema.TextLine(
        title=_(u'Peroid6 Reservation Name'),
        required=False,
    )
    alternate = schema.Text(
        title=_(u'Alternate Name'),
        required=False,
    )
Ejemplo n.º 3
0
class IAlertTile(model.Schema):

    title = schema.TextLine(title=_(u'Alert title'), required=False)

    content = schema.Text(title=_(u'Alert message'), required=False)

    content_uid = schema.Choice(
        title=_(u'Select an existing content item to link to (optional)'),
        required=False,
        source=CatalogSource(),
    )
    if RelatedItemsWidget is not None:
        form.widget('content_uid', RelatedItemsWidget)

    url = schema.TextLine(
        title=_(u'Specify external url to link to (optional)'),
        description="Please include full url with 'http/https' prefix",
        required=False,
    )

    publication_date = TileDatetime(title=_(u'Publication Date (optional)'),
                                    description="Display tile from this date",
                                    required=False)

    expiration_date = TileDatetime(title=_(u'Expiration Date (optional)'),
                                   description="Display tile until this date",
                                   required=False)

    form.widget('publication_date', DatetimeWidget)
    form.widget('expiration_date', DatetimeWidget)

    # can add more alert styles here 1/3
    style = schema.Choice(
        title=_(u'Select alert style'),
        default=u'primary',
        values=(u'primary', u'warning'),
    )
class ILegislature(model.Schema):
    """Represents a legislature."""

    title = schema.TextLine(
        title=_(u'Number'),
        description=_(u''),
        required=True,
    )

    description = schema.Text(
        title=_(u'Description'),
        description=_(u''),
        required=False,
    )
    form.widget(start_date=DateFieldWidget)
    start_date = schema.Date(
        title=_(u'Start date'),
        description=_(u''),
        required=True,
    )

    form.widget(end_date=DateFieldWidget)
    end_date = schema.Date(
        title=_(u'End date'),
        description=_(u''),
        required=True,
    )

    members = RelationList(
        title=_(u'Members'),
        required=False,
        default=[],
        value_type=RelationChoice(
            title=_(u'Members'),
            source=ObjPathSourceBinder(object_provides=IParliamentarian.__identifier__),
        ),
    )
class ISession(model.Schema):
    """Represents a legislative session."""

    title = schema.TextLine(
        title=_(u'Number'),
        description=_(u''),
        required=True,
    )

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

    form.widget(start_date=DateFieldWidget)
    start_date = schema.Date(
        title=_(u'Start date'),
        description=_(u''),
        required=True,
    )

    form.widget(end_date=DateFieldWidget)
    end_date = schema.Date(
        title=_(u'End date'),
        description=_(u''),
        required=True,
    )

    form.widget(legislative_board=DataGridFieldFactory)
    legislative_board = schema.List(
        title=_(u'Legislative Board'),
        description=_(u''),
        required=False,
        value_type=DictRow(title=u'legislative_board_row', schema=IBoardMember),
        default=[],
    )
Ejemplo n.º 6
0
 def test_all(self):
     mapping = [
         (schema.Object(schema=IResource),
          serialize_schema_field.DefaultSchemaFieldSerializer),
         (schema.Text(),
          serialize_schema_field.DefaultTextSchemaFieldSerializer),
         (schema.TextLine(),
          serialize_schema_field.DefaultTextLineSchemaFieldSerializer),
         (schema.Float(),
          serialize_schema_field.DefaultFloatSchemaFieldSerializer),
         (schema.Int(),
          serialize_schema_field.DefaultIntSchemaFieldSerializer),
         (schema.Bool(),
          serialize_schema_field.DefaultBoolSchemaFieldSerializer),
         (schema.List(),
          serialize_schema_field.DefaultCollectionSchemaFieldSerializer),
         (schema.Choice(values=('one', 'two')),
          serialize_schema_field.DefaultChoiceSchemaFieldSerializer),
         (schema.Object(schema=IResource),
          serialize_schema_field.DefaultObjectSchemaFieldSerializer),
         (RichText(),
          serialize_schema_field.DefaultRichTextSchemaFieldSerializer),
         (schema.Date(),
          serialize_schema_field.DefaultDateSchemaFieldSerializer),
         (schema.Time(),
          serialize_schema_field.DefaultTimeSchemaFieldSerializer),
         (schema.Dict(),
          serialize_schema_field.DefaultDictSchemaFieldSerializer),
         (schema.Datetime(),
          serialize_schema_field.DefaultDateTimeSchemaFieldSerializer),
     ]
     root = self.layer.new_root()
     site = root['plone']
     for field, klass in mapping:
         adapter = getMultiAdapter((field, site, self.request),
                                   interface=ISchemaFieldSerializeToJson)
         self.assertTrue(isinstance(adapter, klass))
Ejemplo n.º 7
0
class IZoomItInfo(Interface):

    id = schema.TextLine(title=_(u'Zoom.it ID'))

    url = schema.URI(title=_(u'Zoom.it URL'))

    ready = schema.Bool(title=_(u'Upload Ready'))

    progress = schema.Float(title=_(u'Upload Progress'))

    failed = schema.Bool(title=_(u'Upload Failure?'))

    last_status = schema.Int(title=_(u'Last Response Status'))
    last_response = schema.Int(title=_(u'Last Response'), required=False)

    update_timestamp = schema.Datetime(title=_(u'Last Timestamp'),
                                       required=False)

    retry_after = schema.Int(title=_(u'Retry After'), required=False)

    embed = schema.Text(title=_(u'Embed HTML'))

    dzi = schema.URI(title=_(u'DZI URL'), required=False)

    image_url = schema.URI(title=_(u'Image URL'), readonly=True)

    image_modified = schema.Datetime(title=_(u'Image Last Modified'),
                                     readonly=True,
                                     required=False)

    api_url = schema.URI(title=_(u'DZI URL'), readonly=True)

    def create_content(self):
        """Initializes zoom.it content"""

    def update_status(self):
        """Updates status of zoomit content"""
Ejemplo n.º 8
0
class IBoaPraticaEditForm(form.Schema):

    title = schema.TextLine(
        title=u"Título",
        required=False,
    )

    directives.widget(esfera='z3c.form.browser.radio.RadioFieldWidget')
    esfera = schema.Choice(title=u"Essa prática é esfera",
                           required=False,
                           vocabulary="mpdg.govbr.observatorio.EsferaPratica")

    uf = schema.Choice(
        title=u"UF",
        description=u"Selecione o seu Estado.",
        required=False,
        vocabulary="brasil.estados",
    )

    orgparticipantes = schema.TextLine(
        title=u"Órgãos participantes",
        description=
        u"Se a prática estiver relacionada a algum órgão de governo, favor informar no campo abaixo",
        required=False,
    )

    directives.widget(
        description='plone.app.z3cform.wysiwyg.WysiwygFieldWidget')
    description = schema.Text(title=u"Descrição", required=False)

    directives.widget(sitesrelacionados=
                      'collective.z3cform.datagridfield.DataGridFieldFactory')
    sitesrelacionados = schema.List(title=u"Sites relacionados",
                                    value_type=DictRow(
                                        title=u"tablerow",
                                        schema=ITableRowEditSchema),
                                    required=False)
Ejemplo n.º 9
0
class ISearchResult(Interface):
    """Defines a common API for search results."""

    title = schema.TextLine(title=_(u'The title of this search result'))

    description = schema.TextLine(
        title=_(u'The description of this search result'))

    contact_email = schema.TextLine(
        title=_(u'A contact email address for this search result'))

    contact_telephone = schema.TextLine(
        title=_(u'The description of this search result'))

    portal_type = schema.TextLine(
        title=_(u'The portal type of this search result'))

    friendly_type_name = schema.TextLine(
        title=_(u'The friendly label for the type of search result'))

    highlighted_summary = schema.Text(
        title=_(u'A highlighted summary of this search result'))

    preview_image_path = schema.ASCIILine(
        title=_(u'The relative path to a preview image'
                u'representing this search result'))

    preview_image_url = schema.ASCIILine(
        title=_(u'The absolute URL for a preview image '
                u'representing search result'))

    path = schema.ASCIILine(
        title=_(u'The relative path to the content for this search result'))

    url = schema.ASCIILine(
        title=_(u'The absolute URL to the content for this search result '
                u'based on the path and the host in the current request'))
Ejemplo n.º 10
0
class IPloneRelease(Schema):
    """ A Plone release """

    version = schema.TextLine(
        title=_(u'Version'),
        required=True
    )
    description = schema.Text(
        title=_(u"Description"),
        required=False,
    )
    release_date = schema.Date(
        title=_(u'Release date'),
        required=False,
        default=datetime.date.today()
    )
    release_notes = RichText(
        title=_(u'Release notes'),
        default_mime_type='text/html',
        output_mime_type='text/html',
        allowed_mime_types=('text/plain', 'text/html', 'text/restructured', 'text/x-web-markdown'),
        required=False,
    )
    changelog = RichText(
        title=_(u"Changelog"),
        default_mime_type='text/restructured',
        output_mime_type='text/html',
        allowed_mime_types=('text/plain', 'text/html', 'text/restructured', 'text/x-web-markdown'),
        required=False,
    )

    form.widget(files=DataGridFieldFactory)
    files = schema.List(
        title=_(u'Files'),
        value_type=DictRow(title=_(u'Uploads'), schema=IReleaseUpload),
        required=False
    )
Ejemplo n.º 11
0
class IFeaturedPortlet(IPortletDataProvider):

    image = schema.Field(
        title=_(u'Featured Image'),
        description=_(u'A small image from the current feature'),
        required=False)

    featured_title = schema.TextLine(
        title=_(u'Title of Current Feature'),
        description=_(
            u'Title to appear on the front page about current feature.'),
        required=False)

    featured_description = schema.Text(
        title=_(u'Description of Current Feature'),
        description=
        _(u'Description of current feature as it will appear on the front page.'
          ),
        required=False)

    featured_lefttext = schema.TextLine(
        title=_(u'The text that appears to the left of this portlet'),
        description=_(u'Text to appear on the left'),
        required=False)
Ejemplo n.º 12
0
class IXPlotlyBehavior(form.Schema):
    """ A field where you can set URL to a CSV file"""

    form.fieldset(
        'plotly',
        label=_(u'Plotly'),
        fields=[
              'csv_url',
        ],
     )

    csv_url = schema.URI(
        title = _("label_plotly_csv", default=u"CSV URL"),
        description = _("help_plotly_csv",
                      default=""),
        required = False,
     )

    form.mode(plotly_html='hidden')
    plotly_html = schema.Text(
        title=u'Plotly html',
        default=u'',
        required=False,
    )
Ejemplo n.º 13
0
class IAssignSchema(Schema):
    """ Form schema interface for assign wizard which makes it possible to
    a task to another person.
    """
    # hidden
    transition = schema.Choice(
        title=_("label_transition", default="Transition"),
        source=getTransitionVocab,
        required=True,
    )

    responsible = schema.Choice(
        title=_(u"label_responsible", default=u"Responsible"),
        description=_(u"help_responsible", default=""),
        source=AllUsersInboxesAndTeamsSourceBinder(only_current_inbox=False,
                                                   only_current_orgunit=False,
                                                   include_teams=True),
        required=True,
    )

    text = schema.Text(
        title=_('label_response', default="Response"),
        required=False,
    )
Ejemplo n.º 14
0
class IHtmlBlockSchema(form.Schema):
    """HTML block for simplelayout
    """

    title = schema.TextLine(
        title=_(u'htmlblock_title_label', default=u'Title'),
        required=True,
    )

    show_title = schema.Bool(
        title=_(u'htmlblock_show_title_label', default=u'Show title'),
        default=False,
        required=False,
    )

    content = schema.Text(
        title=_(u'htmlblock_content_label', default=u'Content'),
        description=_(u'htmlblock_content_description',
                      default=u'The content will be rendered without '
                      u'being escaped.'),
        required=False,
    )

    form.order_before(title='*')
Ejemplo n.º 15
0
class IBaseProposal(model.Schema):

    dexteritytextindexer.searchable('title')
    title = schema.TextLine(title=_(u"label_title", default=u"Title"),
                            required=True,
                            max_length=256,
                            defaultFactory=default_title)

    dexteritytextindexer.searchable('description')
    description = schema.Text(
        title=_(u'label_description', default=u'Description'),
        required=False,
        missing_value=u'',
        default=u'',
    )

    widget('issuer', KeywordFieldWidget, async=True)
    issuer = schema.Choice(
        title=_(u"label_issuer", default="Issuer"),
        source=AssignedUsersSourceBinder(),
        required=True,
    )

    omitted('date_of_submission')
    date_of_submission = schema.Date(
        description=_('label_date_of_submission',
                      default='Date of submission'),
        default=None,
        missing_value=None,
        required=False,
    )

    language = schema.Choice(title=_('language', default=u'Language'),
                             source='opengever.meeting.LanguagesVocabulary',
                             required=True,
                             defaultFactory=get_preferred_language_code)
Ejemplo n.º 16
0
class ICustomerServiceCall(BaseModel):
    """Interface for Customer Service Call objects CSC
    """
    csc_client = schema.Choice(
        title=_(u"Client"),
        description=_(u"Client"),
        required=True,
        values=[_(u'Quarantined'), _(u'Released')],
    )
    csc_instance = schema.Choice(
        title=_(u"Instance Type"),
        description=_(u"Instance Type"),
        required=True,
        values=[_(u'Quarantined'), _(u'Released')],
    )
    csc_datetime = schema.Datetime(
        title=_(u"Date and Time of Instance"),
        description=_(u"Date and Time of Instance"),
        required=False,
    )
    csc_follow_up_needed = schema.Bool(
        title=_(u"Is Follow Up Needed"),
        description=_(u"Is Follow Up Needed"),
        required=False,
    )
    csc_status = schema.Choice(
        title=_(u"Status of CSI"),
        description=_(u"Status of CSI"),
        required=True,
        values=[_(u'Open'), _(u'Closed'), _(u'Held')],
    )
    csc_details = schema.Text(
        title=_(u"Details of CSI"),
        description=_(u"Details of CSI"),
        required=False,
    )
Ejemplo n.º 17
0
class INamedDataSequence(form.Schema, IDataSeries, ISeriesDisplay):
    """Named category seqeuence with embedded data stored as content"""

    form.fieldset(
        'display',
        label=u"Display settings",
        fields=[
            'color',
            'show_trend',
            'trend_width',
            'trend_color',
            'display_precision',
            'point_labels',
            ],
        )

    input = schema.Text(
        title=_(u'Data input'),
        description=_(u'Comma-separated records, one per line '
                      u'(name, numeric value, [note], [URL]). '
                      u'Note and URL are optional.'),
        default=u'',
        required=False,
        )

    # data field to store CSV source:
    form.omitted('data')
    data = schema.List(
        title=_(u'Data'),
        description=_(u'Data points for series: name, value; values are '
                      u'either whole/integer or decimal numbers.'),
        value_type=schema.Object(
            schema=INamedDataPoint,
            ),
        readonly=True,
        )
Ejemplo n.º 18
0
class ISugerencia(form.Schema):
    """
    Sugerencia de lectura que complementa una colección o una exhibición
    """
    title = schema.TextLine(
        title=u"Cita",
        required=False,
    )

    form.omitted('description')
    description = schema.Text(
        title=u"Año de publicacion",
        required=False,
    )

    tipoMedio = schema.Choice(
        title=u"Tipo de sugerencia",
        vocabulary=tiposVocab,
        required=True,
    )

    form.widget(autores=TextLinesFieldWidget)
    autores = schema.List(
        title=u"Autores o responsables",
        description=u"Cargar un autor por linea",
        required=False,
        default=[],
        value_type=schema.TextLine(),
    )

    urlRemoto = schema.TextLine(
        title=u"Enlace externo",
        description=u"Enlace. debe incluir el http://",
        required=False,
        constraint=isValidURL,
    )
Ejemplo n.º 19
0
class IOpenGeverBase(form.Schema):
    """ IOpengeverBase contains title and description fields
    This is a schema interface, not a marker interface!
    """
    form.fieldset(
        u'common',
        label=_(u'fieldset_common', default=u'Common'),
        fields=[
            u'title',
            u'description',
        ],
    )

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

    dexteritytextindexer.searchable('description')
    description = schema.Text(
        title=_(u'label_description', default=u'Description'),
        description=_(u'help_description', default=u''),
        required=False,
        missing_value=u'',
    )
Ejemplo n.º 20
0
class IAnswer(form.Schema, IImageScaleTraversable):
    """
    Answer
    """

    dexteritytextindexer.searchable('answer')
    form.widget(answer=WysiwygFieldWidget)
    answer = schema.Text(title=u"Answer")

    dexteritytextindexer.searchable('question_creator')
    form.mode(question_creator='hidden')
    question_creator = schema.TextLine(
        title=_(u"Question Creator"),
        required=False,
    )

    dexteritytextindexer.searchable('answer_creator')
    form.mode(answer_creator='hidden')
    answer_creator = schema.TextLine(
        title=_(u"Answer Creator"),
        required=False,
    )

    pass
Ejemplo n.º 21
0
class IAddTramite(IBaseFormSchema):

    form.mode(protocolo_id='hidden')
    protocolo_id = schema.Int(
        title=_(u'ID do Protocolo'),
        description=_(u'Identificador do Protocolo.'),
        defaultFactory=getProtocoloId,        
        required=False)

    areas = schema.List(
        title=_(u'Área'),
        description=_(u'Área para qual o protocolo deve tramitar. Selecione mais de uma área para realizar tramitação por cópia.'),
        value_type=schema.Choice(vocabulary='il.spdo.areas-vocab'))

    despacho = schema.Text(
        title=_(u'Despacho'),
        description=_(u'Despacho que descreve as ações que devem ser tormadas para a tramitação prosseguir.'),
        required=False)

    if ENABLE_FLASH_MULTIFILE:
        form.widget(anexos=MultiFileFieldWidget)
    anexos = schema.List(
        title=_(u'Anexos'),
        description=_(u'Adicione anexos ao protocolo (opcional).'),
        required=False,
        value_type=NamedFile())

    @interface.invariant
    def verifyFluxo(tramite):
        if not tramite.protocolo_id:
            raise interface.Invalid(_(u'O parâmetro protocolo_id não foi informado.'))
        if not tramite.areas:
            raise interface.Invalid(_(u'O parâmetro areas não foi informado.'))
        sc = getUtility(ISecurityChecker)
        if not sc.check('fluxo_rigoroso', protocolo_id=tramite.protocolo_id, areas=tramite.areas):
            raise interface.Invalid(_(u'Não é possível tramitar esse protocolo para as áreas escolhidas. O fluxo de tramitação definido para o tipo de protocolo e documento não é flexível.'))
Ejemplo n.º 22
0
class IBasic(model.Schema):

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

    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'',
    )

    form.order_before(description='*')
    form.order_before(title='*')

    form.omitted('title', 'description')
    form.no_omit(IEditForm, 'title', 'description')
    form.no_omit(IAddForm, 'title', 'description')
Ejemplo n.º 23
0
class ISubmittedProposal(IProposal):

    dexteritytextindexer.searchable('considerations')
    considerations = schema.Text(
        title=_('label_considerations', default=u"Considerations"),
        required=False,
    )

    excerpts = RelationList(
        title=_(u'label_excerpts', default=u'Excerpts'),
        default=[],
        missing_value=[],
        value_type=RelationChoice(
            title=u'Excerpt',
            source=DossierPathSourceBinder(
                portal_type=('opengever.document.document', ),
                navigation_tree_query={
                    'object_provides': [
                        'opengever.dossier.behaviors.dossier.IDossierMarker',
                        'opengever.document.document.IDocumentSchema'
                    ],
                }),
        ),
        required=False)
Ejemplo n.º 24
0
class IMember(IEmail):
    """
    Member
    """

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

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

    homepage = schema.TextLine(
        # url format
        title=_(u"External Homepage"),
        required=False,
        constraint=is_url,
    )
    

    
    if PLONE5:
        directives.widget("bio", RichTextFieldWidget)
        bio = RichText(
            title=_(u"Biography"),
            required=False,
        )        
    else:
        directives.widget(bio="plone.app.z3cform.wysiwyg.WysiwygFieldWidget")
        bio = schema.Text(
            title=_(u"Biography"),
            required=False,
        )
Ejemplo n.º 25
0
class IOrderForm(form.Schema):
    """ Define form fields """
    greeting = schema.List(title = _(u'greeting'), required = True, value_type=schema.Choice(source=greetings)) 
    titles = schema.List(title = _(u'title'), required = True, value_type=schema.Choice(source=titles)) 
    
    organization = schema.TextLine(title=_(u'Organization'), required=False)
    
    lastname = schema.TextLine(title=_(u'Lastname'), required=True)
    firstname = schema.TextLine(title=_(u'Firstname'), required=True)
    
    street = schema.TextLine(title=_(u'Street'), required=True)
    number = schema.TextLine(title=_(u'Number'), required=True)
    zipcode = schema.TextLine(title=_(u'Zipcode'), required=True)
    city = schema.TextLine(title=_(u'City'), required=True)
    country = schema.TextLine(title=_(u'Country'), required=True)

    email = schema.TextLine(title=_(u'Email'), required=True, constraint=validateaddress)
    phone = schema.TextLine(title=_(u'Phone'), required=False)
  
    publications = schema.Text(
            title=_(u"publications")
        )
    form.widget(greeting=z3c.form.browser.select.SelectFieldWidget)
    form.widget(titles=z3c.form.browser.select.SelectFieldWidget)
Ejemplo n.º 26
0
class IPlominoAgent(model.Schema):
    """ Plomino agent schema
    """

    directives.widget('content', klass='plomino-formula')
    content = schema.Text(
        title=_("CMFPlomino_label_AgentContent", default="Code to execute"),
        description=_("CMFPlomino_help_AgentContent",
            default='Code to execute'),
        required=True,
    )

    run_as = schema.Choice(
        title=_('CMFPlomino_label_AgentRunAs', default="Run as"),
        description=_('CMFPlomino_help_AgentRunAs',
            default='Run the agent using current user access rights, or using '
            'the developer access rights.'),
        required=True,
        default='CURRENT',
        vocabulary=SimpleVocabulary.fromItems([
            (_("Current user"), "CURRENT"),
            (_("Agent owner"), "OWNER"),
        ]),
    )
Ejemplo n.º 27
0
class IEventRecurrence(model.Schema, IDXEventRecurrence):

    """ Recurring Event Schema.
    """
    recurrence = schema.Text(
        title=_(
            u'label_event_recurrence',
            default=u'Recurrence'
        ),
        description=_(
            u'help_event_recurrence',
            default=u'Define the event recurrence rule.'
        ),
        required=False,
        default=None
    )
    directives.widget(
        'recurrence',
        RecurrenceFieldWidget,
        start_field=u'IEventBasic.start',
        first_day=first_weekday_sun0,
        show_repeat_forever=False,
        klass=u'event_recurrence'
    )
class IMovedPrenotazioneAction(Interface):
    """Definition of the configuration available for a mail action
    """

    subject = schema.TextLine(title=_(u"Subject"),
                              description=_(u"Subject of the message"),
                              required=True)

    source = schema.TextLine(
        title=_(u"Sender email"),
        description=_(
            'source_help',
            default=u"The email address that sends the email. If no email is "
            u"provided here, it will use the address from portal."),
        required=False)

    message = schema.Text(
        title=_(u"Message"),
        description=_(
            'message_help',
            default=u"Type in here the message that you want to mail. Some "
            u"defined content can be replaced: ${title} will be replaced with booking title (user fullname). ${date} will be replaced with booking new date. ${url} will be replaced by the booking url. ${portal} will be replaced by the title "
            u"of the portal."),
        required=True)
Ejemplo n.º 29
0
class IProfileForm(interface.Interface):
    first_name = schema.TextLine(title=_(u"First name"))
    last_name = schema.TextLine(title=_(u"Last name"))
    middle_name = schema.TextLine(title=_(u"Middle name"), required=False)
    email = schema.TextLine(title=_(u"Email"),constraint=check_email)
    description = schema.Text(title=_(u"Biographical notes"), required=False)
    gender = schema.Choice(title=_("Gender"), vocabulary=vocabulary.Gender)
    date_of_birth = schema.Date(title=_("Date of Birth"))
    birth_nationality = schema.Choice(title=_("Nationality at Birth"), 
                                      source=countries)
    birth_country = schema.Choice(title=_("Country of Birth"), 
                                  source=countries)
    current_nationality = schema.Choice(title=_("Current Nationality"), 
                                        source=countries)
    image = schema.Bytes(title=_("Image"))
    
    @invariant
    def checkEmail(self):
        session = Session()
        users = session.query(User).filter(User.email==self.email)
        if users.count() > 1:
            raise interface.Invalid(_("Email already taken!"),"email")
        if users.count() == 1 and users.first().user_id != get_db_user().user_id:
            raise interface.Invalid(_("Email already taken!"),"email")
Ejemplo n.º 30
0
class IPlominoColumn(model.Schema):
    """ Plomino view schema
    """

    displayed_field = schema.Choice(
        source=get_fields,
        title=_('CMFPlomino_label_DisplayedField', default="Displayed field"),
        description=_(
            'CMFPlomino_help_DisplayedField',
            default="Field value "
            "to display in the column. It does not apply if Formula is "
            "provided."),
        required=False,
    )

    directives.widget('formula', klass='plomino-formula')
    formula = schema.Text(
        title=_('CMFPlomino_label_ColumnFormula', default="Formula"),
        description=_('CMFPlomino_help_ColumnFormula',
                      default='Python code '
                      'returning the column value.'),
        required=False,
    )

    hidden_column = schema.Bool(
        title=_('CMFPlomino_label_HiddenColumn', default="Hidden column"),
        default=False,
    )

    @invariant
    def formulaInvariant(data):
        if not (data.displayed_field or data.formula):
            raise Invalid(
                _("CMFPlomino_validation_column",
                  default=u"If you don't specify a column "
                  "formula, you need to select a field."))