コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
    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
コード例 #4
0
ファイル: attachedfile.py プロジェクト: mingtak/ntpu.behavior
 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)
コード例 #5
0
 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
コード例 #6
0
 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)
コード例 #7
0
ファイル: scoretable.py プロジェクト: mingtak/ntpu.behavior
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,
    )
コード例 #8
0
ファイル: scoretable.py プロジェクト: mingtak/ntpu.behavior
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',
コード例 #9
0
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
コード例 #10
0
ファイル: scoretable.py プロジェクト: mingtak/ntpu.behavior
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',
コード例 #11
0
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)