def checkEmail(value): try: checkEmailAddress(value) except EmailAddressInvalid: # portal = api.portal.get() # api.portal.show_message(message='Wrong Eamil format!', request=portal.REQUEST, type='warning') raise Invalid(_(u"Invalid email address.")) return True
def validateEmail(data): if data.email is None: return True try: checkEmailAddress(data.email) except EmailAddressInvalid: # import pdb; pdb.set_trace() portal = api.portal.get() api.portal.show_message(message='Wrong Eamil format!', request=portal.REQUEST, type='error') raise Invalid(_(u"Invalid email address.")) return True
def checkFileType(data): if data.attachFile is None: return subFileName = data.attachFile.filename.split('.')[-1].lower() if subFileName in [u'doc', u'docx']: return else: portal = api.portal.get() request = portal.REQUEST message = _(u'Please upload *.doc or *.docx file.') api.portal.show_message(message=message, request=request, type='error') raise Invalid(message)
class IScoreTable(model.Schema): """ Marker/Form interface for ScoreTable """ form.fieldset( _(u'Score'), label=_(u"Score table"), fields=[ 'scoreR1Q1', 'scoreR1Q2', 'scoreR1Q3', 'scoreR1Q4', 'scoreR2Q1', 'scoreR2Q2', 'scoreR2Q3', 'scoreR2Q4', 'scoreR3Q1', 'scoreR3Q2', 'scoreR3Q3', 'scoreR3Q4', ], ) dexterity.write_permission(scoreR1Q1='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR1Q1='ntpu.content.IsSuperEditor') #form.widget(scoreR1Q1=RadioFieldWidget) # form.mode(scoreR1Q1='hidden') scoreR1Q1 = schema.Choice( title=_(u'Research value'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR1Q2='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR1Q2='ntpu.content.IsSuperEditor') #form.widget(scoreR1Q2=RadioFieldWidget) # form.mode(scoreR1Q2='hidden') scoreR1Q2 = schema.Choice( title=_(u'Research Transcend'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR1Q3='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR1Q3='ntpu.content.IsSuperEditor') # form.mode(scoreR1Q3='hidden') #form.widget(scoreR1Q3=RadioFieldWidget) scoreR1Q3 = schema.Choice( title=_(u'Research Design and Data Processing'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR1Q4='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR1Q4='ntpu.content.IsSuperEditor') #form.widget(scoreR1Q4=RadioFieldWidget) # form.mode(scoreR1Q4='hidden') scoreR1Q4 = schema.Choice( title=_(u'Diction smooth and chart product value'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR2Q1='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR2Q1='ntpu.content.IsSuperEditor') #form.widget(scoreR2Q1=RadioFieldWidget) # form.mode(scoreR2Q1='hidden') scoreR2Q1 = schema.Choice( title=_(u'Research value'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR2Q2='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR2Q2='ntpu.content.IsSuperEditor') #form.widget(scoreR2Q2=RadioFieldWidget) # form.mode(scoreR2Q2='hidden') scoreR2Q2 = schema.Choice( title=_(u'Research Transcend'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR2Q3='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR2Q3='ntpu.content.IsSuperEditor') # form.mode(scoreR2Q3='hidden') #form.widget(scoreR2Q3=RadioFieldWidget) scoreR2Q3 = schema.Choice( title=_(u'Research Design and Data Processing'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR2Q4='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR2Q4='ntpu.content.IsSuperEditor') #form.widget(scoreR2Q4=RadioFieldWidget) # form.mode(scoreR2Q4='hidden') scoreR2Q4 = schema.Choice( title=_(u'Diction smooth and chart product value'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR3Q1='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR3Q1='ntpu.content.IsSuperEditor') #form.widget(scoreR3Q1=RadioFieldWidget) # form.mode(scoreR3Q1='hidden') scoreR3Q1 = schema.Choice( title=_(u'Research value'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR3Q2='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR3Q2='ntpu.content.IsSuperEditor') #form.widget(scoreR3Q2=RadioFieldWidget) # form.mode(scoreR3Q2='hidden') scoreR3Q2 = schema.Choice( title=_(u'Research Transcend'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR3Q3='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR3Q3='ntpu.content.IsSuperEditor') # form.mode(scoreR3Q3='hidden') #form.widget(scoreR3Q3=RadioFieldWidget) scoreR3Q3 = schema.Choice( title=_(u'Research Design and Data Processing'), vocabulary=Score, required=False, ) dexterity.write_permission(scoreR3Q4='ntpu.content.IsExternalReviewer') dexterity.read_permission(scoreR3Q4='ntpu.content.IsSuperEditor') #form.widget(scoreR3Q4=RadioFieldWidget) # form.mode(scoreR3Q4='hidden') scoreR3Q4 = schema.Choice( title=_(u'Diction smooth and chart product value'), vocabulary=Score, required=False, )
from plone.autoform.interfaces import IFormFieldProvider from plone.dexterity.interfaces import IDexterityContent from plone.supermodel import model from zope import schema from zope.component import adapts from zope.interface import alsoProvides, implements from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm from plone.directives import dexterity, form from z3c.form.browser.radio import RadioFieldWidget from ntpu.behavior import MessageFactory as _ Score = SimpleVocabulary([ SimpleTerm(value='Perfect', title=_(u'Perfact')), SimpleTerm(value='Good', title=_(u'Good')), SimpleTerm(value='General', title=_(u'General')), SimpleTerm(value='Soso', title=_(u'Soso')), SimpleTerm(value='Bad', title=_(u'Bad')), ]) class IScoreTable(model.Schema): """ Marker/Form interface for ScoreTable """ form.fieldset( _(u'Score'), label=_(u"Score table"), fields=[ 'scoreR1Q1',
class IAuthorInformation(model.Schema): """ Marker/Form interface for AuthorInformation """ form.fieldset( _(u'Author Information'), label=_(u"Author Information"), fields=[ 'authorNameC', 'authorNameE', 'institutionC', 'institutionE', 'titleC', 'titleE', 'email', 'phone' ], description=_( u"Enter author information(fields in RED DOT are Required )"), ) authorNameC = schema.TextLine( title=_(u'Name(Chinese)'), description=_(u'e.g. Da-Ming Wang.'), required=True, ) authorNameE = schema.TextLine( title=_(u'Name(English)'), description=_(u'e.g. Da-Ming Wang'), required=True, ) institutionC = schema.TextLine( title=_(u'Institution(Chinese)'), required=True, ) institutionE = schema.TextLine( title=_(u'Institution(English)'), required=True, ) titleC = schema.TextLine( title=_(u'Title(Chinese)'), required=True, ) titleE = schema.TextLine( title=_(u'Title(English)'), required=True, ) email = schema.TextLine( title=_(u'Email'), # constraint=checkEmail, required=False, ) phone = schema.TextLine( title=_('Phone number'), required=False, ) @invariant def validateEmail(data): if data.email is None: return True try: checkEmailAddress(data.email) except EmailAddressInvalid: # import pdb; pdb.set_trace() portal = api.portal.get() api.portal.show_message(message='Wrong Eamil format!', request=portal.REQUEST, type='error') raise Invalid(_(u"Invalid email address.")) return True
from plone.autoform.interfaces import IFormFieldProvider from plone.dexterity.interfaces import IDexterityContent from plone.supermodel import model from zope import schema from zope.component import adapts from zope.interface import alsoProvides, implements from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm from plone.directives import dexterity, form from z3c.form.browser.radio import RadioFieldWidget from ntpu.behavior import MessageFactory as _ Score = SimpleVocabulary( [SimpleTerm(value='Perfect', title=_(u'Perfact')), SimpleTerm(value='Good', title=_(u'Good')), SimpleTerm(value='General', title=_(u'General')), SimpleTerm(value='Soso', title=_(u'Soso')), SimpleTerm(value='Bad', title=_(u'Bad')),] ) class IScoreTable(model.Schema): """ Marker/Form interface for ScoreTable """ form.fieldset( _(u'Score'), label=_(u"Score table"), fields=['scoreR1Q1',
class IAttachedFile(model.Schema): """ Marker/Form interface for AttachedFile """ form.fieldset( _(u'Manuscript file'), label=_(u"Manuscript file"), fields=[ 'attachFile', 'commentReply', 'attachImage1', 'attachImage2', 'attachImage3', 'attachImage4', 'attachImage5', 'attachImage6', 'attachImage7', 'attachImage8', 'attachImage9', 'attachImage10', ], # description=_(u'Please upload Manuscript file, and you can upload images after submitting.'), ) dexterity.write_permission(attachFile='ntpu.content.IsOwner') attachFile = NamedBlobFile( title=_(u'Manuscript file'), required=False, ) dexterity.write_permission(attachFile='ntpu.content.IsOwner') form.mode(commentReply='hidden') commentReply = NamedBlobFile( title=_('Comment reply'), required=False, ) dexterity.write_permission(attachImage1='ntpu.content.IsOwner') attachImage1 = NamedBlobImage( title=_(u'First attach image'), required=False, ) dexterity.write_permission(attachImage2='ntpu.content.IsOwner') attachImage2 = NamedBlobImage( title=_(u'Second attach image'), required=False, ) dexterity.write_permission(attachImage3='ntpu.content.IsOwner') attachImage3 = NamedBlobImage( title=_(u'Third attach image'), required=False, ) dexterity.write_permission(attachImage4='ntpu.content.IsOwner') attachImage4 = NamedBlobImage( title=_(u'4th attach image'), required=False, ) dexterity.write_permission(attachImage5='ntpu.content.IsOwner') attachImage5 = NamedBlobImage( title=_(u'5th attach image'), required=False, ) dexterity.write_permission(attachImage6='ntpu.content.IsOwner') attachImage6 = NamedBlobImage( title=_(u'6th attach image'), required=False, ) dexterity.write_permission(attachImage7='ntpu.content.IsOwner') attachImage7 = NamedBlobImage( title=_(u'7th attach image'), required=False, ) dexterity.write_permission(attachImage8='ntpu.content.IsOwner') attachImage8 = NamedBlobImage( title=_(u'8th attach image'), required=False, ) dexterity.write_permission(attachImage9='ntpu.content.IsOwner') attachImage9 = NamedBlobImage( title=_(u'9th attach image'), required=False, ) dexterity.write_permission(attachImage10='ntpu.content.IsOwner') attachImage10 = NamedBlobImage( title=_(u'10th attach image'), required=False, ) @invariant def checkFileType(data): if data.attachFile is None: return subFileName = data.attachFile.filename.split('.')[-1].lower() if subFileName in [u'doc', u'docx']: return else: portal = api.portal.get() request = portal.REQUEST message = _(u'Please upload *.doc or *.docx file.') api.portal.show_message(message=message, request=request, type='error') raise Invalid(message)