class IOGMail(form.Schema): """Opengever specific behavior, which add a title Field to the form. """ form.fieldset( u'common', label=base_mf(u'fieldset_common', u'Common'), fields=[u'title', 'original_message', 'message_source']) form.order_before(title='message') dexteritytextindexer.searchable('title') title = schema.TextLine( title=dossier_mf(u'label_title', default=u'Title'), required=False, ) form.mode(original_message=DISPLAY_MODE) form.read_permission(original_message='cmf.ManagePortal') form.write_permission(original_message='cmf.ManagePortal') original_message = field.NamedBlobFile( title=_(u'label_original_message', default=u'Raw *.msg message before conversion'), required=False, ) form.mode(message_source=DISPLAY_MODE) form.read_permission(message_source='cmf.ManagePortal') form.write_permission(message_source='cmf.ManagePortal') message_source = schema.Choice( title=_('label_message_source', default='Message source'), vocabulary=get_message_source_vocabulary(), required=False, )
class ICustomScript(IAction): """Executes a Python script for form data""" form.read_permission(ProxyRole=MODIFY_PORTAL_CONTENT) form.write_permission(ProxyRole=EDIT_PYTHON_PERMISSION) ProxyRole = Choice( title=_(u'label_script_proxy', default=u'Proxy role'), description=_(u'help_script_proxy', default=u'Role under which to run the script.'), default=u'none', required=True, vocabulary=getProxyRoleChoices, ) form.read_permission(ScriptBody=MODIFY_PORTAL_CONTENT) form.write_permission(ScriptBody=EDIT_PYTHON_PERMISSION) ScriptBody = Text( title=_(u'label_script_body', default=u'Script body'), description=_(u'help_script_body', default=u'Write your script here.'), default=DEFAULT_SCRIPT, required=False, missing_value=u'', )
class IDummy(form.Schema): form.omitted('foo') form.omitted('bar') form.widget(foo='some.dummy.Widget') form.widget(baz='other.Widget') form.mode(bar='hidden') form.mode(foo='display') form.order_before(baz='title') form.order_after(baz='qux') form.order_after(qux='bar') form.order_before(foo='body') form.read_permission(foo='zope2.View', bar='zope2.View') form.read_permission(baz='random.Permission') form.write_permission(foo='cmf.ModifyPortalContent') form.write_permission(baz='another.Permission') 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 IActionExtender(form.Schema): form.fieldset(u'overrides', label=_('Overrides'), fields=['execCondition']) form.read_permission(execCondition=MODIFY_PORTAL_CONTENT) form.write_permission(execCondition=EDIT_TALES_PERMISSION) execCondition = TextLine( title=_(u'label_execcondition_text', default=u'Execution Condition'), description=(_(u'help_execcondition_text', default=u'' u'A TALES expression that will be evaluated to determine whether ' u'or not to execute this action. Leave empty if unneeded, and ' u'the action will be executed. Your expression should evaluate ' u'as a boolean; return True if you wish the action to execute. ' u'PLEASE NOTE: errors in the evaluation of this expression will ' u'cause an error on form display.') ), default=u'', constraint=isTALES, required=False, )
class IMailer(IAction): """A form action adapter that will e-mail form input.""" # default_method='getDefaultRecipientName', form.write_permission(recipient_name=EDIT_ADDRESSING_PERMISSION) form.read_permission(recipient_name=MODIFY_PORTAL_CONTENT) recipient_name = TextLine( title=_(u'label_formmailer_recipient_fullname', default=u"Recipient's full name"), description=_( u'help_formmailer_recipient_fullname', default=u'The full name of the recipient of the mailed form.'), default=u'', missing_value=u'', required=False, ) # default_method='getDefaultRecipient', # validators=('isEmail',), # TODO defaultFactory # TODO IContextAwareDefaultFactory form.write_permission(recipient_email=EDIT_ADDRESSING_PERMISSION) form.read_permission(recipient_email=MODIFY_PORTAL_CONTENT) recipient_email = TextLine( title=_(u'label_formmailer_recipient_email', default=u"Recipient's e-mail address"), description=_(u'help_formmailer_recipient_email', default=u'The recipients e-mail address.'), default=u'', missing_value=u'', required=False, ) form.fieldset(u'addressing', label=_('Addressing'), fields=[ 'to_field', 'cc_recipients', 'bcc_recipients', 'replyto_field' ]) form.write_permission(to_field=EDIT_ADVANCED_PERMISSION) form.read_permission(to_field=MODIFY_PORTAL_CONTENT) to_field = Choice( title=_(u'label_formmailer_to_extract', default=u'Extract Recipient From'), description=_( u'help_formmailer_to_extract', default=u'' u'Choose a form field from which you wish to extract ' u'input for the To header. If you choose anything other ' u'than "None", this will override the "Recipient\'s e-mail address" ' u'setting above. Be very cautious about allowing unguarded user ' u'input for this purpose.'), required=False, vocabulary=fieldsFactory, ) # default_method='getDefaultCC', form.write_permission(cc_recipients=EDIT_ADDRESSING_PERMISSION) form.read_permission(cc_recipients=MODIFY_PORTAL_CONTENT) cc_recipients = Text( title=_(u'label_formmailer_cc_recipients', default=u'CC Recipients'), description=_( u'help_formmailer_cc_recipients', default=u'E-mail addresses which receive a carbon copy.'), default=u'', missing_value=u'', required=False, ) # default_method='getDefaultBCC', form.write_permission(bcc_recipients=EDIT_ADDRESSING_PERMISSION) form.read_permission(bcc_recipients=MODIFY_PORTAL_CONTENT) bcc_recipients = Text( title=_(u'label_formmailer_bcc_recipients', default=u'BCC Recipients'), description=_( u'help_formmailer_bcc_recipients', default=u'E-mail addresses which receive a blind carbon copy.'), default=u'', missing_value=u'', required=False, ) form.write_permission(replyto_field=EDIT_ADVANCED_PERMISSION) form.read_permission(replyto_field=MODIFY_PORTAL_CONTENT) replyto_field = Choice( title=_(u'label_formmailer_replyto_extract', default=u'Extract Reply-To From'), description=_( u'help_formmailer_replyto_extract', default=u'' u'Choose a form field from which you wish to extract ' u'input for the Reply-To header. NOTE: You should ' u'activate e-mail address verification for the designated ' u'field.'), required=False, vocabulary=fieldsFactory, ) form.fieldset(u'message', label=PMF('Message'), fields=[ 'msg_subject', 'subject_field', 'body_pre', 'body_post', 'body_footer', 'showAll', 'showFields', 'includeEmpties' ]) form.read_permission(msg_subject=MODIFY_PORTAL_CONTENT) msg_subject = TextLine( title=_(u'label_formmailer_subject', default=u'Subject'), description=_(u'help_formmailer_subject', default=u'' u'Subject line of message. This is used if you ' u'do not specify a subject field or if the field ' u'is empty.'), default=u'Form Submission', missing_value=u'', required=False, ) form.write_permission(subject_field=EDIT_ADVANCED_PERMISSION) form.read_permission(subject_field=MODIFY_PORTAL_CONTENT) subject_field = Choice( title=_(u'label_formmailer_subject_extract', default=u'Extract Subject From'), description=_(u'help_formmailer_subject_extract', default=u'' u'Choose a form field from which you wish to extract ' u'input for the mail subject line.'), required=False, vocabulary=fieldsFactory, ) # accessor='getBody_pre', form.read_permission(body_pre=MODIFY_PORTAL_CONTENT) body_pre = Text( title=_(u'label_formmailer_body_pre', default=u'Body (prepended)'), description=_(u'help_formmailer_body_pre', default=u'Text prepended to fields listed in mail-body'), default=u'', missing_value=u'', required=False, ) form.read_permission(body_post=MODIFY_PORTAL_CONTENT) body_post = Text( title=_(u'label_formmailer_body_post', default=u'Body (appended)'), description=_(u'help_formmailer_body_post', default=u'Text appended to fields listed in mail-body'), default=u'', missing_value=u'', required=False, ) form.read_permission(body_footer=MODIFY_PORTAL_CONTENT) body_footer = Text( title=_(u'label_formmailer_body_footer', default=u'Body (signature)'), description=_(u'help_formmailer_body_footer', default=u'Text used as the footer at ' u'bottom, delimited from the body by a dashed line.'), default=u'', missing_value=u'', required=False, ) form.read_permission(showAll=MODIFY_PORTAL_CONTENT) showAll = Bool( title=_(u'label_mailallfields_text', default=u'Include All Fields'), description=_(u'help_mailallfields_text', default=u'' u'Check this to include input for all fields ' u'(except label and file fields). If you check ' u'this, the choices in the pick box below ' u'will be ignored.'), default=True, required=False, ) form.read_permission(showFields=MODIFY_PORTAL_CONTENT) showFields = List( title=_(u'label_mailfields_text', default=u'Show Responses'), description=_( u'help_mailfields_text', default= u'Pick the fields whose inputs you\'d like to include in the e-mail.' ), unique=True, required=False, value_type=Choice(vocabulary=fieldsFactory), ) form.read_permission(includeEmpties=MODIFY_PORTAL_CONTENT) includeEmpties = Bool( title=_(u'label_mailEmpties_text', default=u'Include Empties'), description=_(u'help_mailEmpties_text', default=u'' u'Check this to include titles ' u'for fields that received no input. Uncheck ' u'to leave fields with no input out of the e-mail.'), default=True, required=False, ) form.fieldset(u'template', label=PMF('Template'), fields=['body_pt', 'body_type']) # ZPTField('body_pt', # default_method='getMailBodyDefault', # validators=('zptvalidator',), form.write_permission(body_pt=EDIT_TALES_PERMISSION) form.read_permission(body_pt=MODIFY_PORTAL_CONTENT) body_pt = Text( title=_(u'label_formmailer_body_pt', default=u'Mail-Body Template'), description=_( u'help_formmailer_body_pt', default=u'' u'This is a Zope Page Template ' u'used for rendering of the mail-body. You don\'t need to modify ' u'it, but if you know TAL (Zope\'s Template Attribute Language) ' u'you have the full power to customize your outgoing mails.'), default=MAIL_BODY_DEFAULT, missing_value=u'', ) # default_method='getMailBodyTypeDefault', form.write_permission(body_type=EDIT_ADVANCED_PERMISSION) form.read_permission(body_type=MODIFY_PORTAL_CONTENT) body_type = Choice( title=_(u'label_formmailer_body_type', default=u'Mail Format'), description=_( u'help_formmailer_body_type', default=u'' u'Set the mime-type of the mail-body. ' u'Change this setting only if you know exactly what you are doing. ' u'Leave it blank for default behaviour.'), default=u'html', vocabulary=MIME_LIST, ) form.fieldset(u'headers', label=_('Headers'), fields=['xinfo_headers', 'additional_headers']) form.widget(xinfo_headers=CheckBoxFieldWidget) # default_method='getDefaultXInfo', form.write_permission(xinfo_headers=EDIT_ADVANCED_PERMISSION) form.read_permission(xinfo_headers=MODIFY_PORTAL_CONTENT) xinfo_headers = List( title=_(u'label_xinfo_headers_text', default=u'HTTP Headers'), description=_(u'help_xinfo_headers_text', default=u'' u'Pick any items from the HTTP headers that ' u'you\'d like to insert as X- headers in the message.'), unique=True, required=False, default=[u'HTTP_X_FORWARDED_FOR', u'REMOTE_ADDR', u'PATH_INFO'], missing_value=[u'HTTP_X_FORWARDED_FOR', u'REMOTE_ADDR', u'PATH_INFO'], value_type=Choice(vocabulary=XINFO_HEADERS), ) # default_method='getDefaultAddHdrs', form.write_permission(additional_headers=EDIT_ADVANCED_PERMISSION) form.read_permission(additional_headers=MODIFY_PORTAL_CONTENT) additional_headers = List( title=_(u'label_formmailer_additional_headers', default=u'Additional Headers'), description=_( u'help_formmailer_additional_headers', default= u'Additional e-mail-header lines. Only use RFC822-compliant headers.' ), unique=True, required=False, value_type=TextLine(title=_(u'extra_header', default=u'${name} Header', mapping={u'name': u'HTTP'}), ), ) # if gpg is not None: # formMailerAdapterSchema = formMailerAdapterSchema + Schema(( # StringField('gpg_keyid', # schemata='encryption', # accessor='getGPGKeyId', # mutator='setGPGKeyId', # write_permission=USE_ENCRYPTION_PERMISSION, # read_permission=ModifyPortalContent, # widget=StringWidget( # description=_(u'help_gpg_key_id', default=u""" # Give your key-id, e-mail address or # whatever works to match a public key from current keyring. # It will be used to encrypt the message body (not attachments). # Contact the site administrator if you need to # install a new public key. # Note that you will probably wish to change your message # template to plain text if you're using encryption. # TEST THIS FEATURE BEFORE GOING PUBLIC! # """), # label=_(u'label_gpg_key_id', default=u'Key-Id'), # ), # ), # )) form.fieldset(u'overrides', label=_('Overrides'), fields=[ 'subjectOverride', 'senderOverride', 'recipientOverride', 'ccOverride', 'bccOverride' ]) form.write_permission(subjectOverride=EDIT_TALES_PERMISSION) form.read_permission(subjectOverride=MODIFY_PORTAL_CONTENT) subjectOverride = TextLine( title=_(u'label_subject_override_text', default=u'Subject Expression'), description= _(u'help_subject_override_text', default=u'' u'A TALES expression that will be evaluated to override any value ' u'otherwise entered for the e-mail subject header. ' u'Leave empty if unneeded. Your expression should evaluate as a string. ' u'PLEASE NOTE: errors in the evaluation of this expression will cause ' u'an error on form display.'), required=False, default=u'', missing_value=u'', constraint=isTALES, ) form.write_permission(senderOverride=EDIT_TALES_PERMISSION) form.read_permission(senderOverride=MODIFY_PORTAL_CONTENT) senderOverride = TextLine( title=_(u'label_sender_override_text', default=u'Sender Expression'), description= _(u'help_sender_override_text', default=u'' u'A TALES expression that will be evaluated to override the "From" header. ' u'Leave empty if unneeded. Your expression should evaluate as a string. ' u'PLEASE NOTE: errors in the evaluation of this expression will cause ' u'an error on form display.'), required=False, default=u'', missing_value=u'', constraint=isTALES, ) form.write_permission(recipientOverride=EDIT_TALES_PERMISSION) form.read_permission(recipientOverride=MODIFY_PORTAL_CONTENT) recipientOverride = TextLine( title=_(u'label_recipient_override_text', default=u'Recipient Expression'), description= _(u'help_recipient_override_text', default=u'' u'A TALES expression that will be evaluated to override any value ' u'otherwise entered for the recipient e-mail address. You are strongly ' u'cautioned against using unvalidated data from the request for this purpose. ' u'Leave empty if unneeded. Your expression should evaluate as a string. ' u'PLEASE NOTE: errors in the evaluation of this expression will cause ' u'an error on form display.'), required=False, default=u'', missing_value=u'', constraint=isTALES, ) form.write_permission(ccOverride=EDIT_TALES_PERMISSION) form.read_permission(ccOverride=MODIFY_PORTAL_CONTENT) ccOverride = TextLine( title=_(u'label_cc_override_text', default=u'CC Expression'), description= _(u'help_cc_override_text', default=u'' u'A TALES expression that will be evaluated to override any value ' u'otherwise entered for the CC list. You are strongly ' u'cautioned against using unvalidated data from the request for this purpose. ' u'Leave empty if unneeded. Your expression should evaluate as a sequence of strings. ' u'PLEASE NOTE: errors in the evaluation of this expression will cause ' u'an error on form display.'), required=False, default=u'', missing_value=u'', constraint=isTALES, ) form.write_permission(bccOverride=EDIT_TALES_PERMISSION) form.read_permission(bccOverride=MODIFY_PORTAL_CONTENT) bccOverride = TextLine( title=_(u'label_bcc_override_text', default=u'BCC Expression'), description= _(u'help_bcc_override_text', default=u'' u'A TALES expression that will be evaluated to override any value ' u'otherwise entered for the BCC list. You are strongly ' u'cautioned against using unvalidated data from the request for this purpose. ' u'Leave empty if unneeded. Your expression should evaluate as a sequence of strings. ' u'PLEASE NOTE: errors in the evaluation of this expression will cause ' u'an error on form display.'), required=False, default=u'', missing_value=u'', constraint=isTALES, )
class IClaim(model.Schema): """A claim to the Ombudsman.""" kind = schema.Choice( title=_(u'Tipos de solicitação'), description=_( u'help_kind', default=u'Selecione o tipo de solicitação.', ), required=True, vocabulary=u'interlegis.portalmodelo.ombudsman.ClaimTypes') area = schema.Choice( title=_(u'Area'), description=_( u'help_area', default=u'Selecione a área para a qual a solicitação será enviada.', ), required=True, vocabulary=u'interlegis.portalmodelo.ombudsman.Areas') title = schema.TextLine( title=_(u'Topic'), description=_(u''), required=True, ) form.widget('description', rows=20) description = schema.Text( title=_(u'Details'), description=_( u'help_description', default=u'Por favor, informe detalhes adicionais.', ), required=True, ) form.read_permission( email='interlegis.portalmodelo.ombudsman.ViewClaimPersonalInfo') name = schema.TextLine( title=_(u'Name'), description=_(u'help_name', default=u''), required=True, ) form.read_permission( email='interlegis.portalmodelo.ombudsman.ViewClaimPersonalInfo') cpf = schema.TextLine( title=_(u'CPF'), description=_(u'help_CPF', default=u''), required=True, ) form.read_permission( email='interlegis.portalmodelo.ombudsman.ViewClaimPersonalInfo') rg = schema.TextLine( title=_(u'RG'), description=_(u'help_rg', default=u''), required=False, ) form.read_permission( email='interlegis.portalmodelo.ombudsman.ViewClaimPersonalInfo') email = schema.ASCIILine( title=_(u'Email'), description=_( u'help_email', default= u'Informe o email para onde serão enviadas informações sobre a solicitação.', ), required=True, ) form.read_permission( email='interlegis.portalmodelo.ombudsman.ViewClaimPersonalInfo') address = schema.TextLine( title=_(u'Address'), description=_(u'help_address', default=u'Informe seu endereço.'), required=False, ) form.read_permission( email='interlegis.portalmodelo.ombudsman.ViewClaimPersonalInfo') postal_code = schema.TextLine( title=_(u'Postal code'), description=_(u'help_postal_code', default=u''), required=False, ) city = schema.TextLine( title=_(u'City'), description=_(u'help_city', default=u'Informe sua cidade.'), required=False, ) state = schema.Choice( title=_(u'State'), description=_(u'help_state', default=u'Informe seu estado.'), required=False, vocabulary=u'brasil.estados', ) form.order_after(captcha='state') form.mode(captcha='hidden') captcha = schema.TextLine(title=u"ReCaptcha", required=False)
class IDocumentMetadata(form.Schema): """Schema behavior for common GEVER document metadata """ form.fieldset( u'common', label=_(u'fieldset_common', u'Common'), fields=[ u'description', u'keywords', u'foreign_reference', u'document_date', u'receipt_date', u'delivery_date', u'document_type', u'document_author', u'digitally_available', u'preserved_as_paper', u'thumbnail', u'preview', ], ) form.fieldset( u'archive_file', label=_(u'fieldset_archive_file', u'Archive file'), fields=[u'archival_file'] ) dexteritytextindexer.searchable('description') description = schema.Text( title=_(u'label_description', default=u'Description'), required=False, missing_value=u'', ) form.widget('keywords', KeywordFieldWidget, new_terms_as_unicode=True) keywords = schema.Tuple( title=_(u'label_keywords', default=u'Keywords'), description=_(u'help_keywords', default=u''), value_type=ChoicePlus( vocabulary='plone.app.vocabularies.Keywords' ), required=False, missing_value=(), default=(), ) foreign_reference = schema.TextLine( title=_(u'label_foreign_reference', default='Foreign Reference'), description=_('help_foreign_reference', default=''), required=False, ) # workaround because ftw.datepicker wasn't working form.widget(document_date=DatePickerFieldWidget) document_date = schema.Date( title=_(u'label_document_date', default='Document Date'), description=_(u'help_document_date', default=''), required=False, defaultFactory=document_date_default, ) # workaround because ftw.datepicker wasn't working form.widget(receipt_date=DatePickerFieldWidget) receipt_date = schema.Date( title=_(u'label_receipt_date', default='Date of receipt'), description=_(u'help_receipt_date', default=''), required=False, ) # workaround because ftw.datepicker wasn't working form.widget(delivery_date=DatePickerFieldWidget) delivery_date = schema.Date( title=_(u'label_delivery_date', default='Date of delivery'), description=_(u'help_delivery_date', default=''), required=False, ) document_type = schema.Choice( title=_(u'label_document_type', default='Document Type'), source=wrap_vocabulary('opengever.document.document_types', visible_terms_from_registry='opengever.document' + '.interfaces.IDocumentType.document_types'), required=False, ) dexteritytextindexer.searchable('document_author') document_author = schema.TextLine( title=_(u'label_author', default='Author'), description=_(u'help_author', default="Surname firstname or a userid" "(would be automatically resolved to fullname)"), required=False, ) form.mode(digitally_available='hidden') digitally_available = schema.Bool( title=_(u'label_digitally_available', default='Digital Available'), required=False, ) form.widget(preserved_as_paper=checkbox.SingleCheckBoxFieldWidget) preserved_as_paper = schema.Bool( title=_(u'label_preserved_as_paper', default='Preserved as paper'), description=_(u'help_preserved_as_paper', default=''), required=False, defaultFactory=preserved_as_paper_default, ) form.read_permission(archival_file='opengever.document.ModifyArchivalFile') form.write_permission(archival_file='opengever.document.ModifyArchivalFile') archival_file = NamedBlobFile( title=_(u'label_archival_file', default='Archival File'), description=_(u'help_archival_file', default=''), required=False, ) form.omitted('archival_file_state') archival_file_state = schema.Int( title=_(u'label_archival_file_state', default='Archival file state'), required=False, ) form.omitted('thumbnail') thumbnail = NamedBlobFile( title=_(u'label_thumbnail', default='Thumbnail'), required=False, ) form.omitted('preview') preview = NamedBlobFile( title=_(u'label_preview', default='Preview'), description=_(u'help_preview', default=''), required=False, )