class AddFileForm(ListForm): template = 'admin/media/file-add-form.html' id = 'add-file-form' submit_text = None event = events.Admin.AddFileForm fields = [ FileField( 'file', label_text=N_( 'Select an encoded video or audio file on your computer'), validator=FieldStorageUploadConverter(not_empty=False, label_text=N_('Upload'))), SubmitButton('add_url', default=N_('Add URL'), named_button=True, css_class='btn grey btn-add-url f-rgt'), TextField('url', validator=URIValidator, suppress_label=True, attrs=lambda: {'title': _('YouTube, Vimeo, Amazon S3 or any other link')}, maxlength=255), ]
class fields(WidgetsList): name = TextField(validator=validators['name'], label_text=N_('Your Name:'), maxlength=50) email = TextField(validator=email_validator(not_empty=True), label_text=N_('Your Email:'), help_text=N_('(will never be published)'), maxlength=255) title = TextField(validator=validators['title'], label_text=N_('Title:'), maxlength=255) description = XHTMLTextArea(validator=validators['description'], label_text=N_('Description:'), attrs=dict(rows=5, cols=25)) url = TextField(validator=validators['url'], label_text=N_('Add a YouTube, Vimeo or Amazon S3 link:'), maxlength=255) file = FileField(validator=FieldStorageUploadConverter(if_missing=None, messages={'empty':N_('Oops! You forgot to enter a file.')}), label_text=N_('OR:')) submit = SubmitButton(default=N_('Submit'), css_classes=['mcore-btn', 'btn-submit'])
class ThumbForm(ListForm): template = 'admin/thumb-form.html' id = 'thumb-form' css_class = 'form' submit_text = None event = events.Admin.ThumbForm fields = [ FileField('thumb', validator=FieldStorageUploadConverter( not_empty=True, messages={'empty': N_('You forgot to select an image!')}, )), # TODO: Put this submit button back in, and update the javascript to remove it. # SubmitButton('save', default='Save', css_classes=['btn', 'btn-save', 'f-rgt']), ]
class fields(WidgetsList): podcast_include = SingleSelectField( 'podcast', label_text=N_('Include in the Podcast'), css_classes=['dropdown-select'], options=lambda: [(None, None)] + DBSession.query( Podcast.id, Podcast.title).all()) title = TextField(validator=validators['title'], label_text=N_('Title:'), maxlength=255) description = XHTMLTextArea(validator=validators['description'], label_text=N_('Description:'), attrs=dict(rows=5, cols=25)) file = FileField(validator=FieldStorageUploadConverter( if_missing=None, messages={'empty': N_('Oops! You forgot to enter a file.')})) submit = SubmitButton(default=N_('Submit'), css_classes=['mcore-btn', 'btn-submit'])
class AppearanceForm(ListForm): template = 'admin/box-form.html' id = 'settings-form' css_class = 'form' submit_text = None fields = [ ListFieldSet('general', suppress_label=True, legend=N_('General'), css_classes=['details_fieldset'], children=[ FileField('appearance_logo', label_text=N_('Logo'), validator=FieldStorageUploadConverter(not_empty=False, label_text=N_('Upload Logo')), css_classes=[], default=lambda: app_globals.settings.get('appearance_logo', \ 'logo.png'), template='./admin/settings/appearance_input_field.html'), FileField('appearance_background_image', label_text=N_('Background Image'), validator=FieldStorageUploadConverter(not_empty=False, label_text=N_('Upload Background')), css_classes=[], default=lambda: app_globals.settings.get('appearance_background_image', \ 'bg_image.png'), template='./admin/settings/appearance_input_field.html'), TextField('appearance_background_color', maxlength=255, label_text=N_('Background color'), validator=Regex(hex_validation_regex, strip=True)), TextField('appearance_link_color', maxlength=255, label_text=N_('Link color'), validator=Regex(hex_validation_regex, strip=True)), TextField('appearance_visited_link_color', maxlength=255, label_text=N_('Visited Link color'), validator=Regex(hex_validation_regex, strip=True)), TextField('appearance_text_color', maxlength=255, validator=Regex(hex_validation_regex, strip=True), label_text=N_('Text color')), TextField('appearance_heading_color', maxlength=255, label_text=N_('Heading color'), validator=Regex(hex_validation_regex, strip=True)), SingleSelectField('appearance_navigation_bar_color', label_text=N_('Color Scheme'), options=navbar_colors), ] ), ListFieldSet('options', suppress_label=True, legend=N_('Options'), css_classes=['details_fieldset'], children=[ CheckBox('appearance_enable_cooliris', css_classes=['checkbox-left'], label_text=N_('Enable Cooliris on the Explore Page'), validator=Bool(if_missing='')), CheckBox('appearance_enable_featured_items', label_text=N_('Enable Featured Items on the Explore Page'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_enable_podcast_tab', label_text=N_('Enable Podcast Tab'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_enable_user_uploads', label_text=N_('Enable User Uploads'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_enable_widescreen_view', label_text=N_('Enable widescreen media player by default'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_display_logo', label_text=N_('Display Logo'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_display_background_image', label_text=N_('Display Background Image'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_display_mediacore_footer', label_text=N_('Display MediaCore Footer'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_display_mediacore_credits', label_text=N_('Display MediaCore Credits in Footer'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), ], template='./admin/settings/appearance_list_fieldset.html', ), ListFieldSet('advanced', suppress_label=True, legend=N_('Advanced'), css_classes=['details_fieldset'], children=[ TextArea('appearance_custom_css', label_text=N_('Custom CSS'), attrs=dict(rows=15, cols=25)), TextArea('appearance_custom_header_html', label_text=N_('Custom Header HTML'), attrs=dict(rows=15, cols=25)), TextArea('appearance_custom_footer_html', label_text=N_('Custom Footer HTML'), attrs=dict(rows=15, cols=25)), ], ), SubmitButton('save', default=N_('Save'), css_classes=['btn', 'btn-save', 'blue', 'f-rgt']), SubmitButton('reset', default=N_('Reset to Defaults'), css_classes=['btn', 'btn-cancel', 'reset-confirm']), ]
class AppearanceForm(ListForm): template = 'admin/box-form.html' id = 'settings-form' css_class = 'form' submit_text = None event = events.Admin.Settings.AppearanceForm fields = [ ListFieldSet('general', suppress_label=True, legend=N_('General'), css_classes=['details_fieldset'], children=[ FileField('appearance_logo', label_text=N_('Logo'), validator=FieldStorageUploadConverter(not_empty=False, label_text=N_('Upload Logo')), css_classes=[], default=lambda: request.settings.get('appearance_logo', \ 'logo.png'), template='./admin/settings/appearance_input_field.html'), FileField('appearance_background_image', label_text=N_('Background Image'), validator=FieldStorageUploadConverter(not_empty=False, label_text=N_('Upload Background')), css_classes=[], default=lambda: request.settings.get('appearance_background_image', \ 'bg_image.png'), template='./admin/settings/appearance_input_field.html'), TextField('appearance_background_color', maxlength=255, label_text=N_('Background color'), validator=Regex(hex_validation_regex, strip=True)), TextField('appearance_link_color', maxlength=255, label_text=N_('Link color'), validator=Regex(hex_validation_regex, strip=True)), TextField('appearance_visited_link_color', maxlength=255, label_text=N_('Visited Link color'), validator=Regex(hex_validation_regex, strip=True)), TextField('appearance_text_color', maxlength=255, validator=Regex(hex_validation_regex, strip=True), label_text=N_('Text color')), TextField('appearance_heading_color', maxlength=255, label_text=N_('Heading color'), validator=Regex(hex_validation_regex, strip=True)), SingleSelectField('appearance_navigation_bar_color', label_text=N_('Color Scheme'), options=navbar_colors), ] ), ListFieldSet('options', suppress_label=True, legend=N_('Options'), css_classes=['details_fieldset'], children=[ CheckBox('appearance_enable_cooliris', css_classes=['checkbox-left'], label_text=N_('Enable Cooliris on the Explore Page'), help_text=N_('Cooliris support is deprecated and will be ' + \ 'removed in the next major version of MediaDrop ' + \ 'unless someone is interested in maintaining it.'), validator=Bool(if_missing='')), CheckBox(u'appearance_display_login', css_classes=['checkbox-left'], label_text=N_('Display login link for all users'), validator=Bool(if_missing='')), CheckBox('appearance_enable_featured_items', label_text=N_('Enable Featured Items on the Explore Page'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_enable_podcast_tab', label_text=N_('Enable Podcast Tab'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_enable_user_uploads', label_text=N_('Enable User Uploads'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_enable_widescreen_view', label_text=N_('Enable widescreen media player by default'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_display_logo', label_text=N_('Display Logo'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_display_background_image', label_text=N_('Display Background Image'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_display_mediadrop_footer', label_text=N_('Display MediaDrop Footer'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), CheckBox('appearance_display_mediadrop_credits', label_text=N_('Display MediaDrop Credits in Footer'), css_classes=['checkbox-left'], validator=Bool(if_missing='')), ], template='./admin/settings/appearance_list_fieldset.html', ), ListFieldSet('player', suppress_label=True, legend=N_('Player Menu Options'), css_classes=['details_fieldset'], children=[ CheckBox('appearance_show_download', css_classes=['checkbox-left'], label_text=N_('Enable Download button on player menu bar.'), validator=Bool(if_missing='')), CheckBox('appearance_show_share', css_classes=['checkbox-left'], label_text=N_('Enable Share button on player menu bar.'), validator=Bool(if_missing='')), CheckBox('appearance_show_embed', css_classes=['checkbox-left'], label_text=N_('Enable Embed button on player menu bar.'), validator=Bool(if_missing='')), CheckBox('appearance_show_widescreen', css_classes=['checkbox-left'], label_text=N_('Enable Widescreen toggle button on player menu bar.'), validator=Bool(if_missing='')), CheckBox('appearance_show_popout', css_classes=['checkbox-left'], label_text=N_('Enable Popout button on player menu bar.'), validator=Bool(if_missing='')), CheckBox('appearance_show_like', css_classes=['checkbox-left'], label_text=N_('Enable Like button on player menu bar.'), validator=Bool(if_missing='')), CheckBox('appearance_show_dislike', css_classes=['checkbox-left'], label_text=N_('Enable Dislike button on player menu bar.'), validator=Bool(if_missing='')), ], template='./admin/settings/appearance_list_fieldset.html', ), ListFieldSet('advanced', suppress_label=True, legend=N_('Advanced'), css_classes=['details_fieldset'], children=[ TextArea('appearance_custom_css', label_text=N_('Custom CSS'), attrs=dict(rows=15, cols=25)), TextArea('appearance_custom_header_html', label_text=N_('Custom Header HTML'), attrs=dict(rows=15, cols=25)), TextArea('appearance_custom_footer_html', label_text=N_('Custom Footer HTML'), attrs=dict(rows=15, cols=25)), TextArea('appearance_custom_head_tags', label_text=N_('Custom <head> Tags'), help_text=N_('These HTML tags are inserted into the HTML ' '<head> section. Bad input can cause ugly rendering of ' 'your site. You can always restore your page by ' 'the box above.'), attrs=dict(rows=15, cols=25)), ], ), SubmitButton('save', default=N_('Save'), css_classes=['btn', 'btn-save', 'blue', 'f-rgt']), SubmitButton('reset', default=N_('Reset to Defaults'), css_classes=['btn', 'btn-cancel', 'reset-confirm']), ]