class IContribPartner(model.Schema):
    """  Partner contributor
    """
    form.mode(IEditForm, title='display')
    title = schema.TextLine(
        title=_(u"Name"),
        required=True,
    )

    partner_roles = schema.Choice(
        title=_(u"Partner roles"),
        description=_(u"The role of partner in project"),
        source=utils.settings_partner_roles,
        required=False,
    )

    incash = schema.Decimal(
        title=_(u'In-cash'),
        required=False,
    )

    directives.mode(currency_incash='display')
    currency_incash = schema.TextLine(title=_(u""), )

    inkind = schema.Decimal(
        title=_(u'In-kind'),
        required=False,
    )

    directives.mode(currency_inkind='display')
    currency_inkind = schema.TextLine(title=_(u""), )
Exemple #2
0
class ITaggedValuesSchema(model.Schema):

    form.mode(field_mode_hidden="hidden")
    field_mode_hidden = schema.TextLine(title="ModeHidden", description="")

    form.mode(field_mode_display="display")
    field_mode_display = schema.TextLine(title="ModeDisplay", description="")

    form.mode(field_mode_input="input")
    field_mode_input = schema.TextLine(title="ModeInput", description="")

    field_mode_default = schema.TextLine(title="ModeInput", description="")

    parametrized_widget_field = schema.TextLine(
        title="Parametrized widget field")
    form.widget("parametrized_widget_field",
                a_param="some_value",
                defaultFactory=lambda: "Foo")

    not_parametrized_widget_field = schema.TextLine(
        title="No parametrized widget field")
    form.widget(not_parametrized_widget_field=TextWidget)

    directives.languageindependent("test_language_independent_field")
    test_language_independent_field = schema.TextLine(required=False, )
class IDataset(model.Schema):
    """Interface all datasets inherit from"""

    # TODO: need behavior to add metadata details?

    directives.mode(downloadable=HIDDEN_MODE)
    downloadable = Bool(
        title=_(u"Download allowed"),
        description=_(
            u"If set, then users are allowed to directly download this dataset."
        ),
        required=True,
        default=True)

    directives.mode(part_of=HIDDEN_MODE)
    part_of = TextLine(title=_(u'Part of Dataset Collection'),
                       description=u'',
                       required=False,
                       default=None)

    directives.mode(dataSource=HIDDEN_MODE)
    dataSource = TextLine(
        title=_(u'Data Source'),
        description=u'e.g. ala, gbif, aekos, upload, experiment, ...',
        required=False,
        default=None)
class ITaggedValuesSchema(model.Schema):

    form.mode(field_mode_hidden='hidden')
    field_mode_hidden = schema.TextLine(
        title=u"ModeHidden",
        description=u"",
    )

    form.mode(field_mode_display='display')
    field_mode_display = schema.TextLine(
        title=u"ModeDisplay",
        description=u"",
    )

    form.mode(field_mode_input='input')
    field_mode_input = schema.TextLine(
        title=u"ModeInput",
        description=u"",
    )

    field_mode_default = schema.TextLine(
        title=u"ModeInput",
        description=u"",
    )

    another_field = schema.TextLine(title=u"Tagged Values widget params")
    form.widget('another_field', a_param='some_value')
Exemple #5
0
class ITaskContent(model.Schema):
    """ Interface for task content type """

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

    parents_assigned_groups = LocalRolesField(
        title=_(u"Parents assigned groups"),
        required=False,
        value_type=schema.Choice(vocabulary=u'collective.task.AssignedGroups'))
    # must change widget to hide it, because default widget (orderedselect) doesn't have hidden widget template
    directives.widget('parents_assigned_groups',
                      SelectFieldWidget,
                      multiple='multiple',
                      size=10)
    directives.mode(parents_assigned_groups='hidden')

    parents_enquirers = LocalRolesField(
        title=_(u"Parents enquirers"),
        required=False,
        value_type=schema.Choice(vocabulary=u'collective.task.Enquirer'))
    # must change widget to hide it, because default widget (orderedselect) doesn't have hidden widget template
    directives.widget('parents_enquirers',
                      SelectFieldWidget,
                      multiple='multiple',
                      size=10)
    directives.mode(parents_enquirers='hidden')
class IContribOther(model.Schema):
    """  Other contributor
    """
    title = schema.TextLine(
        title=_(u"Name"),
        required=True,
    )

    organization_roles = schema.Choice(
        title=_(u"Organization roles"),
        description=_(u"The roles of other organizations in project"),
        source=utils.settings_organization_roles,
        required=False,
    )

    incash = schema.Decimal(
        title=_(u'In-cash'),
        required=False,
    )

    directives.mode(currency_incash='display')
    currency_incash = schema.TextLine(title=_(u""), )

    inkind = schema.Decimal(
        title=_(u'In-kind'),
        required=False,
    )

    directives.mode(currency_inkind='display')
    currency_inkind = schema.TextLine(title=_(u""), )
Exemple #7
0
class IImprovementArea(form.Schema):
    """  Improvement Area type
    """
    form.mode(title='input')
    title = schema.Choice(
        title=_(u"Title"),
        source=utils.area_title,
        required=True,
    )

    form.mode(description='input')
    description = schema.Text(
        title=_(u'Description'),
        required=False,
        missing_value=u'',
    )

    image = namedfile.NamedBlobImage(
        title=_(u'Image'),
        description=_(u"Image used to describe the Area. If no file chosen, a defult one will be used."),
        required=False,
    )

    directives.mode(title_es='hidden')
    title_es = schema.TextLine(
        title=_(u"Title Spanish"),
        required=False,
    )

    directives.mode(title_fr='hidden')
    title_fr = schema.TextLine(
        title=_(u"Title French"),
        required=False,
    )
Exemple #8
0
class IOGMail(model.Schema):
    """Opengever specific behavior,
    which add a title Field to the form.
    """

    model.fieldset(u'common',
                   label=base_mf(u'fieldset_common', u'Common'),
                   fields=[u'title', 'original_message', 'message_source'])

    form.order_before(title='message')
    dexteritytextindexer.searchable('title')
    title = schema.TextLine(
        title=dossier_mf(u'label_title', default=u'Title'),
        required=False,
    )

    form.mode(original_message=DISPLAY_MODE)
    form.write_permission(original_message='cmf.ManagePortal')
    original_message = field.NamedBlobFile(
        title=_(u'label_original_message',
                default=u'Raw *.msg message before conversion'),
        required=False,
    )

    form.mode(message_source=DISPLAY_MODE)
    form.read_permission(message_source='cmf.ManagePortal')
    form.write_permission(message_source='cmf.ManagePortal')
    message_source = schema.Choice(
        title=_('label_message_source', default='Message source'),
        vocabulary=get_message_source_vocabulary(),
        required=False,
    )
Exemple #9
0
class ITaggedValuesSchema(model.Schema):

    form.mode(field_mode_hidden='hidden')
    field_mode_hidden = schema.TextLine(
        title=u"ModeHidden",
        description=u"",
    )

    form.mode(field_mode_display='display')
    field_mode_display = schema.TextLine(
        title=u"ModeDisplay",
        description=u"",
    )

    form.mode(field_mode_input='input')
    field_mode_input = schema.TextLine(
        title=u"ModeInput",
        description=u"",
    )

    field_mode_default = schema.TextLine(
        title=u"ModeInput",
        description=u"",
    )

    parametrized_widget_field = schema.TextLine(
        title=u"Parametrized widget field")
    form.widget('parametrized_widget_field',
                a_param='some_value',
                defaultFactory=lambda: 'Foo')

    not_parametrized_widget_field = schema.TextLine(
        title=u"No parametrized widget field")
    form.widget(not_parametrized_widget_field=TextWidget)
Exemple #10
0
class ISettings(Interface):

    form.mode(client_id="display")
    client_id = schema.TextLine(
        title=_(u"The client unique identifier"),
        description=_(
            u"This information is configured in the instance configuration file"
        ),
        required=False,
    )

    form.mode(application_id="display")
    application_id = schema.TextLine(
        title=_(u"The application identifier"),
        description=_(
            u"This information is configured in the instance configuration file"
        ),
        required=False,
    )

    form.mode(application_url="display")
    application_url = schema.TextLine(
        title=_(u"The public url of this application"),
        description=_(
            u"This information is configured in the instance configuration file"
        ),
        required=False,
    )

    form.mode(ws_url="display")
    ws_url = schema.TextLine(
        title=_(u"The url of the Webservice instance"),
        description=_(
            u"This information is configured in the instance configuration file"
        ),
        required=False,
    )

    form.widget(application_links=MultiSelect2FieldWidget)
    application_links = schema.List(
        title=_(u"Application links"),
        description=_(
            u"List of application with who this application will communicate"),
        value_type=schema.Choice(title=_(u"Application links"),
                                 vocabulary="imio.restapi.applications"),
        required=False,
    )

    form.mode(return_fullobject_after_creation_default="display")
    form.widget(return_fullobject_after_creation_default=RadioFieldWidget)
    return_fullobject_after_creation_default = schema.Bool(
        title=_(u"Return full object after creation by default?"),
        description=_(
            u"When an element is created, check the box if the full object "
            u"must be returned by default (default is true)"),
        default=True,
        required=False,
    )
class IResponderSelecionadosForm(form.Schema):
    directives.mode(uids='hidden')
    uids = schema.TextLine(title=u"UIDS", required=True)

    directives.widget(mensagem='plone.app.z3cform.wysiwyg.WysiwygFieldWidget')
    mensagem = schema.Text(title=u'Mensagem', required=True)

    directives.mode(estado='hidden')
    estado = schema.TextLine(title=u"Workflow",
                             required=True,
                             default=u'responder')
Exemple #12
0
 class IConsentForm(Interface):
     lang = api.portal.get_current_language()
     for reason_id, reason in sorted(reasons.items()):
         reason_match = (validated_user and validated_user[0]
                         == reason.identifier_factory.__name__)
         if reason_match:
             if (reason.identifier_factory.getIdentifierForUser(
                     validated_user[1]) is None):
                 continue
         elif (reason.identifier_factory.getIdentifierForCurrentRequest(
                 self.request) is None):
             continue
         reason_id = reason_id.encode("ascii", "replace")
         directives.widget(safe_fieldname(reason_id), RadioFieldWidget)
         if not reason.can_object:
             directives.mode(**{safe_fieldname(reason_id): "display"})
         translated_title = translate(_(reason.Title),
                                      target_language=lang)
         locals()[safe_fieldname(reason_id)] = schema.Choice(
             title=translated_title,
             description=reason.html_description,
             vocabulary=consent_values,
             required=True,
             default="Allowed" if reason.isProcessingAllowed(
                 self.request,
                 identifier=validated_user[1] if reason_match else None,
             ) else "Blocked",
         )
     del lang
     del translated_title
     del reason_id
     del reason_match
     del reason
Exemple #13
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,
    )
Exemple #14
0
class ICategorization(model.Schema):

    #    directives.mode(subjects="hidden")
    subjects = schema.Tuple(
        title=_(u'label_tags', default=u'Tags'),
        description=_(
            u'help_tags',
            default=u'Tags are commonly used for ad-hoc organization of ' +
            u'content.'),
        value_type=schema.TextLine(),
        required=False,
        missing_value=(),
    )
    directives.widget('subjects',
                      AjaxSelectFieldWidget,
                      vocabulary='plone.app.vocabularies.Keywords')

    directives.mode(language="hidden")
    language = schema.Choice(
        title=_(u'label_language', default=u'Language'),
        vocabulary='plone.app.vocabularies.AvailableContentLanguages',
        required=False,
        missing_value='',
        defaultFactory=default_language,
    )
    directives.widget('language', SelectFieldWidget)

    directives.omitted('subjects', 'language')
    directives.no_omit(IEditForm, 'subjects', 'language')
    directives.no_omit(IAddForm, 'subjects', 'language')
Exemple #15
0
class IBaseAdviceInfoSchema(model.Schema):

    directives.mode(advice_uid='hidden')
    advice_uid = schema.TextLine(title=_(u"Advice uid"),
                                 description=_(u""),
                                 defaultFactory=advice_uid_default,
                                 required=False)
class ISendMessageUserView(form.Schema):

    directives.mode(uids="hidden")
    uids = schema.TextLine(title=u"UIDS", required=True)

    directives.widget(mensagem='plone.app.z3cform.wysiwyg.WysiwygFieldWidget')
    mensagem = schema.Text(title=u'Mensagem', required=True)
Exemple #17
0
class IOutcomecc(model.Schema):
    """  OutcomeCC Generic
    """
    directives.mode(title='hidden')
    title = schema.TextLine(
        title=_(u"Title"),
        required=True,
    )

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

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

    baseline_date = schema.Date(title=_(u'Baseline date'), required=True)

    objective = schema.Text(
        title=_(u"Objective"),
        required=False,
    )

    objective_date = schema.Date(title=_(u"Objective date"), required=False)

    stage = schema.TextLine(
        title=_(u"Stage"),
        required=False,
    )
Exemple #18
0
class IQuestion(Interface):
    """ 專家給問 """
    title = schema.TextLine(
        title=_(u"Question Title"),
        required=True,
    )

    form.mode(description='hidden')
    description = schema.Text(
        title=_(u"Question Detail"),
        required=False,
    )

    question = RichText(
        title=_(u"Question Detail"),
        default_mime_type='text/plain',
        allowed_mime_types=['text/plain', 'text/plain'],
        required=True,
    )

    form.write_permission(image='cmf.ReviewPortalContent')
    image = NamedBlobImage(
        title=_(u"Image"),
        description=_(u"If want to show this page to home page, please upload a image."),
        required=False,
    )
Exemple #19
0
class IProject(model.Schema):
    """IProject"""

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

    form.widget(project_theme=MultiSelect2FieldWidget)
    project_theme = schema.List(
        title=_(u"Domain(s) concerned"),
        value_type=schema.Choice(title=_(u"Domain(s) concerned"),
                                 vocabulary=u"collective.taxonomy.theme"),
        required=True,
    )

    form.widget(project_district=MultiSelect2FieldWidget)
    project_district = schema.List(
        title=_(u"District(s) concerned"),
        value_type=schema.Choice(
            title=_(u"District(s) concerned"),
            vocabulary=u"collective.taxonomy.district",
        ),
        required=True,
    )

    body = RichText(title=_(u"Content"), required=True)
    form.widget("body", RichTextFieldWidget)
    model.primary("body")

    form.mode(original_author="hidden")
    original_author = schema.TextLine(title=_(u"Original author"),
                                      required=False)
class ISpeaker(model.Schema):

    directives.mode(oid='hidden')
    oid = schema.TextLine(title=u"UUID",
                          default=u'{}'.format(uuid.uuid4().hex))

    first_name = schema.TextLine(title=_(u"First Name"))
    last_name = schema.TextLine(title=_(u"Last Name"), )
    email = Email(title=_(u'label_email', default=u'Email'),
                  description=_(u'help_email', default=u''),
                  required=False)
    profession = schema.TextLine(
        title=_(u"Profession"),
        required=False,
    )
    description = schema.Text(
        title=_(u"Biography"),
        required=False,
    )
    website = schema.URI(title=_(u'label_website', default=u'Website'),
                         description=_(u'help_website', default=u''),
                         required=False)
    directives.widget('website', LinkWidget)
    phone = schema.TextLine(title=_(u'label_phone', default=u'Phone'),
                            description=_(u'help_phone', default=u''),
                            required=False)
    picture = schema.ASCII(
        title=_(u"Please upload an image"),
        required=False,
    )
    directives.widget('picture', NamedImageFieldWidget)
Exemple #21
0
class IServiceNavigationSchema(model.Schema):
    directives.widget('links', DataGridFieldFactory, allow_reorder=True)
    links = schema.List(
        title=_(u'label_service_links', default=u'Service links'),
        value_type=schema.Object(
            title=u'link',
            schema=IServiceNavigationSchemaGrid
        ),
        required=False,
        missing_value=[],
    )

    disable = schema.Bool(
        title=_(u'label_disable_service_links',
                default=u'Disable service links'),
        required=False,
        missing_value=False,
    )

    directives.mode(modified='hidden')
    modified = schema.Bool(
        title=u'modified_marker',
        required=False,
        default=True,
        missing_value=True,
    )

    @invariant
    def link_validator(data):
        for link in data.links:
            if link.get('internal_link', None) and link.get('external_url', None):
                raise Invalid(_('error_link_validator',
                                u'Choose between an external or an internal link.'))
Exemple #22
0
class ICourse(model.Schema):

    form.mode(title='hidden')

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

    department = schema.List(
        title=_(u"Department"),
        description=_(u""),
        value_type=schema.Choice(vocabulary="agsci.syllabus.department"),
    )

    course_prefix = schema.Choice(
        title=_(u"Course Prefix"),
        required=True,
        vocabulary="agsci.syllabus.course_prefix",
    )

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

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

    description = schema.Text(
        title=_(u"Course Description"),
        required=False,
    )
Exemple #23
0
class IComunicatoStampa(model.Schema):
    arguments = schema.Tuple(
        title=_("arguments_label", default=u"Arguments"),
        description=_("arguments_help", default="Select one or more values."),
        value_type=schema.TextLine(),
        required=True,
        missing_value=(),
    )

    directives.widget(
        "arguments",
        AjaxSelectFieldWidget,
        vocabulary="rer.ufficiostampa.vocabularies.arguments",
        pattern_options={"allowNewItems": "false"},
    )

    legislature = schema.TextLine(
        title=_(u"label_legislature", default=u"Legislature"),
        description=u"",
        required=True,
        defaultFactory=defaultLegislature,
    )
    directives.mode(legislature="display")

    message_sent = schema.Bool(
        title=_(u"label_sent", default=u"Sent"),
        description=u"",
        required=False,
        default=False,
    )
    comunicato_number = schema.TextLine(title=u"",
                                        description=u"",
                                        required=False)
    directives.omitted("message_sent")
    directives.omitted("comunicato_number")
Exemple #24
0
class IWorkflowMessageSchema(form.Schema):
    """ Schema to set message on transition
    """

    directives.mode(workflow_action='hidden')
    workflow_action = schema.ASCIILine(title=u"Workflow action")
    message = schema.Text(title=u"Message", required=True)
Exemple #25
0
class IAssetStorage(model.Schema):

    assets = schema.TextLine(
        title=_(u"Assigned Assets"),
        description=_(u"JSON formated listing of asigned assets"),
        required=False,
    )
    form.mode(assets="hidden")
        class IDummy(model.Schema):

            form.omitted('foo', 'bar')
            form.omitted(model.Schema, 'qux')
            form.no_omit(model.Schema, 'bar')
            form.widget(foo='some.dummy.Widget', baz='other.Widget')
            form.mode(bar='hidden')
            form.mode(model.Schema, bar='input')
            form.order_before(baz='title')
            form.order_after(qux='title')
            form.read_permission(foo='zope2.View')
            form.write_permission(foo='cmf.ModifyPortalContent')

            foo = zope.schema.TextLine(title=u'Foo')
            bar = zope.schema.TextLine(title=u'Bar')
            baz = zope.schema.TextLine(title=u'Baz')
            qux = zope.schema.TextLine(title=u'Qux')
Exemple #27
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,
    )
class IEventBasic(model.Schema, IDXEvent):
    """ Basic event schema.
    """
    start = schema.Datetime(
        title=_(u'label_event_start', default=u'Event Starts'),
        description=_(u'help_event_start',
                      default=u'Date and Time, when the event begins.'),
        required=True,
        defaultFactory=default_start)
    directives.widget('start',
                      DatetimeFieldWidget,
                      default_timezone=default_timezone,
                      klass=u'event_start')

    end = schema.Datetime(title=_(u'label_event_end', default=u'Event Ends'),
                          description=_(
                              u'help_event_end',
                              default=u'Date and Time, when the event ends.'),
                          required=True,
                          defaultFactory=default_end)
    directives.widget('end',
                      DatetimeFieldWidget,
                      default_timezone=default_timezone,
                      klass=u'event_end')

    whole_day = schema.Bool(title=_(u'label_event_whole_day',
                                    default=u'Whole Day'),
                            description=_(u'help_event_whole_day',
                                          default=u'Event lasts whole day.'),
                            required=False,
                            default=False)
    directives.widget('whole_day',
                      SingleCheckBoxFieldWidget,
                      klass=u'event_whole_day')

    open_end = schema.Bool(title=_(u'label_event_open_end',
                                   default=u'Open End'),
                           description=_(u'help_event_open_end',
                                         default=u"This event is open ended."),
                           required=False,
                           default=False)
    directives.widget('open_end',
                      SingleCheckBoxFieldWidget,
                      klass=u'event_open_end')

    # icalendar event uid
    sync_uid = schema.TextLine(required=False)
    directives.mode(sync_uid='hidden')

    @invariant
    def validate_start_end(data):
        if (data.start and data.end and data.start > data.end
                and not data.open_end):
            raise StartBeforeEnd(
                _("error_end_must_be_after_start_date",
                  default=u"End date must be after start date."))
class IWorkshopfolder(model.Schema):

    directives.mode(title='hidden')
    title = schema.TextLine(title=_(u'Name Of The Workshopfolder'),
                            default=_(u'Workshops'))

    description = schema.Text(
        title=_(u'Workshop Folder Description'),
        required=False,
    )
Exemple #30
0
class ITalksfolder(model.Schema):

    directives.mode(title='hidden')
    title = schema.TextLine(title=_(u'Name Of The Folder For Talks'),
                            default=_(u'Talks'))

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