label_msgid='indicators_label_methodology_gapfilling', i18n_domain='indicators', ), default_content_type="text/html", searchable=True, schemata="Methodology", default_output_type="text/x-html-safe", ), TextField( name='description', widget=TextAreaWidget( visible={ 'view': 'invisible', 'edit': 'invisible' }, label='Description', description=("A short and concise description about " "this indicator."), label_msgid='indicators_label_description', i18n_domain='indicators', ), accessor="Description", ), StringField( name='related_external_indicator', widget=StringField._properties['widget']( label="Related external indicator", description="Related external indicator", label_msgid='indicators_label_related_external_indicator', i18n_domain='indicators', ),
label=_("Maximum columns per results email"), description= _("Set the maximum number of analysis requests per results email. " "Too many columns per email are difficult to read for some clients " "who prefer fewer results per email"), )), TextField( 'ResultFooter', schemata="Results Reports", default_content_type='text/plain', allowed_content_types=('text/plain', ), default_output_type="text/plain", default="", widget=TextAreaWidget( label=_("Result Footer"), description=_("This text will be appended to results reports."), append_only=False, ), ), # IntegerField('BatchFax', # schemata = "Results Reports", # required = 1, # default = 4, # widget = IntegerWidget( # label=_("Maximum columns per results fax"), # description = "Too many AR columns per fax will see the font size minimised and could " # "render faxes illegible. 4 ARs maximum per page is recommended", # ) # ), # StringField('SMSGatewayAddress', # schemata = "Results Reports",
]), required=True, widget=StringWidget( label="Organisation url", description=("Web address with more info about this organisation. " "Add http:// for external links."), label_msgid='dataservice_label_url', description_msgid='dataservice_help_url', i18n_domain='eea', )), TextField(name='data_policy', searchable=True, widget=TextAreaWidget( label="Data policy", description="Data policy description.", label_msgid='dataservice_label_policy', description_msgid='dataservice_help_policy', i18n_domain='eea', )), ), ) Organisation_schema = ATFolderSchema.copy() + schema.copy() class Organisation(ATFolder): """ Organisation Content Type """ implements(IOrganisation) security = ClassSecurityInfo() archetype_name = 'Organisation'
"<li>counter type: [backreference|contained]</li>" "<li>counter reference: a parameter to the counting" " function</li>" "<li>prefix: default prefix if none provided in format" " string</li>" "<li>split length: the number of parts to be included in the" " prefix</li>" "</ul></p>"))), StringField( 'IDServerValues', schemata="ID Server", accessor="getIDServerValuesHTML", readonly=True, widget=TextAreaWidget( label=_("ID Server Values"), cols=30, rows=30, ), ), RecordsField( 'RejectionReasons', schemata="Analyses", widget=RejectionSetupWidget( label=_("Enable the rejection workflow"), description=_( "Select this to activate the rejection workflow " "for Samples. A 'Reject' option will be displayed in " "the actions menu.")), ), IntegerField( 'DefaultNumberOfARsToAdd',
LinesField( 'roomContents', required=True, searchable=False, default="", widget=LinesWidget( description= "List what the room contents for working materials, one per line.", label=_(u'Room Contents', default=u'Room Contents'))), TextField( 'extraNotes', required=False, searchable=False, default="", widget=TextAreaWidget( description= "This note is displayed with area as a extra snippet of information.", label=_(u'Extra Note', default=u'Extra Note'))), ImageField('imageReference', required=False, searchable=False, default="", validators=(), widget=ImageWidget( size=100, description='Upload a image of the location.', label=_(u'Location Image', default=u'Location Image'), )), )) GroupLocationSchema['title'].widget.label = 'Location Name' GroupLocationSchema[
"'floor([Ca] + [Mg])'. "), allowDelete=True, ), ), TextField( 'Formula', validators=('formulavalidator', ), default_content_type='text/plain', allowable_content_types=('text/plain', ), widget=TextAreaWidget( label=_("Calculation Formula"), description=_( "<p>The formula you type here will be dynamically calculated " "when an analysis using this calculation is displayed.</p>" "<p>To enter a Calculation, use standard maths operators, " "+ - * / ( ), and all keywords available, both from other " "Analysis Services and the Interim Fields specified here, " "as variables. Enclose them in square brackets [ ].</p>" "<p>E.g, the calculation for Total Hardness, the total of " "Calcium (ppm) and Magnesium (ppm) ions in water, is entered " "as [Ca] + [Mg], where Ca and MG are the keywords for those " "two Analysis Services.</p>"), )), RecordsField( 'TestParameters', required=False, subfields=('keyword', 'value'), subfield_labels={ 'keyword': _('Keyword'), 'value': _('Value') }, subfield_readonly={
actb_expand_onfocus=1) except (AttributeError, KeyError): acw_installed = False pass ############################################################# schema modifications ### schema['startDate'].widget.label = config.LABEL_TIME schema['location'].widget.label = config.LABEL_LOCATION schema['location'].widget.size = 108 schema['location'].enforceVocabulary = False schema['location'].required = True schema['eventUrl'].widget.size = 110 schema['text'].widget = TextAreaWidget( label=config.LABEL_TEXT, rows=4, cols=50, ) # hide the fields we dont need schema['title'].widget.visible = {'edit': 'invisible'} schema['description'].widget.visible = { 'view': 'invisible', 'edit': 'invisible' } schema['description'].mode = 'r' schema['subject'].widget.visible = {'edit': 'invisible'} schema['subject'].mode = 'r' schema['attendees'].widget.visible = {'view': 'invisible', 'edit': 'invisible'} schema['attendees'].mode = 'r' schema['endDate'].widget.visible = {'view': 'visible', 'edit': 'invisible'}
), BlobFileField('Document', widget=FileWidget( label=_("Report upload"), description=_("Load the certificate document here"), )), TextField( 'Remarks', searchable=True, default_content_type='text/x-web-intelligent', allowable_content_types=('text/plain', ), default_output_type="text/plain", mode="rw", widget=TextAreaWidget( macro="bika_widgets/remarks", label=_("Remarks"), append_only=True, ), ), )) schema['title'].widget.label = _("Certificate Code") class InstrumentCertification(BaseFolder): """Issued certification from an instrument calibration """ implements(IInstrumentCertification) security = ClassSecurityInfo() schema = schema displayContentsTab = False
description=_("Date until the instrument will not be available"), ), ), StringField('Calibrator', widget=StringWidget( label=_("Calibrator"), description=_( "The analyst or agent responsible of the calibration"), )), TextField( 'Considerations', default_content_type='text/plain', allowed_content_types=('text/plain', ), default_output_type="text/plain", widget=TextAreaWidget( label=_("Considerations"), description=_("Remarks to take into account before calibration"), ), ), TextField( 'WorkPerformed', default_content_type='text/plain', allowed_content_types=('text/plain', ), default_output_type="text/plain", widget=TextAreaWidget( label=_("Work Performed"), description=_( "Description of the actions made during the calibration"), ), ), ReferenceField( 'Worker',
), BooleanField( name='is_key_question', widget=BooleanField._properties['widget']( label="Is this a key question?", label_msgid='indicators_label_is_key_question', i18n_domain='indicators', ), ), TextField( name='description', widget=TextAreaWidget( visible={ 'view': 'invisible', 'edit': 'invisible' }, label='Description', label_msgid='indicators_label_description', i18n_domain='indicators', ), accessor="Description", searchable=True, ), ), ) PolicyQuestion_schema = ATContentTypeSchema.copy() + \ getattr(ATCTContent, 'schema', Schema(())).copy() + \ schema.copy() finalizeATCTSchema(PolicyQuestion_schema) PolicyQuestion_schema['relatedItems'].widget.visible = {
'label': _('Job Title') }, { 'columnName': 'Title', 'width': '80', 'label': _('Name') }], ), ), BlobFileField('Document', widget=FileWidget( label=_("Report upload"), description=_("Load the certificate document here"), )), TextField("Remarks", allowable_content_types=("text/plain", ), widget=TextAreaWidget(label=_("Remarks"), )), )) schema['title'].widget.label = _("Certificate Code") class InstrumentCertification(BaseFolder): """Issued certification from an instrument calibration """ implements(IInstrumentCertification) security = ClassSecurityInfo() schema = schema displayContentsTab = False _at_rename_after_creation = True def _renameAfterCreation(self, check_auto_id=False):
from eea.dataservice.vocabulary import REFERENCE_DICTIONARY_ID from eea.geotags.field import GeotagsLinesField from eea.geotags.widget import GeotagsWidget logger = logging.getLogger('eea.dataservice') # Schema schema = Schema(( TextField( name='geoAccuracy', languageIndependent=True, widget=TextAreaWidget( label="Geographic accuracy", description=("It is applicable to GIS datasets. It indicates the " "geographic accuracy of location, ground distance as " "a value in meters."), label_msgid='dataservice_label_accurracy', description_msgid='dataservice_help_accurracy', i18n_domain='eea', ) ), TextField( name='disclaimer', languageIndependent=False, required=False, widget=TextAreaWidget( label="Disclaimer", description="Disclaimer description.", label_msgid='dataservice_label_disclaimer', description_msgid=('A disclaimer is a statement which generally '
u'help_catch_errors_description', default=u'If selected, template errors will provide debugging output.') ), ), # TextField('unfilteredTemplate', required = False, default = "", languageIndependent = False, schemata="Template", widget = TextAreaWidget( label= _( u"unfiltered_template_label", default=u'Unfiltered template code'), description = _( u'unfiltered_template_description', default=u'Edit template code here if you are working with raw HTML - otherwise WYSIWYG editor might scramble the result. Leave empty if normal WYSIWYG input is used.'), rows = 25 ), ), ), ) TemplatedDocument_schema = ATDocumentSchema.copy() + \ schema.copy() TemplatedDocument_schema["text"].accessor = "getTemplatedText"
label='Preview Image timeframe', description='Value in seconds used for extracting the ' 'preview image from the cmshare video.' )), TextField('cloudUrl', languageIndependent=True, required=True, schemata='default', storage=AnnotationStorage(migrate=True), default_content_type='text/plain', validators=('videoCloudUrlValidator',), allowable_content_types=('text/plain',), default_output_type='text/plain', widget=TextAreaWidget( description='The embedding code for the video from ' 'Cmshare or external sites Vimeo or Youtube.', description_msgid="EEAContentTypes_help_quotationtext", label="Cloud Url", label_msgid="EEAContentTypes_label_cloud_url") ), TextField( name='text', widget=RichWidget( label="Rich Text Description", label_msgid="EEAContentTypes_label_rich_description", i18n_domain="eea", rows=10, ), ), ManagementPlanField( name='eeaManagementPlan',
def update_item_schema(baseSchema): specificSchema = Schema( ( StringField( name='grpBudgetInfos', widget=MultiSelectionWidget( description="GrpBudgetInfos", description_msgid="MeetingNamur_descr_grpBudgetInfos", size=10, label='GrpBudgetInfos', label_msgid='MeetingNamur_label_grpBudgetInfos', i18n_domain='PloneMeeting', ), vocabulary='listGrpBudgetInfosAdviser', multiValued=1, enforceVocabulary=False, ), # field used to define specific certified signatures for a MeetingItem TextField( name='itemCertifiedSignatures', widget=TextAreaWidget( label='Signatures', label_msgid='PloneMeeting_label_certifiedSignatures', description= 'Leave empty to use the certified signatures defined on the meeting or MeetingGroup', description_msgid='MeetingNamur_descr_certified_signatures', i18n_domain='PloneMeeting', ), write_permission='MeetingNamur: Write certified signatures', allowable_content_types=('text/plain', ), default_output_type='text/plain', default_content_type='text/plain', ), # field use to specify if this item is privacy (in this case, it's not visible in public pv) BooleanField( name='isConfidentialItem', default=False, widget=BooleanField._properties['widget']( condition= "python: here.portal_plonemeeting.isManager(here)", label='IsConfidentialItem', label_msgid='MeetingNamur_isConfidentialItem', i18n_domain='PloneMeeting', ), optional=True, ), TextField( name='vote', widget=RichWidget( condition="python: here.attributeIsUsed('vote')", description="Vote", description_msgid="item_vote_descr", label='Vote', label_msgid='MeetingNamur_vote', i18n_domain='PloneMeeting', ), optional=True, write_permission= "PloneMeeting: Write item MeetingManager reserved fields", default_content_type="text/html", allowable_content_types=('text/html', ), default_output_type="text/x-html-safe", ), ), ) baseSchema[ 'description'].write_permission = "MeetingNamur: Write description" baseSchema['description'].widget.label = "projectOfDecision" baseSchema['description'].widget.label_msgid = "projectOfDecision_label" completeSchema = baseSchema + specificSchema.copy() return completeSchema
def update_meeting_schema(baseSchema): specificSchema = Schema(( TextField( name='preMeetingAssembly', allowable_content_types="text/plain", optional=True, widget=TextAreaWidget( condition="python: here.attributeIsUsed('preMeetingAssembly')", description="PreMeetingAssembly", description_msgid="premeeting_assembly_descr", label='Premeetingassembly', label_msgid='MeetingLalouviere_label_preMeetingAssembly', i18n_domain='PloneMeeting', ), default_output_type="text/html", default_method="getDefaultPreMeetingAssembly", default_content_type="text/plain", ), DateTimeField( name='preMeetingDate_2', widget=DateTimeField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingDate_2')", label='Premeetingdate_2', label_msgid='PloneMeeting_label_preMeetingDate_2', i18n_domain='PloneMeeting', ), optional=True, ), StringField( name='preMeetingPlace_2', widget=StringField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingPlace_2')", label='Premeetingplace_2', label_msgid='PloneMeeting_label_preMeetingPlace_2', i18n_domain='PloneMeeting', ), optional=True, ), TextField( name='preMeetingAssembly_2', allowable_content_types="text/plain", optional=True, widget=TextAreaWidget( condition= "python: here.attributeIsUsed('preMeetingAssembly_2')", description="PreMeetingAssembly_2", description_msgid="premeeting_assembly_2_descr", label='Premeetingassembly_2', label_msgid='MeetingLalouviere_label_preMeetingAssembly_2', i18n_domain='PloneMeeting', ), default_output_type="text/html", default_method="getDefaultPreMeetingAssembly_2", default_content_type="text/plain", ), DateTimeField( name='preMeetingDate_3', widget=DateTimeField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingDate_3')", label='Premeetingdate_3', label_msgid='PloneMeeting_label_preMeetingDate_3', i18n_domain='PloneMeeting', ), optional=True, ), StringField( name='preMeetingPlace_3', widget=StringField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingPlace_3')", label='Premeetingplace_3', label_msgid='PloneMeeting_label_preMeetingPlace_3', i18n_domain='PloneMeeting', ), optional=True, ), TextField( name='preMeetingAssembly_3', allowable_content_types="text/plain", optional=True, widget=TextAreaWidget( condition= "python: here.attributeIsUsed('preMeetingAssembly_3')", description="PreMeetingAssembly_3", description_msgid="premeeting_assembly_3_descr", label='Premeetingassembly_3', label_msgid='MeetingLalouviere_label_preMeetingAssembly_3', i18n_domain='PloneMeeting', ), default_output_type="text/html", default_method="getDefaultPreMeetingAssembly_3", default_content_type="text/plain", ), DateTimeField( name='preMeetingDate_4', widget=DateTimeField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingDate_4')", label='Premeetingdate_4', label_msgid='PloneMeeting_label_preMeetingDate_4', i18n_domain='PloneMeeting', ), optional=True, ), StringField( name='preMeetingPlace_4', widget=StringField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingPlace_4')", label='Premeetingplace_4', label_msgid='PloneMeeting_label_preMeetingPlace_4', i18n_domain='PloneMeeting', ), optional=True, ), TextField( name='preMeetingAssembly_4', allowable_content_types="text/plain", optional=True, widget=TextAreaWidget( condition= "python: here.attributeIsUsed('preMeetingAssembly_4')", description="PreMeetingAssembly_4", description_msgid="premeeting_assembly_4_descr", label='Premeetingassembly_4', label_msgid='MeetingLalouviere_label_preMeetingAssembly_4', i18n_domain='PloneMeeting', ), default_output_type="text/html", default_method="getDefaultPreMeetingAssembly_4", default_content_type="text/plain", ), DateTimeField( name='preMeetingDate_5', widget=DateTimeField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingDate_5')", label='Premeetingdate_5', label_msgid='PloneMeeting_label_preMeetingDate_5', i18n_domain='PloneMeeting', ), optional=True, ), StringField( name='preMeetingPlace_5', widget=StringField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingPlace_5')", label='Premeetingplace_5', label_msgid='PloneMeeting_label_preMeetingPlace_5', i18n_domain='PloneMeeting', ), optional=True, ), TextField( name='preMeetingAssembly_5', allowable_content_types="text/plain", optional=True, widget=TextAreaWidget( condition= "python: here.attributeIsUsed('preMeetingAssembly_5')", description="PreMeetingAssembly_5", description_msgid="premeeting_assembly_5_descr", label='Premeetingassembly_5', label_msgid='MeetingLalouviere_label_preMeetingAssembly_5', i18n_domain='PloneMeeting', ), default_output_type="text/html", default_method="getDefaultPreMeetingAssembly_5", default_content_type="text/plain", ), DateTimeField( name='preMeetingDate_6', widget=DateTimeField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingDate_6')", label='Premeetingdate_6', label_msgid='PloneMeeting_label_preMeetingDate_6', i18n_domain='PloneMeeting', ), optional=True, ), StringField( name='preMeetingPlace_6', widget=StringField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingPlace_6')", label='Premeetingplace_6', label_msgid='PloneMeeting_label_preMeetingPlace_6', i18n_domain='PloneMeeting', ), optional=True, ), TextField( name='preMeetingAssembly_6', allowable_content_types="text/plain", optional=True, widget=TextAreaWidget( condition= "python: here.attributeIsUsed('preMeetingAssembly_6')", description="PreMeetingAssembly_6", description_msgid="premeeting_assembly_6_descr", label='Premeetingassembly_6', label_msgid='MeetingLalouviere_label_preMeetingAssembly_6', i18n_domain='PloneMeeting', ), default_output_type="text/html", default_method="getDefaultPreMeetingAssembly_6", default_content_type="text/plain", ), DateTimeField( name='preMeetingDate_7', widget=DateTimeField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingDate_7')", label='Premeetingdate_7', label_msgid='PloneMeeting_label_preMeetingDate_7', i18n_domain='PloneMeeting', ), optional=True, ), StringField( name='preMeetingPlace_7', widget=StringField._properties['widget']( condition="python: here.attributeIsUsed('preMeetingPlace_7')", label='Premeetingplace_7', label_msgid='PloneMeeting_label_preMeetingPlace_7', i18n_domain='PloneMeeting', ), optional=True, ), TextField( name='preMeetingAssembly_7', allowable_content_types="text/plain", optional=True, widget=TextAreaWidget( condition= "python: here.attributeIsUsed('preMeetingAssembly_7')", description="PreMeetingAssembly_7", description_msgid="premeeting_assembly_7_descr", label='Premeetingassembly_7', label_msgid='MeetingLalouviere_label_preMeetingAssembly_7', i18n_domain='PloneMeeting', ), default_output_type="text/html", default_method="getDefaultPreMeetingAssembly_7", default_content_type="text/plain", ), ), ) baseSchema['observations'].widget.label_method = "getLabelObservations" completeMeetingSchema = baseSchema + specificSchema.copy() return completeMeetingSchema
label=_("Maximum columns per results email"), description= _("Set the maximum number of analysis requests per results email. " "Too many columns per email are difficult to read for some clients " "who prefer fewer results per email"), )), TextField( 'ResultFooter', schemata="Results Reports", default_content_type='text/plain', allowed_content_types=('text/plain', ), default_output_type="text/plain", default="", widget=TextAreaWidget( label=_("Result Footer"), description=_("This text will be appended to results reports."), append_only=False, ), ), # IntegerField('BatchFax', # schemata = "Results Reports", # required = 1, # default = 4, # widget = IntegerWidget( # label=_("Maximum columns per results fax"), # description = "Too many AR columns per fax will see the font size minimised and could " # "render faxes illegible. 4 ARs maximum per page is recommended", # ) # ), # StringField('SMSGatewayAddress', # schemata = "Results Reports",
def update_config_schema(baseSchema): specificSchema = Schema(( TextField( name='preMeetingAssembly_default', widget=TextAreaWidget( condition= "python: 'preMeetingAssembly' in here.getUsedMeetingAttributes()", description="PreMeetingAssembly", description_msgid="premeeting_assembly_descr", label='Premeetingassembly', label_msgid= 'MeetingLalouviere_label_preMeetingAssembly_default', i18n_domain='PloneMeeting', label_method='getLabelPreMeetingAssembly_default'), ), TextField( name='preMeetingAssembly_2_default', widget=TextAreaWidget( condition= "python: 'preMeetingAssembly_2' in here.getUsedMeetingAttributes()", description="PreMeetingAssembly_2", description_msgid="premeeting_assembly_2_descr", label='Premeetingassembly_2', label_msgid= 'MeetingLalouviere_label_preMeetingAssembly_2_default', i18n_domain='PloneMeeting', ), ), TextField( name='preMeetingAssembly_3_default', widget=TextAreaWidget( condition= "python: 'preMeetingAssembly_3' in here.getUsedMeetingAttributes()", description="PreMeetingAssembly_3", description_msgid="premeeting_assembly_3_descr", label='Premeetingassembly_3', label_msgid= 'MeetingLalouviere_label_preMeetingAssembly_3_default', i18n_domain='PloneMeeting', ), ), TextField( name='preMeetingAssembly_4_default', widget=TextAreaWidget( condition= "python: 'preMeetingAssembly_4' in here.getUsedMeetingAttributes()", description="PreMeetingAssembly_4", description_msgid="premeeting_assembly_4_descr", label='Premeetingassembly_4', label_msgid= 'MeetingLalouviere_label_preMeetingAssembly_4_default', i18n_domain='PloneMeeting', ), ), TextField( name='preMeetingAssembly_5_default', widget=TextAreaWidget( condition= "python: 'preMeetingAssembly_5' in here.getUsedMeetingAttributes()", description="PreMeetingAssembly_5", description_msgid="premeeting_assembly_5_descr", label='Premeetingassembly_5', label_msgid= 'MeetingLalouviere_label_preMeetingAssembly_5_default', i18n_domain='PloneMeeting', ), ), TextField( name='preMeetingAssembly_6_default', widget=TextAreaWidget( condition= "python: 'preMeetingAssembly_6' in here.getUsedMeetingAttributes()", description="PreMeetingAssembly_6", description_msgid="premeeting_assembly_6_descr", label='Premeetingassembly_6', label_msgid= 'MeetingLalouviere_label_preMeetingAssembly_6_default', i18n_domain='PloneMeeting', ), ), TextField( name='preMeetingAssembly_7_default', widget=TextAreaWidget( condition= "python: 'preMeetingAssembly_7' in here.getUsedMeetingAttributes()", description="PreMeetingAssembly_7", description_msgid="premeeting_assembly_7_descr", label='Premeetingassembly_7', label_msgid= 'MeetingLalouviere_label_preMeetingAssembly_7_default', i18n_domain='PloneMeeting', ), ), BooleanField( name='initItemDecisionIfEmptyOnDecide', default=True, widget=BooleanField._properties['widget']( description="InitItemDecisionIfEmptyOnDecide", description_msgid="init_item_decision_if_empty_on_decide", label='Inititemdecisionifemptyondecide', label_msgid= 'MeetingLaLouviere_label_initItemDecisionIfEmptyOnDecide', i18n_domain='PloneMeeting'), write_permission=WriteRiskyConfig, ), ), ) completeConfigSchema = baseSchema + specificSchema.copy() return completeConfigSchema
_("If checked, the instrument will be unavailable until the next valid " "calibration was performed. This checkbox will automatically be unchecked." ), ), ), # Procedures TextField( 'InlabCalibrationProcedure', schemata='Procedures', default_content_type='text/plain', allowed_content_types=('text/plain', ), default_output_type="text/plain", widget=TextAreaWidget( label=_("In-lab calibration procedure"), description= _("Instructions for in-lab regular calibration routines intended for analysts" ), ), ), TextField( 'PreventiveMaintenanceProcedure', schemata='Procedures', default_content_type='text/plain', allowed_content_types=('text/plain', ), default_output_type="text/plain", widget=TextAreaWidget( label=_("Preventive maintenance procedure"), description= _("Instructions for regular preventive and maintenance routines intended for analysts" ), ),
class ILibraryLink(Interface): """a form to request a query""" # Keep as StringField/StringWidget, do not use TextArea, Textarea purges HTML code. # Embbeded video's will have html purged during display if TextArea. LibraryLinkSchema = link.ATLink.schema.copy() + atapi.Schema(( TextField( 'videoEmbed', required=False, searchable=True, default="", validators=(), widget=TextAreaWidget( description= 'Add a video from Youtube or other Video Sites. Use <embed>, <iframe> or <video> tags for videos.', label=_(u'Video Addition', default=u'Video Addition'), )), StringField( 'proxyRequired', required=True, searchable=False, default="0", validators=(), vocabulary=[("0", "No"), ("1", "Yes")], widget=SelectionWidget( format='select', description='Does this link need to go through a proxy server?', label=_(u'Proxy Connection?', default=u'Proxy Connection?'), )), ImageField('imageReference',