class IStartEndDate(form.Schema): """ Marker/Form interface for Start/End Dates """ # -*- Your Zope schema definitions here ... -*- startDate = schema.Datetime( title=_(u"Start Date"), description=u'', required=True, ) endDate = schema.Datetime( title=_(u"End Date"), description=u'', required=True, )
class ILeadImage(form.Schema): """ Marker/Form interface for Lead Image """ # -*- Your Zope schema definitions here ... -*- image = namedfile.NamedBlobImage( title=_(u"Lead Image"), description=u"", required=False, ) imageCaption = schema.TextLine( title=_(u"Lead Image Caption"), description=u"", required=False, )
class IFileAttachment(form.Schema): """ Marker/Form interface for File Attachment """ # -*- Your Zope schema definitions here ... -*- file = namedfile.NamedBlobFile( title=_(u"File Attachment"), description=u"", required=False, )
class IRemoteURL(form.Schema): """ Marker/Form interface for Remote URL """ # -*- Your Zope schema definitions here ... -*- remoteUrl = schema.TextLine( title=_(u"Link"), default=u'http://', description=u"", required=False, )
class IBodyText(form.Schema): """ Marker/Form interface for Body Text """ # -*- Your Zope schema definitions here ... -*- dexteritytextindexer.searchable('text') form.widget(text="plone.app.z3cform.wysiwyg.WysiwygFieldWidget") text = schema.Text( title=_(u'label_body_text', u"Body Text"), description=u'', required=False, )
class IContactInfo(form.Schema): """ Marker/Form interface for Contact Info """ # -*- Your Zope schema definitions here ... -*- contactName = schema.TextLine( title=_(u"Contact Name"), description=u"", required=False, ) contactEmail = schema.TextLine( title=_(u"Contact Email"), description=u"", required=False, ) contactPhone = schema.TextLine( title=_(u"Contact Phone"), description=u"", required=False, )
class IPayPal(form.Schema): form.fieldset('paypal', label=_(u'Paypal'), fields=[ 'paypal_type', 'paypal_email', 'paypal_currency', 'paypal_itemname', 'paypal_itemnumber', 'paypal_amount', 'paypal_shipping', 'paypal_tax' ]) paypal_type = schema.Choice( title=_(u'Button Type'), values=['donation', 'buynow'], required=False, ) paypal_email = schema.TextLine( title=_(u'Email'), required=False, ) paypal_currency = schema.Choice(title=_(u'Currency'), values=CURRENCIES, required=False, default='USD') paypal_itemname = schema.TextLine(title=_(u'Item Name / Organization'), required=False) paypal_itemnumber = schema.TextLine(title=_(u'Item Number / Donation ID'), required=False) paypal_amount = schema.Float( title=_(u'Amount'), description= _(u'Enter the amount. Set to -1 to allow user to enter their own amount' ), required=False, default=0.0) paypal_shipping = schema.Float( title=_(u'Shipping'), description=_(u'Enter the shipping amount. Not needed for donation'), required=False, default=0.0) paypal_tax = schema.Float( title=_(u'Tax'), description=_(u'Enter the tax rate in %. Not needed for donation'), required=False, default=0.0)
def validateStartEnd(data): if data.startDate is not None and data.endDate is not None: if data.startDate > data.endDate: raise StartBeforeEnd(_( u"The start date must be before the end date."))