class ICTATileBase(Interface): form.widget(value=DataGridFieldFactory) title = schema.TextLine( title=_(u'Title'), default=u'CTA Buttons', required=False, ) background = schema.Choice( title=_(u"Background"), vocabulary='agsci.common.tiles.cta_background', default=u'light', required=True, ) value = schema.List( title=u"Buttons", description=u"Default order: Orange, Green, Purple", value_type=DictRow(title=u"Button", schema=ICTATileRowSchema), required=False ) full_width = schema.Bool( title=_(u"Full Width?"), description=_(u""), required=False, default=True, )
class ILocation(model.Schema): __doc__ = "Location Data" street_address = schema.List( title=_(u"Street Address"), required=False, value_type=schema.TextLine(required=False), ) city = schema.TextLine( title=_(u"City"), required=False, ) state = schema.Choice( title=_(u"State"), vocabulary="agsci.common.states", required=False, ) zip_code = schema.TextLine( title=_(u"ZIP Code"), required=False, )
class ILinkDescriptionRowSchema(Interface): title = schema.TextLine(title=_(u"Title"), required=False) description = schema.TextLine(title=_(u"Description"), required=False) url = schema.TextLine(title=_(u"URL"), required=False)
class INewsletter(model.Schema): form.widget(value=DataGridFieldFactory) target = RelationChoice( title=_(u"Target Collection"), source=CatalogSource(object_provides=ICollection.__identifier__), required=False, ) show_summary = schema.Choice( title=_(u"Enabled"), required=False, values=['yes', 'no', 'auto'], default='auto', ) limit = schema.Choice( title=_(u"Months to Limit"), required=False, values=[1, 3, 6, 9, 12], default=1, ) value = schema.List(title=u"News Items", value_type=DictRow(title=u"News Item", schema=INewsletterItemsRowSchema), required=False) listserv_email = schema.TextLine( title=_(u"Listserv Email"), description=_(u"[Listserv Name]@lists.psu.edu"), required=False, )
class IFozzieBearTile(IBorderTile): form.widget(value=DataGridFieldFactory) title = schema.TextLine( title=_(u"Title"), required=False ) style = schema.Choice( title=_(u"Style"), vocabulary='agsci.common.tiles.cta_background', default=u'light', required=True, ) value = schema.List( title=u"Items", value_type=DictRow(title=u"Items", schema=IItemBlockTileRowSchema), required=False ) count = schema.Choice( title=_(u"Count"), values=[1,2,3,4], required=False, default=4, )
class IStatlerTile(Interface): form.widget(value=DataGridFieldFactory) title = schema.TextLine( title=_(u"Title"), required=False ) show_title = schema.Bool( title=_(u"Show Title?"), description=_(u""), required=False, default=True, ) value = schema.List( title=u"Buttons", value_type=DictRow(title=u"Cards", schema=IButtonBlockTileRowSchema), required=False ) count = schema.Choice( title=_(u"Count"), values=[1,2,3,4], default=1, required=True, )
class ICountyContainer(ICounty): county = schema.List( title=_(u"County"), description=_(u""), value_type=schema.Choice(vocabulary="agsci.common.programs.County"), required=False, )
class IResearchAreas(model.Schema): department_research_areas = schema.List( title=_(u"Research Areas"), description=_(u""), value_type=schema.TextLine(required=True), required=False, )
class INewsItemFields(model.Schema): article_link = schema.TextLine( title=_(u"Article URL"), description= _(u"Use this field if the article lives at another place on the internet. Do not copy/paste the full article text from another source." ), required=False, )
class IPersonOrderRowSchema(Interface): username = schema.Choice( title=_(u"Name"), vocabulary='agsci.common.tiles.people', required=False, ) order = schema.Choice(title=_(u"Order"), values=range(1, 100), required=False)
class IDefaultExcludeFromNavigation(IExcludeFromNavigation): form.write_permission(exclude_from_nav="cmf.ManagePortal") exclude_from_nav = schema.Bool( title=_(u'label_exclude_from_nav', default=u'Exclude from navigation'), description=_(u'help_exclude_from_nav', default=u'If selected, this item will not appear in the ' u'navigation tree'), default=True, required=False, )
class ITagsRoot(model.Schema): form.write_permission(available_public_tags="cmf.ManagePortal") available_public_tags = schema.List( title=_(u"Available public tags"), description= _(u"Add the tags that will be available for contributors to this blog." ), value_type=schema.TextLine(required=True), required=False, )
class IExtensionFilteredListingTile(IExtensionListingTile): department_id = schema.Choice( title=_(u"Department"), vocabulary='agsci.common.tiles.extension_homepage.departments', required=False, ) category = schema.Choice( title=_(u"Category"), vocabulary='agsci.common.tiles.extension_homepage.l1_categories', required=False, )
class IAgJourneyBioTile(Interface): title = schema.TextLine(title=_(u"Title"), required=False) title_bold = schema.TextLine(title=_(u"Title (Bold)"), required=False) text = RichText( title=_(u'Text'), required=False, ) image = NamedBlobImage( title=_(u"Image"), description=_(u"The image will always be used if it exists."), required=False, ) url = schema.TextLine( title=_(u"Video URL"), description=_(u"The video will be used if no image is provided."), required=False, ) video_aspect_ratio = schema.Choice( title=_(u"Video Aspect Ratio"), vocabulary="agsci.common.tiles.video_aspect_ratio", required=True, default=u"16:9", )
class INewsletterItemsRowSchema(Interface): target = RelationChoice( title=_(u"News Item"), source=CatalogSource( object_provides=[INewsItem.__identifier__, ILink.__identifier__]), required=False, ) spotlight = schema.Bool( title=_(u"Spotlight"), required=False, default=False, )
class ICallToActionImageAndBlocksTile(Interface): form.widget(value=DataGridFieldFactory) image = NamedBlobImage( title=_(u"Image"), description=_(u""), required=False, ) value = schema.List( title=u"Buttons", value_type=DictRow(title=u"Button", schema=IButtonBlockTileRowSchema), required=False )
class ICounty(model.Schema): model.fieldset( 'categorization', label=_(u'Categorization'), fields=('county',), ) county = schema.List( title=_(u"County"), description=_(u""), value_type=schema.Choice(vocabulary="agsci.common.programs.County"), required=False, defaultFactory=defaultCounty, )
class IDirectory(model.Schema): show_classifications = schema.List( title=_(u"Show Classifications"), required=False, value_type=schema.Choice( vocabulary="agsci.common.person.classifications"), ) show_jump_links = schema.Bool( title=_(u"Show Jump Links"), description=_(u"Only works on table view, not detail view."), default=True, required=False, )
class IAgJourneyJumbotronTile(Interface): title = schema.TextLine( title=_(u"Title"), required=False, default=u"Ag Journeys", ) description = schema.TextLine(title=_(u"Quote"), required=False) image = NamedBlobImage( title=_(u"Image"), description=_(u""), required=False, )
class ITags(model.Schema): model.fieldset( 'categorization', label=_(u'Categorization'), fields=('public_tags', ), ) public_tags = schema.List( title=_(u"Public Tags"), description=_(u"Tags for the object that are visible to the public."), required=False, value_type=schema.Choice( vocabulary="agsci.common.available_public_tags"), )
class IDropdownAccordionRowSchema(Interface): title = schema.TextLine( title=_(u"Title"), required=False ) description = schema.TextLine( title=_(u"Description"), required=False ) text = RichText( title=_(u'Text'), required=False, )
class IItemBlockTileRowSchema(Interface): pre = schema.TextLine( title=_(u"Pre-value Text"), required=False ) value = schema.TextLine( title=_(u"Value"), required=False ) label = schema.TextLine( title=_(u"Label"), required=False )
class IPersonTileRowSchema(Interface): username = schema.Choice( title=_(u"Name"), vocabulary='agsci.common.tiles.people', required=False, )
class IJumbotronTile(Interface): title = schema.TextLine( title=_(u"Title"), required=False ) image = NamedBlobImage( title=_(u"Image"), description=_(u""), required=False, ) text = RichText( title=_(u'Text'), required=False, )
class ICTATileRowSchema(IButtonTileRowSchema): color = schema.Choice( title=_(u"Button Color"), vocabulary='agsci.common.tiles.cta_block_colors', default=u'orange', required=False, )
class ISocialMediaTileRowSchema(Interface): platform = schema.Choice( title=_(u"Social Media Platform"), vocabulary='agsci.common.tiles.social_media_platform', required=False ) url = schema.TextLine( title=_(u"URL"), required=False ) label = schema.TextLine( title=_(u"Label (Optional)"), required=False )
class IGonzoTile(Interface): title = schema.TextLine( title=_(u"Title"), required=False ) text = RichText( title=_(u'Text'), required=False, ) image = NamedBlobImage( title=_(u"Image"), description=_(u""), required=False, ) image_alt = schema.TextLine( title=_(u'Image Alt Text'), required=False, ) image_align = schema.Choice( title=_(u"Image Align"), vocabulary='agsci.common.tiles.lr_align', default=u'right', required=False, ) label = schema.TextLine( title=_(u"Label"), required=False ) url = schema.TextLine( title=_(u"URL"), required=False ) full_width = schema.Bool( title=_(u"Full Width?"), description=_(u""), required=False, default=True, )
class IPublicationRowSchema(Interface): ai_id = schema.TextLine(title=_(u"ai_id"), required=False) title = schema.TextLine(title=_(u"Title"), required=False) doi = schema.TextLine(title=_(u"URL"), required=False) journal_title = schema.TextLine(title=_(u"Journal Title"), required=False) published_on = schema.Datetime( title=_(u'Published On'), required=False, ) abstract = RichText( title=_(u"Abstract"), required=False, ) contributors = schema.List( title=_(u"Contributors"), value_type=schema.TextLine(required=True), required=False, )
class ICollectionFields(model.Schema): model.fieldset( 'settings', label=_(u'Settings'), fields=[ 'order_by_id', 'order_by_title', 'show_person_areas', ], ) order_by_id = schema.List( title=_(u"Order by id"), description=_(u"The content will show items with the listed ids first, and then sort by the default sort order. One per line."), value_type=schema.TextLine(required=True), required=False, ) order_by_title = schema.List( title=_(u"Order by Title"), description=_(u"The content will show items matching the specified regex patterns first, and then sort by the default sort order. One per line."), value_type=schema.TextLine(required=True), required=False, ) show_person_areas = schema.Bool( title=_(u"Show 'Areas of Expertise' for people in results."), description=_(u""), required=False, )
class IYouTubeTile(IBorderTile): title = schema.TextLine( title=_(u"Title"), required=False ) description = schema.TextLine( title=_(u"Description"), required=False ) text = RichText( title=_(u'Text'), required=False, ) url = schema.TextLine( title=_(u"Video URL"), required=True, ) video_aspect_ratio = schema.Choice( title=_(u"Video Aspect Ratio"), vocabulary="agsci.common.tiles.video_aspect_ratio", required=True, default=u"16:9", ) full_width = schema.Bool( title=_(u"Full Width?"), description=_(u""), required=False, default=False, )