Esempio n. 1
0
    def __call__(self, context):
        # Just an example list of content for our vocabulary,
        # this can be any static or dynamic data, a catalog result for example.
        items = [
            VocabItem(u'willStart', _(u'willStart')),
            VocabItem(u'fullCanAlt', _(u'fullCanAlt')),
            VocabItem(u'planed', _(u'planed')),
            VocabItem(u'registerFirst', _(u'registerFirst')),
            VocabItem(u'altFull', _(u'altFull')),
        ]

        # Fix context if you are using the vocabulary in DataGridField.
        # See https://github.com/collective/collective.z3cform.datagridfield/issues/31:  # NOQA: 501
        if not IDexterityContent.providedBy(context):
            req = getRequest()
            context = req.PARENTS[0]

        # create a list of SimpleTerm items:
        terms = []
        for item in items:
            terms.append(
                SimpleTerm(
                    value=item.token,
                    token=str(item.token),
                    title=item.value,
                )
            )
        # Create a SimpleVocabulary from the terms list and return it:
        return SimpleVocabulary(terms)
Esempio n. 2
0
class ITrainingcenter(model.Schema):
    """ Marker interface and Dexterity Python Schema for Trainingcenter
    """

    address = schema.TextLine(
        title=_(u"Address"),
        required=True,
    )

    phone = schema.TextLine(
        title=_(u"Phone Number."),
        required=True,
    )

    fax = schema.TextLine(
        title=_(u"Fax Number."),
        required=True,
    )

    code = schema.TextLine(
        title=_(u"Training Center Code."),
        required=False,
    )

    simpleTitle = schema.TextLine(
        title=_(u"Simple Title"),
        required=False,
    )
Esempio n. 3
0
class ITask(Interface):

    title = schema.TextLine(
        title=_(u'Title'),
        required=True,
    )

    description = schema.Text(
        title=_(u'Description'),
        required=False,
    )
Esempio n. 4
0
class ICourse(Interface):
    directives.omitted('title', 'subject_list')
    title = schema.TextLine(title=_(u'Title'), required=True)

    subject_list = schema.Text(
        title=_(u'subject list'),
        required=True,
    )

    numbers = schema.Int(
        title=_(u'number of student'),
        required=False,
    )
Esempio n. 5
0
class IClassroom(model.Schema):
    """ Marker interface and Dexterity Python Schema for Classroom
    """

    seat = schema.Int(
        title=_(u"Seat"),
        description=_(u"Number of seats."),
        required=True
    )

    seatState = schema.TextLine(
        title=_(u'Seat State'),
        default=u'3|4|3',
        description=_(u'For example, 3|4|3 or 4|3|3 ext.'),
        required=True
    )
Esempio n. 6
0
    def test_vocab_class_room(self):
        vocab_name = 'cshm.content.ClassRoom'
        factory = getUtility(IVocabularyFactory, vocab_name)
        self.assertTrue(IVocabularyFactory.providedBy(factory))

        vocabulary = factory(self.portal)
        self.assertTrue(IVocabularyTokenized.providedBy(vocabulary))
        self.assertEqual(
            vocabulary.getTerm('sony-a7r-iii').title,
            _(u'Sony Aplha 7R III'),
        )
Esempio n. 7
0
def changeId(obj, event):
    portal = api.portal.get()
    if not obj.title.endswith('期'):
        api.portal.show_message(message=_(u'Please ends with "echelon"'),
                                request=obj.REQUEST,
                                type='warn')
        request = obj.REQUEST
        request.response.redirect(request.getURL())
        return
    newId = obj.title.split('期')[0]
    parent = obj.getParentNode()
    if parent.has_key(newId) and parent[newId] != obj:
        api.portal.show_message(message=_(
            u'Warning!, Has a same name course in this folder, Plsear back page and rename'
        ),
                                request=obj.REQUEST,
                                type='error')
        raise
    api.content.rename(obj=obj, new_id=str(newId))
    api.portal.show_message(message=_(u'Rename Already Done.'),
                            request=obj.REQUEST,
                            type='info')
    return
Esempio n. 8
0
class IMaterial(model.Schema):
    title = schema.TextLine(
        title=_(u"Title"),
        required=True,
    )

    version = schema.TextLine(
        title=_(u"Version"),
        required=False,
    )

    price = schema.Int(
        title=_(u"Price"),
        required=True,
    )

    discountPrice = schema.Int(
        title=_(u"Discount Price"),
        required=False,
    )

    unit = schema.TextLine(
        title=_(u"Unit"),
        required=False,
    )

    code = schema.TextLine(
        title=_(u"Code"),
        required=False,
    )

    cover = namedfile.NamedBlobImage(
        title=_(u'Cover'),
        required=False,
    )

    copyright = namedfile.NamedBlobFile(
        title=_(u'Copyright'),
        required=False,
    )
Esempio n. 9
0
class ISubject(model.Schema):
    """ Marker interface and Dexterity Python Schema for Subject
    """

    hours = schema.Float(
        title=_(u"Subject Hours"),
        required=True,
    )

    startDateTime = schema.Datetime(
        title=_(u"Start time"),
        required=False
    )

    notes = schema.Text(
        title=_(u"Notes"),
        required=False,
    )

    #attachFile = namedfile.NamedBlobFile(
    #    title=_(u'Attach File'),
    #    required=False,
    #)
    isQuiz = schema.Bool(
        title=_(u"Quiz"),
        required=True,
        default=True
    )

    teacher = RelationChoice(
        title=_(u"Teacher"),
        required=False,
        source=CatalogSource(Type='Teacher')
    )

    ignoreSchedule = schema.Bool(
        title=_(u'Ignore Schedule'),
        default=False,
    )
Esempio n. 10
0
class IEchelon(model.Schema):
    """ Marker interface and Dexterity Python Schema for Echelon
    """

    fieldset(_(u'Course Basic'),
             fields=[
                 'classStatus',
                 'duringTime',
                 'classTime',
                 'classroom',
                 'courseStart',
                 'courseEnd',
                 'regDeadline',
                 'trainingCenter',
                 'specialCourse',
                 'undertaker',
                 'counselor',
                 'quota',
                 'altCount',
                 'courseFee',
                 'trainingCenterAgent',
                 'manageOrg',
                 'docSN',
             ])

    fieldset(_(u'Handbook'),
             fields=[
                 'contact',
                 'discountInfo_no_open',
                 'discountProgram',
                 'discountStart',
                 'discountEnd',
                 'prepareInfo',
                 'courseHours',
                 'detailClassTime',
                 'memo',
             ])

    title = schema.TextLine(
        title=_(u'Echelon Title'),
        default=_(u'New Course'),
        required=True,
    )

    duringTime = schema.Choice(title=_(u'During Time'),
                               vocabulary='cshm.content.ClassTime',
                               default=u'notYat',
                               required=True)

    courseStart = schema.Date(
        title=_(u"Course Start Date"),
        required=False,
    )

    courseEnd = schema.Date(
        title=_(u"Course End Date"),
        required=False,
    )

    classTime = schema.TextLine(
        title=_(u"Class Time, ex. 0900-1800"),
        required=False,
    )

    classroom = schema.Choice(title=_(u'Classroom'),
                              vocabulary='cshm.content.ClassRoom',
                              required=True)

    undertaker = schema.Choice(title=_(u'undertaker'),
                               vocabulary='cshm.content.AllUser',
                               required=True)

    counselor = schema.Choice(title=_(u'counselor'),
                              vocabulary='cshm.content.AllUser',
                              required=True)

    trainingCenter = RelationChoice(
        title=_(u"Training Center"),
        required=False,
        source=CatalogSource(Type='TrainingCenter'))

    quota = schema.Int(
        title=_(u'Class Quota'),
        description=_(u'if 0, is not confirm'),
        default=0,
        required=True,
    )

    altCount = schema.Int(
        title=_(u'Alternate Count'),
        default=100,
        min=0,
        required=True,
    )

    courseFee = schema.Int(
        title=_(u'Course Fee'),
        required=False,
    )

    classStatus = schema.Choice(
        title=_(u'Course Status'),
        vocabulary='cshm.content.ClassStatus',
        default=u'registerFirst',
        required=False,
    )

    memo = RichText(
        title=_(u'Memo'),
        required=False,
    )

    contact = schema.TextLine(
        title=_(u'Contact'),
        required=False,
    )

    regDeadline = schema.Date(
        title=_(u'Registration Deadline'),
        required=False,
    )

    discountProgram = schema.TextLine(
        title=_(u'Discount Program'),
        required=False,
    )

    discountInfo_no_open = schema.Text(
        title=_(u'Discount Information, No Open'),
        required=False,
    )

    @invariant
    def check_date(data):
        if data.discountEnd < data.discountStart:
            raise Invalid(_(u'The End Date Need Bigger Then Start Date'))

    discountStart = schema.Date(title=_(u'Discount Start Date'),
                                required=False)

    discountEnd = schema.Date(title=_(u'Discount End Date'), required=False)

    prepareInfo = schema.Text(
        title=_(u'Prepare Information'),
        required=False,
    )

    courseHours = schema.Int(
        title=_(u"Course Hours"),
        default=0,
        description=_(u"If 0, asking for phone"),
        required=True,
    )

    detailClassTime = schema.Text(
        title=_(u'Detail Class Time'),
        required=False,
    )

    fieldset(_(u'Other'),
             fields=[
                 'submitClassDate',
                 'craneType',
                 'availableMaterial',
                 'qualification',
                 'reTrainingDetail',
                 'courseIntro',
                 'courseScope',
                 'testMethod',
                 'studDataSendDate',
                 'finishCourseSendDate',
                 'receivedDate',
                 'giveLicenseStatus',
                 'checkNote',
                 'preFee',
                 'feeDetail',
                 'manageFee',
                 'finishCourseStatus',
                 'cashierNote',
                 'statusNote',
                 'docDate',
                 'licenseDate',
             ])

    submitClassDate = schema.Date(
        title=_(u'Submit Class Date'),
        required=False,
    )

    craneType = schema.TextLine(
        title=_(u'Crane Type'),
        required=False,
    )

    availableMaterial = schema.List(
        title=_(u"Select Material"),
        required=False,
        value_type=schema.Choice(title=_(u"material"),
                                 vocabulary='cshm.content.MaterialList'))

    qualification = schema.TextLine(
        title=_(u'Qualification'),
        required=False,
    )

    reTrainingDetail = RichText(
        title=_(u'ReTraining Detail'),
        required=False,
    )

    courseIntro = RichText(
        title=_(u'CourseIntro'),
        required=False,
    )

    courseScope = RichText(
        title=_(u'Course Scope'),
        required=False,
    )

    testMethod = RichText(
        title=_(u'Test Method'),
        required=False,
    )

    studDataSendDate = schema.Date(
        title=_(u"studDataSendDate"),
        required=False,
    )

    finishCourseSendDate = schema.Date(
        title=_(u"finishCourseSendDate"),
        required=False,
    )

    receivedDate = schema.Date(
        title=_(u"receivedDate"),
        required=False,
    )

    giveLicenseStatus = schema.TextLine(
        title=_(u"Give License Status"),
        required=False,
    )

    checkNote = schema.TextLine(
        title=_(u"checkNote"),
        required=False,
    )

    preFee = schema.TextLine(
        title=_(u"preFee"),
        required=False,
    )

    feeDetail = schema.TextLine(
        title=_(u"feeDetail"),
        required=False,
    )

    manageFee = schema.TextLine(
        title=_(u"manageFee"),
        required=False,
    )

    finishCourseStatus = schema.TextLine(
        title=_(u"finishCourseStatus"),
        required=False,
    )

    cashierNote = schema.TextLine(
        title=_(u"cashierNote"),
        required=False,
    )

    statusNote = schema.TextLine(
        title=_(u"statusNote"),
        required=False,
    )

    trainingCenterAgent = schema.TextLine(
        title=_(u'Training Center Agent'),
        required=False,
    )

    specialCourse = schema.TextLine(
        title=_(u"Special Course"),
        required=False,
    )

    manageOrg = schema.TextLine(title=_(u"Manage Org"), required=False)

    docSN = schema.TextLine(
        title=_(u"Document SN"),
        required=False,
    )

    docDate = schema.Date(
        title=_(u"Document Date"),
        required=False,
    )

    # 發證日期
    licenseDate = schema.Date(
        title=_(u"License Date"),
        required=False,
    )
Esempio n. 11
0
    )

    reg_finish_alert_message = schema.Text(
        title=_(u'Registry Finish Alert Message'),
        description=_(u"Show in Registry Finish Page."),
        required=True,
    )

    email_template = schema.Text(title=_(u'Email Template'),
                                 description=_(u'One line one record'),
                                 required=False)

    msg_template = schema.Text(title=_(u'Msg Template'),
                               description=_(u'One line one record'),
                               required=False)

    images_folder_path = schema.TextLine(
        title=_(u'Images Folder Path'),
        required=True,
    )


class OfficeControlPanelForm(RegistryEditForm):
    form.extends(RegistryEditForm)
    schema = IOffice


OfficeControlPanelView = layout.wrap_form(OfficeControlPanelForm,
                                          ControlPanelFormWrapper)
OfficeControlPanelView.label = _(u"Office Related Setting")
Esempio n. 12
0
class IOffice(Form.Schema):

    docsWorkflows = schema.Text(
        title=_(u"Documents workflows"),
        #        description=_(u'User Enter to separate'),
        required=False,
    )

    office_header = schema.Text(
        title=_(u"Office Header"),
        description=_(u'User Enter to separate'),
        required=False,
    )
    count_office_header = schema.Text(
        title=_(u"Count Header"),
        required=False,
    )

    cell_msg_url = schema.TextLine(
        title=_(u'Cell Message Provider URL'),
        description=_(u'format: id,password,url'),
        required=True,
    )

    reg_ok_message = schema.Text(
        title=_(u'Registry OK Auto Message'),
        description=_(u"'name' for Student Name, 'course' for Course Name"),
        required=False,
    )

    reg_finish_alert_message = schema.Text(
        title=_(u'Registry Finish Alert Message'),
        description=_(u"Show in Registry Finish Page."),
        required=True,
    )

    email_template = schema.Text(title=_(u'Email Template'),
                                 description=_(u'One line one record'),
                                 required=False)

    msg_template = schema.Text(title=_(u'Msg Template'),
                               description=_(u'One line one record'),
                               required=False)

    images_folder_path = schema.TextLine(
        title=_(u'Images Folder Path'),
        required=True,
    )
Esempio n. 13
0
class ISurver(Interface):

    title = schema.TextLine(title=_(u'Title'), required=True)

    file = NamedBlobFile(title=_(u'File'), required=True)
Esempio n. 14
0
class IOfficialDoc(model.Schema):
    """ Marker interface and Dexterity Python Schema for Official Document
    """

    fieldset(_(u'Related Echelon'), fields=[
        'relatedEchelon',
    ])

    relatedEchelon = RelationChoice(title=_(u"Related Echelon"),
                                    required=False,
                                    source=CatalogSource(Type='Echelon'))

    title = schema.TextLine(
        title=_(u"Official Document Title"),
        required=True,
    )

    docWorkflow = schema.TextLine(
        title=_(u'Official Document Workflow.'),
        required=False,
    )

    workflowStatus = schema.TextLine(
        title=_(u'Workflow Status.'),
        required=False,
    )

    docHeader = schema.TextLine(
        title=_(u'Official Document Header.'),
        required=True,
    )

    docSN = schema.TextLine(
        title=_(u'Official Document Serial No.'),
        required=True,
    )

    docDate = schema.Date(
        title=_(u"Official Document Date."),
        required=True,
    )

    recipient = schema.TextLine(
        title=_(u'Recipient'),
        required=True,
    )

    detail_1 = schema.TextLine(
        title=_(u'Official Document Detail 1'),
        required=False,
    )

    detail_2 = schema.TextLine(
        title=_(u'Official Document Detail 2'),
        required=False,
    )

    detail_3 = schema.TextLine(
        title=_(u'Official Document Detail 3'),
        required=False,
    )

    detail_4 = schema.TextLine(
        title=_(u'Official Document Detail 4'),
        required=False,
    )

    detail_5 = schema.TextLine(
        title=_(u'Official Document Detail 5'),
        required=False,
    )

    detail_6 = schema.TextLine(
        title=_(u'Official Document Detail 6'),
        required=False,
    )

    detail_7 = schema.TextLine(
        title=_(u'Official Document Detail 7'),
        required=False,
    )

    detail_8 = schema.TextLine(
        title=_(u'Official Document Detail 8'),
        required=False,
    )

    detail_9 = schema.TextLine(
        title=_(u'Official Document Detail 9'),
        required=False,
    )

    detail_10 = schema.TextLine(
        title=_(u'Official Document Detail 10'),
        required=False,
    )
Esempio n. 15
0
class ICourse(model.Schema):
    """ Marker interface and Dexterity Python Schema for Course
    """

    #    fieldset('Counselor', fields=['counselor', 'agentCounselor'])

    directives.mode(counselor='hidden')
    counselor = schema.Choice(
        title=_(u"Counselor"),
        vocabulary='plone.app.vocabularies.Users',
        required=False,
    )

    directives.mode(agentCounselor='hidden')
    agentCounselor = schema.Choice(
        title=_(u"Agent Counselor"),
        vocabulary='plone.app.vocabularies.Users',
        required=False,
    )

    # fieldset('CourseDetail', fields=[])
    reTrainingBaseOn = schema.TextLine(
        title=_(u'Retraining Base On'),
        required=False,
    )

    reTrainingCourse = RelationList(
        title=_(u"Retrainging Course"),
        required=False,
        value_type=RelationChoice(
            title=_(u"Course"),
            source=CatalogSource(Type='Course',
                                 path='/cshm/resource/course_template'),
        ))

    handbookTitle = schema.TextLine(
        title=_(u'Handbook Title'),
        required=False,
    )
    """
    courseHours = schema.Int(
        title=_(u"Course Hours"),
        default=0,
        description=_(u"If 0, asking for phone"),
        required=False,
    )

    # 考量學費可能調整,這個欄位可能要放到期別
    courseFee = schema.Int(
        title=_(u"Course Fee"),
        default=0,
        description=_(u"If 0, asking for phone"),
        required=False,
    ) """

    courseRequired = RichText(
        title=_(u"Course Required"),
        required=False,
    )

    trainee = RichText(
        title=_(u"Trainee"),
        required=False,
    )

    courseScope = schema.TextLine(
        title=_(u"Course Scope"),
        required=False,
    )

    courseEffective = schema.TextLine(
        title=_(u"Course Effective"),
        required=False,
    )

    introduction = RichText(
        title=_(u"Introduction"),
        required=False,
    )

    otherNote = RichText(
        title=_(u"Other Note"),
        required=False,
    )

    certificateCode = schema.TextLine(
        title=_(u"Certificate Code"),
        required=False,
    )

    simpleTitle = schema.TextLine(
        title=_(u"Simple Title"),
        required=False,
    )

    reTrainingYears = schema.Int(
        title=_(u"Retraining Years"),
        default=0,
        description=_(u"If 0, no need retraining."),
        required=True,
    )

    licenseType = schema.TextLine(
        title=_(u"License Type"),
        required=False,
    )
Esempio n. 16
0
 def check_date(data):
     if data.discountEnd < data.discountStart:
         raise Invalid(_(u'The End Date Need Bigger Then Start Date'))
Esempio n. 17
0
class ITeacher(model.Schema):
    """ Marker interface and Dexterity Python Schema for Teacher
    """

    title = schema.TextLine(
        title=_(u"Teacher Name."),
        required=True,
    )

    activation = schema.Bool(
        title=_(u"Activation"),
        default=True,
        required=True,
    )

    isMember = schema.Bool(
        title=_(u"Is Member"),
        default=False,
        required=True,
    )

    idCardNo = schema.TextLine(
        title=_(u"Id Card Number."),
        required=True,
    )

    teacherSN = schema.TextLine(
        title=_(u"Teacher Serial Number."),
        required=False,
    )

    birthday = schema.Date(
        title=_(u"Birthday"),
        required=False,
    )

    homePhone = schema.TextLine(
        title=_(u"Home Phone Number."),
        required=False,
    )

    cellPhone = schema.TextLine(
        title=_(u"Cell Phone Number."),
        required=False,
    )

    fax = schema.TextLine(
        title=_(u"Fax Number."),
        required=False,
    )

    email = schema.TextLine(
        title=_(u"Email."),
        required=False,
    )

    idCardAddr = schema.TextLine(
        title=_(u"ID Card Address."),
        required=False,
    )

    contactAddr = schema.TextLine(
        title=_(u"Contact Address."),
        required=False,
    )

    edu_1 = schema.TextLine(
        title=_(u"Education 1."),
        required=False,
    )

    dep_1 = schema.TextLine(
        title=_(u"Department 1."),
        required=False,
    )

    degree_1 = schema.TextLine(
        title=_(u"Degree 1."),
        required=False,
    )

    gradYear_1 = schema.Int(
        title=_(u"Graduation Year 1."),
        min=1900,
        max=2100,
        required=False,
    )

    gradMonth_1 = schema.Int(
        title=_(u"Graduation Month 1."),
        min=1,
        max=12,
        required=False,
    )

    edu_2 = schema.TextLine(
        title=_(u"Education 2."),
        required=False,
    )

    dep_2 = schema.TextLine(
        title=_(u"Department 2."),
        required=False,
    )

    degree_2 = schema.TextLine(
        title=_(u"Degree 2."),
        required=False,
    )

    gradYear_2 = schema.Int(
        title=_(u"Graduation Year 2."),
        min=1900,
        max=2100,
        required=False,
    )

    gradMonth_2 = schema.Int(
        title=_(u"Graduation Month 2."),
        min=1,
        max=12,
        required=False,
    )

    edu_3 = schema.TextLine(
        title=_(u"Education 3."),
        required=False,
    )

    dep_3 = schema.TextLine(
        title=_(u"Department 3."),
        required=False,
    )

    degree_3 = schema.TextLine(
        title=_(u"Degree 3."),
        required=False,
    )

    gradYear_3 = schema.Int(
        title=_(u"Graduation Year 3."),
        min=1900,
        max=2100,
        required=False,
    )

    gradMonth_3 = schema.Int(
        title=_(u"Graduation Month 3."),
        min=1,
        max=12,
        required=False,
    )

    serviceUnit = schema.TextLine(
        title=_(u"Service Unit"),
        required=False,
    )

    serviceDep = schema.TextLine(
        title=_(u"Service Department"),
        required=False,
    )

    currentJob = schema.TextLine(
        title=_(u"Current Job"),
        required=False,
    )

    startWorkDate = schema.Date(
        title=_(u"Start Work Date"),
        required=False,
    )

    unitPhone = schema.TextLine(
        title=_(u"Unit Phone"),
        required=False,
    )

    personExp = schema.Text(
        title=_(u"Person Experience"),
        required=False,
    )

    license = schema.Text(
        title=_(u"Person License"),
        required=False,
    )

    unitAddress = schema.TextLine(
        title=_(u"Service Unit Address"),
        required=False,
    )

    creatUser = schema.TextLine(
        title=_(u"Created User"),
        required=False,
    )

    fieldset(_(u'Teach Related'),
             fields=['teachSubjects', 'teachTrainingCenter'])
    teachSubjects = RelationList(
        title=_(u'Teach Subjects'),
        default=[],
        required=False,
        value_type=RelationChoice(
            title=_(u"Subject"),
            source=CatalogSource(Type='Subject',
                                 path='/cshm/resource/course_template'),
        ))

    teachTrainingCenter = RelationList(
        title=_(u'Teach Training Center'),
        default=[],
        required=False,
        value_type=RelationChoice(
            title=_(u"Training Center"),
            source=CatalogSource(Type='TrainingCenter',
                                 path='/cshm/resource/training_center'),
        ))