class ICpskinEventViewSettings(model.Schema): model.fieldset( 'eventview', label=_(u'Event view'), fields=('image_banner', ), ) model.fieldset( 'eventview', label=_(u'Event view'), fields=('image_header', ), ) image_banner = namedfile.NamedBlobImage( title=_(u'label_bannerimage', default=u'Banner image'), description=_( u'help_bannerimage', default= u'Image used as banner replacement when viewing this event.<br/>This image can be crop into banner format' ), required=False, ) image_header = namedfile.NamedBlobImage( title=_(u'label_headerimage', default=u'Header image'), description=_( u'help_headerimage', default= u'Image used as header in the event.<br/>This image can be crop into banner_event or banner format if banner_event is not available.' ), required=False, )
class IPhilosophy(model.Schema): title = schema.TextLine( title=_(u'title'), required=True, ) philosophy_description = RichText( title=_(u'philosophy description'), required=True, ) philosophy_img = namedfile.NamedBlobImage( title=_(u'philosophy Image'), required=True, ) text_title_img = namedfile.NamedBlobImage( title=_(u'text title Image'), required=True, ) philosophy_text = schema.Text( title=_(u'philosophy text'), required=True, ) text_img = namedfile.NamedBlobImage( title=_(u'philosophy Text Image'), required=True, ) philosophy_body = RichText( title=_(u'philosophy body'), required=True, )
class ISponsor(model.Schema): """Dexterity-Schema for Sponsors """ directives.widget(level=RadioFieldWidget) level = schema.Choice(title=_(u"Sponsoring Level"), vocabulary=LevelVocabulary, required=True) text = RichText(title=_(u"Text"), required=False) url = schema.URI(title=_(u"Link"), required=False) fieldset('Images', fields=['logo', 'advertisment']) logo = namedfile.NamedBlobImage( title=_(u"Logo"), required=False, ) advertisment = namedfile.NamedBlobImage( title=_(u"Advertisment (Gold-sponsors and above)"), required=False, ) directives.read_permission(notes="cmf.ManagePortal") directives.write_permission(notes="cmf.ManagePortal") notes = RichText(title=_(u"Secret Notes (only for site-admins)"), required=False)
class IServiceDescription(model.Schema): service_description = schema.Text( title=_(u'Service description'), required=True, ) description_img = namedfile.NamedBlobImage( title=_(u'description Image'), required=True, ) img_top_text = schema.TextLine( title=_(u'Imgae description top text'), required=True, ) service_img = namedfile.NamedBlobImage( title=_(u'Service Image'), required=True, ) img_bottom_text = schema.TextLine( title=_(u'Image description bottom text'), required=True, )
class IPolyester(model.Schema): """ Marker interface and Dexterity Python Schema for Polyester """ cover = namedfile.NamedBlobImage( title=_(u'Cover'), required=True, ) dm = namedfile.NamedBlobImage( title=_(u'Dm'), required=True, )
class INamedBlobImageField(interfaces.INamedBlobImageField): default = field.NamedBlobImage( title=interfaces.INamedBlobImageField['default'].title, description=interfaces.INamedBlobImageField['default'].description, required=False) missing_value = field.NamedBlobImage( title=interfaces.INamedBlobImageField['missing_value'].title, description=interfaces.INamedBlobImageField['missing_value']. description, required=False)
class IItemArea(model.Schema): """ Improvement Area Values """ title = schema.TextLine( title=_(u"Title English"), required=True, ) title_es = schema.TextLine( title=_(u"Title Spanish"), required=True, ) title_fr = schema.TextLine( title=_(u"Title French"), required=True, ) description = schema.Text( title=_(u'Summary'), required=False, missing_value=u'', ) image = namedfile.NamedBlobImage( title=_(u'Image'), description=_(u"Image used to describe the Working Area"), required=False, )
class IExhibitionObject(model.Schema): """Schema for Exhibition Objects.""" exhibition_context = schema.TextLine(title=_(u'Context'), required=False) date = schema.TextLine(title=_(u'Date'), required=False) not_before = schema.Int(title=_(u'Not Before'), required=False) not_after = schema.Int(title=_(u'Not After'), required=False) dimensions = schema.TextLine(title=_(u'Dimensions'), required=False) inventory_num = schema.TextLine(title=_(u'Inventory Number'), required=True) lender = schema.TextLine(title=_(u'Lender'), required=False) lender_link = schema.URI(title=_(u'Lender Link'), required=False) medium = schema.TextLine(title=_(u'Medium'), required=False) notes = schema.TextLine(title=_(u'Notes'), required=False) credits = schema.TextLine(title=_(u'Credit Line'), required=False) copyright = schema.TextLine(title=_(u'Copyright Notice'), required=False) image = namedfile.NamedBlobImage(title=_(u'Lead Image'), required=False) dexteritytextindexer.searchable('text') text = RichText(title=_(u'Body'), required=False) label = RichText(title=_(u'Label'), required=False)
class ISponsor(form.Schema): # TODO: Want to hide on display only #form.mode(level='hidden', url='hidden') title = schema.TextLine(title=u'Name') form.widget(level=PromptSelectFieldWidget) level = schema.Choice(title=u'Sponsorship Level', required=False, source=LevelsSourceBinder()) url = schema.URI( title=u'Link to company/personal website', required=False, ) text = RichText( title=u'About', description=u'Information about this donation.', required=False, ) amount = schema.Int( title=u'Donation Amount', required=False, ) image = field.NamedBlobImage( title=u'Image', required=False, # some people are just people )
class ISliderImage(form.Schema, ISliderFieldsEnabled): """ Marker/Form interface for Slider Image """ form.fieldset('settings', label=_pad('Settings'), fields=['slider_image', 'slider_title', 'slider_description'] ) slider_image = namedfile.NamedBlobImage( title=_(u'slider_image_label', default=u'Slider Image'), description=_( u'slider_image_description', default=u'Upload slider image'), required=False ) slider_title = schema.TextLine( title=_(u'slider_title_label', default=u'Slider Title'), description=_(u'slider_title_description', default=(u'If set, the slider will use this title instead' ' of the content title') ), required=False ) slider_description = schema.TextLine( title=_(u'slider_description_label', default=u'Slider Description'), description=_(u'slider_description_description', default=(u'If set, the slider will use this description instead' ' of the content description'), ), required=False )
class IAde25WidgetSliderItem(Interface): """ Slide """ image = named_file.NamedBlobImage( title=_(u"Slide Image"), required=True ) image_caption = schema.TextLine( title=_(u"Image Copyright Information"), required=False ) headline = schema.TextLine( title=_(u"Headline"), required=False ) text = RichText( title=_(u"Text"), required=False ) form.widget(link=LinkFieldWidget) link = schema.TextLine( title=_(u"Link"), description=_(u"Optional internal or external link that will be " u"used as redirection target when section is accessed." u"Logged in users will see the target link instead."), required=False, )
class IBanner(model.Schema): s_text = schema.TextLine( title=_(u'small text'), required=False, ) description = schema.Text( title=_(u'Description'), required=False, ) image = namedfile.NamedBlobImage( title=_(u'Image'), required=True, ) link_title = schema.TextLine( title=_(u'banner link title'), required=False, ) directives.widget(link=LinkFieldWidget) link = schema.TextLine( title=_(u'banner link'), required=False, )
class ISector(model.Schema, IUser, IBasic): """Sector object. A sector is a national organisation for a specific type of industry. """ directives.order_before(title="*") directives.write_permission(title="euphorie.content.ManageCountry") directives.order_after(login="******") directives.write_permission(login="******") directives.order_before(password="******") directives.order_after(locked="password") directives.write_permission(locked="euphorie.content.ManageCountry") contact_name = schema.TextLine( title=_("label_contact_name", default="Contact name"), required=True ) directives.order_after(contact_email="contact_name") logo = filefield.NamedBlobImage( title=_("label_logo", default="Logo"), description=_( "help_image_upload", default="Upload an image. Make sure your image is of format " "png, jpg or gif and does not contain any special " "characters. The minimum size is 1000 (width) x 430 (height) pixels.", ), required=False, )
class IPdfFile(model.Schema): """ Marker interfce and Dexterity Python Schema for Promotion """ # directives.omitted('title') title = schema.TextLine( title=_(u'Title'), # description=u"", required=False, defaultFactory=request_title, ) description = schema.Text( title=_(u'Description'), # description=u"", required=False) file = namedfile.NamedBlobFile( title=_(u'File'), required=True, constraint=isValidFileType, # primary=True, ) model.primary('file') directives.omitted('thumbfile') thumbfile = namedfile.NamedBlobImage( title=_(u'ImageThumb'), required=False, )
class IBannerTile(IPersistentCoverTile): title = schema.TextLine( title=_(u'Title'), required=False, ) form.omitted(IDefaultConfigureForm, 'remote_url') remote_url = schema.URI( title=_(u'label_remote_url', default=u'URL'), description=_(u'help_remote_url', default=u'Use absolute links only.'), required=False, ) image = field.NamedBlobImage( title=_(u'Image'), required=False, ) form.omitted(IDefaultConfigureForm, 'alt_text') alt_text = schema.TextLine( title=_(u'label_alt_text', default=u'Alternative Text'), description=_( u'help_alt_text', default= u'Provides a textual alternative to non-text content in web pages.' ), # noqa E501 required=False, ) uuid = schema.TextLine( # FIXME: this must be schema.ASCIILine() title=_(u'UUID'), required=False, readonly=True, )
class IPOTDTile(IPersistentCoverTile): """This tile displays an outstanding photo selected daily.""" title = schema.TextLine( title=_(u'Title'), required=False, default=u'', ) description = schema.Text( title=_(u'Description'), required=False, default=u'', ) photo_credits = schema.TextLine( title=_(u'Credits'), required=False, default=u'', ) image = field.NamedBlobImage( title=_(u'Photo'), required=False, ) uuid = schema.TextLine( title=u'UUID', required=False, readonly=True, )
class IDonor(model.Schema): """ Project type """ title = schema.TextLine( title=_(u"Title"), required=True, ) description = schema.Text( title=_(u'Summary'), required=False, missing_value=u'', ) image = namedfile.NamedBlobImage( title=_(u'Image'), required=False, ) country = schema.List( title=_(u"Country"), description=_(u"Choose countries from list that represents this country."), value_type=schema.Choice( source=utils.countries), required=True, ) contact = schema.TextLine( title=_(u'Contact email'), required=False, missing_value=u'', )
class IDXCustomIcon(model.Schema, ICustomIcon): """Dexterity behavior for custom icons """ iconimage = namedfile.NamedBlobImage( title=_(u"Icon Image"), description=_(u"You can upload an icon image. This image will be" u" used as the icon for the content."), required=False, ) iconpool = schema.Choice( title=_(u"Icon Pool"), description=_(u"You can select an icon from the pool. This image" u" will be used as the icon for the content."), vocabulary=u"customicons.vocabulary", required=False, ) form.fieldset('settings', fields=['iconimage', 'iconpool'])
class ITimelineEntry(model.Schema): """Timeline Item content type interface.""" image = field.NamedBlobImage(title=_(u"Image"), required=True) copyright = schema.TextLine(title=_(u"Copyright"), required=False) year = schema.Int(title=_(u"Year"), required=True) month = schema.Int(title=_(u"Month"), min=1, max=12, required=False) day = schema.Int(title=_(u"Day"), min=1, max=31, required=False) @invariant def date_invariant(data): items = [data.year, data.month, data.day] # just year set if len(set(items)) == 2 and data.year is not None: return # year, month, day set try: datetime(data.year, data.month, data.day) except ValueError: raise Invalid(_(u'Invalid date'))
class IProductimg(model.Schema): title = schema.TextLine(title=_(u'Title'), required=False) image = namedfile.NamedBlobImage( title=_(u'Product Image'), required=True, )
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, )
class IAde25WidgetImageBase(Interface): """ Base image metadata fields """ image = named_file.NamedBlobImage(title=_(u"Cover Image"), required=False) image_related = RelationChoice( title=_(u"Cover Image Select"), description=_(u"Select existing image in the asset repository"), required=False, default=None, vocabulary='ade25.widgets.vocabularies.ContentWidgetAssets') directives.widget('image_related', RelatedItemsFieldWidget, pattern_options={ 'recentlyUsed': False, 'basePath': asset_repository_path(), 'path': asset_repository_path(), 'mode': 'auto', 'favorites': [], 'folderTypes': [ 'Folder', 'ade25.widgets.assetsfolder', ], 'selectableTypes': ['Image'], }) image_alt = schema.TextLine(title=_(u"Image Alt Text"), required=False) image_title = schema.TextLine(title=_(u"Image Title Text"), required=False) image_caption = schema.TextLine(title=_(u"Image Copyright Information"), required=False)
class IPhotosBehavior(form.Schema): """Adds settings to medialog.controlpanel """ photos = schema.List(title=_(u"Images"), value_type=namedfile.NamedBlobImage(title=_(u"Image"), required=False)) form.widget(photos=MultiFileFieldWidget)
class IAltImage(model.Schema): """ """ altimage = namedfile.NamedBlobImage( title=_(u'altimage_field_title', default=u'Alternative image'), description=_(u'altimage_field_description', default=u''), required=False, )
class IVideo(model.Schema): form.omitted('image') image = namedfile.NamedBlobImage( title=_(u"Cover Image"), description=u"", required=False, ) # main file will always be converted to mp4 form.widget(video_file=StreamNamedFileFieldWidget) model.primary('video_file') video_file = namedfile.NamedBlobFile(title=_(u"Video File"), description=u"", required=False, constraint=valid_video) form.omitted(IAddForm, 'video_file_ogv') form.omitted(IEditForm, 'video_file_ogv') form.widget(video_file_ogv=StreamNamedFileFieldWidget) video_file_ogv = namedfile.NamedBlobFile(required=False, ) form.omitted(IAddForm, 'video_file_webm') form.omitted(IEditForm, 'video_file_webm') form.widget(video_file_webm=StreamNamedFileFieldWidget) video_file_webm = namedfile.NamedBlobFile(required=False, ) youtube_url = schema.TextLine( title=_(u"Youtube URL"), description=_(u"Alternatively, you can provide a youtube video url. " u"If this is specified, video file will be ignored."), required=False) @invariant def validate_videos(data): if not data.video_file and not data.youtube_url: raise Invalid("Must specify either a video file or youtube url") width = schema.Int(title=_(u"Width"), default=640) height = schema.Int(title=_(u"Height"), default=320) subtitle_file = namedfile.NamedBlobFile( title=_(u"Subtitle file"), description=_(u"Provide a file in srt format"), required=False) form.omitted('metadata') metadata = schema.Text(required=False) transcript = RichText(title=_(u"Transcript"), default_mime_type='text/html', output_mime_type='text/html', allowed_mime_types=('text/html', 'text/plain'), default=u"", required=False)
class IImageField(model.Schema): """We need to override the default image field so that we can interpret an empty string as NOT_CHANGED. """ image = namedfile.NamedBlobImage( title=u'Image', description=u'', required=False, )
class IPreview(model.Schema): preview_image = namedfile.NamedBlobImage( title=_(u"label_previewimage", default=u"Vorschaubild"), description=u"", required=False, ) preview_caption = TextLine( title=_(u"Legende zum Vorschaubild"), description=_(u"Bitte Lizenzinformationen in folgender Form angeben"), required=False, )
class IRequiredLeadImage(ILeadImage): image = namedfile.NamedBlobImage(title=_(u'label_leadimage', default=u'Lead Image'), description=_(u'help_leadimage', default=u''), required=True) image_caption = schema.TextLine( title=_(u'label_leadimage_caption', default=u'Lead Image Caption'), description=_(u'help_leadimage_caption', default=u''), required=False, )
class IFeedItem(model.Schema): """Feed Item content type interface.""" image = field.NamedBlobImage( title=_(u'Image'), required=False, ) url = schema.TextLine( title=_(u'URL'), description=_(u'The address of original url.'), required=True, )
class ILeadImage(model.Schema): image = namedfile.NamedBlobImage( title=_(u'label_leadimage', default=u'Lead Image'), description=u'', required=False, ) image_caption = schema.TextLine( title=_(u'label_leadimage_caption', default=u'Lead Image Caption'), description=u'', required=False, )