class IAnuncioTile(IPersistentCoverTile, form.Schema): uuid = schema.TextLine( title=_(u'UUID'), readonly=True, ) form.omitted('total') form.no_omit(IDefaultConfigureForm, 'total') total = schema.List( title=_(u'Numero de itens para se exibir'), value_type=schema.TextLine(), required=False, ) header = schema.TextLine( title=_(u'Header'), required=False, ) form.omitted('description') form.no_omit(IDefaultConfigureForm, 'description') description = schema.Text( title=_(u'Description'), required=False, ) form.omitted('title') form.no_omit(IDefaultConfigureForm, 'title') title = schema.TextLine( title=_(u'Title'), required=False, )
class ICollectionTile(IPersistentCoverTile, form.Schema): title = schema.TextLine(title=u'Title') form.omitted(ICoverTileEditView, 'description') description = schema.Text( title=u'Description', required=False, ) form.omitted(ICoverTileEditView, 'date') date = schema.Datetime( title=u'Date', required=False, ) form.omitted(ICoverTileEditView, 'image') image = NamedImage( title=u'Image', required=False, ) form.omitted(ICoverTileEditView, 'number_to_show') number_to_show = schema.List( title=u'number of elements to show', value_type=schema.TextLine(), required=False, ) uuid = schema.TextLine(title=u'Collection uuid', readonly=True)
class ISurveyGroup(form.Schema, IBasic): title = schema.TextLine( title=_("label_title", default=u"Title"), description=_( "help_surveygroup_title", default=u"The title of this OiRA Tool. This title is used in " u"the OiRA Tool overview in the clients."), required=True) form.order_before(title="*") form.omitted("description") obsolete = schema.Bool( title=_("label_survey_obsolete", default=u"Obsolete survey"), description=_( "help_survey_obsolete", default=u"This OiRA Tool is obsolete; it has been retired or " u"replaced with another OiRA Tool."), default=False, required=False) form.omitted(IEditForm, 'evaluation_algorithm') evaluation_algorithm = schema.Choice( title=_("label_survey_evaluation_algorithm", default=u"Evaluation algorithm"), vocabulary=SimpleVocabulary([ SimpleTerm(u"kinney", title=_("algorithm_kinney", default=u"Standard three criteria")), SimpleTerm(u"french", title=_("french", default=u"Simplified two criteria")), ]), default=u"kinney", required=True)
class IDefinitionBase(form.Schema, ISchemaProvider, IAttributeUUID): """Base for form, form-group definitions""" form.omitted('signature') # instance attribute, not editable form field signature = schema.BytesLine( title=_(u'Schema signature'), description=_(u'MD5 hexidecimal digest hash of entry_schema XML.'), default=DEFAULT_SIGNATURE, required=False, ) form.omitted('signature_history') # attribute, not editable form field signature_history = schema.List( title=_(u'Signature history stack'), description=_(u'Chronologically-ordered list of MD5 hexidecimal ' u'digest hashes of entry_schema XML.'), value_type=schema.BytesLine(), defaultFactory=list, ) title = schema.TextLine( title=u'Title', description=u'Name of definition; this is used as a label displayed ' u'when binding forms to this definition, and also is ' u'used to help create a unique short name for the ' u'definition used in its URL.', required=True, ) description = schema.Text( title=u'Description', description=u'Optional description of this form definition.', required=False, ) form.widget(entry_schema=TextAreaFieldWidget) entry_schema = schema.Bytes( title=_(u'Form schema XML'), description=_(u'Serialized form schema XML.'), constraint=valid_xml_schema, default=DEFAULT_MODEL_XML, required=False, ) # NOTE: this field must be last in interface code: identifier collision form.omitted('schema') # instance attribute, but not editable form field schema = schema.Object( title=_(u'Form schema'), description=_(u'Form schema based upon entry_schema XML, usually ' u'a reference to a transient interface object ' u'looked up from persistent attribute self.signature.'), schema=IInterface, required=True, # implementations should provide empty default readonly=True, # read-only property, though object returned is mutable ) def schema_version(signature): """
class ICollectionTile(IPersistentCoverTile, form.Schema): title = schema.TextLine(title=u'Title') form.omitted(ICoverTileEditView, 'description') description = schema.Text( title=u'Description', required=False, ) form.omitted(ICoverTileEditView, 'date') date = schema.Datetime( title=u'Date', required=False, ) form.omitted(ICoverTileEditView, 'image') image = NamedImage( title=u'Image', required=False, ) form.omitted(ICoverTileEditView, 'number_to_show') number_to_show = schema.List( title=u'number of elements to show', value_type=schema.TextLine(), required=False, ) uuid = schema.TextLine(title=u'Collection uuid', readonly=True) def results(): """ This method return a list og A method to return the rich text stored in the tile """ def populate_with_object(obj): """ This method will take a CT Collection as parameter, and it will store a reference to it. """ def delete(): """ This method removes the persistent data created for this tile """ def accepted_ct(): """ Return a list of supported content types. """ def has_data(): """
class IAssessmentItem(form.Schema): """Assessment Item """ form.widget(referenceMaterial=ContentTreeFieldWidget) referenceMaterial = RelationChoice( title=_(u"Reference Material"), source=ObjPathSourceBinder( object_provides=ITextContent.__identifier__), required=False, ) question = RichText(title=_(u"Question"), required=True) answer = RichText( title=_(u"Answer"), required=False, ) marks = schema.Int( title=_(u"Marks"), required=False, default=0, ) form.omitted('answerMarkedCorrect') answerMarkedCorrect = schema.Int( title=_(u"Answer Marked Correct"), description=_(u"The number of times other members have " "confirmed the answer as correct"), required=False, default=0, ) form.omitted('answerMarkedIncorrect') answerMarkedIncorrect = schema.Int( title=_(u"Answer Marked Incorrect"), description=_(u"The number of times other members have " "marked the answer as incorrect"), required=False, default=0, ) form.omitted('dateLastUsed') dateLastUsed = schema.Datetime( title=_(u"Date Last Used"), description=_(u"The last time this item was used in a test"), required=False, ) learnerResponseTime = schema.Int( title=_(u"Learner Response Time"), required=False, )
class ICollectionTile(IPersistentCoverTile, form.Schema): header = schema.TextLine( title=_(u'Header'), required=False, ) form.omitted('title') form.no_omit(IDefaultConfigureForm, 'title') title = schema.TextLine( title=_(u'Title'), required=False, ) form.omitted('description') form.no_omit(IDefaultConfigureForm, 'description') description = schema.Text( title=_(u'Description'), required=False, ) form.omitted('date') form.no_omit(IDefaultConfigureForm, 'date') date = schema.Datetime( title=_(u'Date'), required=False, ) form.omitted('image') form.no_omit(IDefaultConfigureForm, 'image') image = NamedImage( title=_(u'Image'), required=False, ) # FIXME: this field should be named 'count' form.omitted('number_to_show') form.no_omit(IDefaultConfigureForm, 'number_to_show') number_to_show = schema.List( title=_(u'Number of items to display'), value_type=schema.TextLine(), required=False, ) footer = schema.TextLine( title=_(u'Footer'), required=False, ) uuid = schema.TextLine( title=_(u'UUID'), readonly=True, )
class IListTile(IPersistentCoverTile): uuids = schema.List( title=_(u'Elements'), value_type=schema.TextLine(), required=False, ) form.omitted('uuids') # XXX: this field should be used to replace the 'limit' attribute form.omitted('count') form.no_omit(IDefaultConfigureForm, 'count') count = schema.Int( title=_(u'Number of items to display'), required=False, default=5, ) form.omitted('title') form.no_omit(IDefaultConfigureForm, 'title') title = schema.TextLine( title=_(u'Title'), required=False, ) form.omitted('description') form.no_omit(IDefaultConfigureForm, 'description') description = schema.Text( title=_(u'Description'), required=False, ) form.omitted('image') form.no_omit(IDefaultConfigureForm, 'image') image = NamedBlobImage( title=_(u'Image'), required=False, ) form.omitted('date') form.no_omit(IDefaultConfigureForm, 'date') date = schema.Datetime( title=_(u'Date'), required=False, ) tile_title = schema.TextLine(title=_(u'Tile Title'), required=False) form.omitted('tile_title') form.no_omit(ITileEditForm, 'tile_title') more_link = schema.TextLine(title=_('Show more... link'), required=False) form.omitted('more_link') form.no_omit(ITileEditForm, 'more_link') form.widget(more_link='collective.cover.tiles.edit_widgets.more_link.MoreLinkFieldWidget') more_link_text = schema.TextLine(title=_('Show more... link text'), required=False) form.omitted('more_link_text') form.no_omit(ITileEditForm, 'more_link_text')
class IChartStyleBook(IChartDisplay): """ Style book for charts, can contain (as folder) ILineStyle items, in an ordered manner. """ form.widget(quick_styles=DataGridFieldFactory) quick_styles = schema.List( title=u'Quick series styles', value_type=DictRow(schema=ISeriesQuickStyles), ) # hide fields that are per-chart-specific form.omitted('x_label') form.omitted('y_label')
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, )
class ITimeSeriesChart(IBaseChart, ITimeSeriesCollection): """Chart content item; container for sequences""" form.order_after(auto_crop='frequency') auto_crop = schema.Bool( title=u'Auto-crop to completed data?', description=u'If data contains sequential null values (incomplete ' u'or no data calculable) on the right-hand of a ' u'time-series plot, should that right-hand side ' u'be cropped to only show the latest meaningful ' u'data? The default is to crop automatically.', default=True, ) form.order_after(force_crop='auto_crop') force_crop = schema.Bool( title=u'Forced crop of data?', description=u'If data points are available before a specified ' u'start date or after a specified end-date, should ' u'those points be excluded from the visualization?', default=False, ) form.omitted('label_overrides') label_overrides = schema.Dict( key_type=schema.Date(), value_type=schema.BytesLine(), required=False, ) def series(): """
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, )
class ITimeDataSequence(form.Schema, IDataSeries, ILineDisplay): """Content item interface for a data series stored as content""" input = schema.Text( title=_(u'Data input'), description=_(u'Comma-separated records, one per line ' u'(date, numeric value, [note], [URL]). ' u'Note and URL are optional. Date ' u'should be in MM/DD/YYYY format.'), default=u'', required=False, ) label_default = schema.Choice( title=_(u'Label default'), description=_(u'Default format for X-Axis labels.'), default='locale', vocabulary=DATE_AXIS_LABEL_CHOICES, ) form.omitted('data') data = schema.List( title=_(u'Data'), description=_(u'Data points for time series: date, value; values are ' u'either whole/integer or decimal numbers.'), value_type=schema.Object( schema=ITimeSeriesDataPoint, ), readonly=True, )
class IProvidePasswords(form.Schema): """Add password fields""" # Putting this in a separate fieldset for the moment: form.fieldset('membership', label=_(u"Membership"), fields=['password', 'confirm_password']) # Note that the passwords fields are not required; this means we # can add members without having to add passwords at that time. # The password reset tool should hopefully be able to deal with # that. password = schema.Password( title=_(u"Password"), required=False, ) confirm_password = schema.Password( title=_(u"Confirm Password"), required=False, ) @invariant def password_matches_confirmation(data): """password field must match confirm_password field. """ password = getattr(data, 'password', None) confirm_password = getattr(data, 'confirm_password', None) if (password or confirm_password) and (password != confirm_password): raise Invalid(_(u"The password and confirmation do not match.")) form.omitted('password', 'confirm_password') form.no_omit(IAddForm, 'password', 'confirm_password')
class IRelevantAceContentItemsTile(ISearchAceContentTile): show_share_btn = Bool( title=_(u"Show the share button"), default=False, ) combine_results = Bool( title=_(u"Show listing results, in addition to assigned items"), default=False, ) uuids = Dict( title=_(u"Elements"), key_type=TextLine(), value_type=Dict( key_type=TextLine(), value_type=TextLine(), ), required=False, ) sortBy = Choice( title=_(u"Sort order for results and assigned items"), vocabulary=sortby_vocabulary, ) form.omitted("uuids")
class IChartStyleBook(IChartDisplay): """ Style book for charts, can contain (as folder) ILineStyle items, in an ordered manner. """ goal = schema.Float( title=_(u'Goal'), description=_(u'Common goal value as decimal number. If each ' u'series has different respective goals, edit ' u'those goals on each series.'), required=False, ) # hide fields that are per-chart-specific form.omitted('x_label') form.omitted('y_label')
class IDummy(form.Schema): form.omitted('foo', 'bar') form.omitted(form.Schema, 'qux') form.no_omit(form.Schema, 'bar') form.widget(foo='some.dummy.Widget', baz='other.Widget') form.mode(bar='hidden') form.mode(form.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")
class IProvidePasswords(IProvidePasswordsSchema): """Add password fields""" # Putting this in a separate fieldset for the moment: form.fieldset('membership', label=_(u"Membership"), fields=['password', 'confirm_password']) form.omitted('password', 'confirm_password') form.no_omit(IAddForm, 'password', 'confirm_password')
class IAction(form.Schema, IField): form.omitted('required', 'order', 'default', 'missing_value', 'readonly') # required = Bool( # title=_('Enabled'), #description=_('Tells whether a action is enabled.'), # default=True) def onSuccess(fields, request): pass
class IVideoGalleryTile(IListTile, form.Schema): """ """ header = schema.TextLine( title=_(u'Header'), required=False, ) form.omitted('title') form.no_omit(IDefaultConfigureForm, 'title') title = schema.TextLine( title=_(u'Title'), required=False, readonly=True, ) subtitle = schema.TextLine( title=_(u'Subtitle'), required=False, readonly=False, ) footer_text = schema.TextLine( title=_(u'Footer Link'), required=False, readonly=False, ) form.omitted('image') form.no_omit(IDefaultConfigureForm, 'image') image = NamedImage( title=_(u'Image'), required=False, readonly=True, ) form.omitted('uuids') form.no_omit(IDefaultConfigureForm, 'uuids') uuids = schema.List( title=_(u'Videos'), value_type=schema.TextLine(), required=False, )
class IHTMLImageCacheableFromContent(model.Schema, interfaces.IHTMLImageCacheable): form.fieldset( 'image-caching', label=_(u'Image caching'), fields=('save_images_locally', ), ) form.omitted('html')
class ICreator(form.Schema): form.omitted('creators') creators = schema.Tuple( title=_(u'label_creators', u'Creators'), description=_(u'help_creators', u''), value_type=schema.TextLine(), required=False, missing_value=(), )
class IRelatedProfile(model.Schema): """ Marker/Form interface for RelatedProfile """ form.omitted("relatedProfile") relatedProfile = RelationChoice( title=_(u"Related profile"), source=getProfileBinder, required=False, )
class IBenutzer(model.Schema): """ Content-Type Interface fuer den INWI-Benutzer """ title = schema.TextLine(title=u'Vollständiger Name', required=True) user_id = schema.TextLine( title=u'Anmeldename', description= u"Die Nutzung der E-Mail-Adresse oder einer eindeutigen, trägerindividuellen Benutzerkennung\ wird empfohlen.", constraint=userid_constraint, required=True) email = schema.TextLine(title=u'E-Mail-Adresse', constraint=email_constraint, required=True) location = schema.TextLine(title=u"Dienstort oder Dienstsitz", required=False) form.omitted(IEditForm, 'password') password = schema.TextLine( title=u'Passwort', description= u"Mindestens 8 Zeichen, 1 Großbuchstabe, 1 Kleinbuchstabe und eine Zahl müssen enthalten\ sein.", constraint=passwort_constraint, required=True) form.omitted(IEditForm, 'password_repeat') password_repeat = schema.TextLine(title=u'Passwort wiederholen', required=True) biography = schema.Text(title=u'Vita des Benutzers', required=False) portrait = NamedBlobImage(title=u'Porträtbild', required=False) @invariant def password_invariant(data): if data.password != data.password_repeat: raise Invalid( u"Die eingegebenen Passworte stimmen leider nicht überein.")
class ISketch(form.Schema): """A Fritzing Sketch file """ orderItem = NamedBlobFile( title = _(u"Sketch file"), description = _(u"The .fzz file of your sketch")) copies = Int( title = _(u"Copies"), description = _(u"The more copies, the cheaper each one gets"), min = 1, default = 1) form.omitted('check') check = Bool( title = _(u"File Check"), description = _(u"Have us check your design for an extra 4 EUR"), default = True) form.omitted( 'width', 'height', 'area') width = Float( title = _(u"Width"), description = _(u"The width of this sketch in cm"), min = 0.0, default = 0.0) height = Float( title = _(u"Height"), description = _(u"The height of this sketch in cm"), min = 0.0, default = 0.0) area = Float( title = _(u"Area"), description = _(u"The area of this sketch in cm^2"), min = 0.0, default = 0.0)
class IListTile(IPersistentCoverTile, form.Schema): header = schema.TextLine( title=_(u'Header'), required=False, ) form.omitted('title') form.no_omit(IDefaultConfigureForm, 'title') title = schema.TextLine( title=_(u'Title'), required=False, ) form.omitted('description') form.no_omit(IDefaultConfigureForm, 'description') description = schema.Text( title=_(u'Description'), required=False, ) form.omitted('date') form.no_omit(IDefaultConfigureForm, 'date') date = schema.Datetime( title=_(u'Date'), required=False, ) form.omitted('image') form.no_omit(IDefaultConfigureForm, 'image') image = NamedImage( title=_(u'Image'), required=False, ) form.omitted('uuids') form.no_omit(IDefaultConfigureForm, 'uuids') uuids = schema.List( title=_(u'Elements'), value_type=schema.TextLine(), required=False, )
class IFaqBlockSchema(ITextBlockSchema): """Faq block for simplelayout """ title = schema.TextLine(title=Message(u'label_title', domain='ftw.simplelayout', default=u'Title'), required=True) form.omitted('show_title') form.order_before(title='*')
class IMinutes(form.Schema): """Minutes document schema""" body = RichText(title=_(u"Body text"), default_mime_type="text/x-rst", output_mime_type="text/x-html-safe", allowed_mime_types=("text/x-rst", "text/html"), required=True) form.omitted("deliverable") deliverable = NamedBlobFileField(title=_(u"Deliverable"), required=False)
class IMeasureSeriesProvider(form.Schema, IDataSeries, ILineDisplay): form.widget(measure=ContentTreeFieldWidget) measure = schema.Choice( title=u'Bound measure', description=u'Measure definition that defines a function to apply ' u'to a dataset of forms to obtain a computed value for ' u'each as a data-point.', source=UUIDSourceBinder( portal_type=MEASURE_DEFINITION_TYPE, ), ) dataset = schema.Choice( title=u'Data set (collection)', description=u'Select a dataset that enumerates which forms are ' u'considered part of the data set to query for data. ' u'You must select a dataset within the same measure ' u'group in which the bound measure definition is ' u'contained.', source=MeasureGroupParentBinder( portal_type='uu.formlibrary.setspecifier', ), required=False, ) summarization_strategy = schema.Choice( title=u'Summarization strategy', description=u'How should data be summarized into a single value ' u'when multiple competing values for date or name ' u'are found in the data stream provided by the measure ' u'and data set? For example you may average or sum ' u'the multiple values, take the first or last, ' u'or you may choose to treat such competing values as ' u'a conflict, and omit any value on duplication.', vocabulary=VOCAB_SUMMARIZATION, default='AVG', ) form.omitted('data') data = schema.List( title=_(u'Data'), description=_(u'Data points computed from bound dataset, measure ' u'selected. Should return an empty list if any ' u'bindings are missing. ' u'Whether the data point key/identity type is a date ' u'or a name will depend on the type of chart ' u'containing this data provider.'), value_type=schema.Object( schema=IDataPoint, ), readonly=True, )
class IForwarding(ITask): """Schema interface for forwardings. """ # common fieldset form.omitted('task_type') # only hide relatedItems - we need it for remembering which documents # should be moved after creation when creating forwarding from tabbed view. form.mode(relatedItems=HIDDEN_MODE) # additional fieldset form.omitted('expectedStartOfWork') form.omitted('expectedDuration') form.omitted('expectedCost') form.omitted('effectiveDuration') form.omitted('effectiveCost') #only hide date_of_completion, it's used form.mode(date_of_completion=HIDDEN_MODE) # deadline is not required deadline = schema.Date( title=task_mf(u"label_deadline", default=u"Deadline"), description=task_mf(u"help_deadline", default=u""), required=False, ) form.widget(responsible=AutocompleteFieldWidget) responsible = schema.Choice( title=_(u"label_responsible", default=u"Responsible"), description=_(u"help_responsible", default=""), vocabulary=u'opengever.ogds.base.InboxesVocabulary', required=True, )