예제 #1
0
def question(subCode, subName, lecType, quesID):
    subInfo = (subCode, subName, lecType)
    newUtils = lecturerInChargeUtils()
    isAuthor = newUtils.checkAuthor(quesID, session["accountState"]["ID"])
    quesInfo, lecInfo = newUtils.getQuestionInfo(quesID)
    choiceList = newUtils.getChoiceList(quesID)
    return render_template('question.html', user = session["accountState"], subInfo = subInfo, isAuthor = isAuthor, quesInfo = quesInfo, lecInfo = lecInfo, choiceList = choiceList)
예제 #2
0
def lecViewExam(subCode, subName, lecType, examDate, examCode):
    subInfo = (subCode, subName, lecType)
    newUtils = lecturerInChargeUtils()
    exam = newUtils.getOneExam(subCode, examDate, examCode)
    print(exam)
    exam = removeDuplicatesTuple(exam)

    return render_template('lec_view_exam.html', user = session["accountState"], subInfo = subInfo, exam = exam)
예제 #3
0
def editQuestion4(subCode, subName, lecType, quesID):
    subInfo = (subCode, subName, lecType)
    newUtils = lecturerInChargeUtils()
    outcomeList = newUtils.getOutcomeList(subCode)
    quesInfo, lecInfo = newUtils.getQuestionInfo(quesID)
    choiceList = newUtils.getChoiceList(quesID)
    if request.method == "POST":
        req = request.form
        correctChIDs = ""
        timeCtrb = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

        if req.get("correctCh1"): correctChIDs += req.get("correctCh1")
        if req.get("correctCh2"): correctChIDs += req.get("correctCh2")
        if req.get("correctCh3"): correctChIDs += req.get("correctCh3")
        if req.get("correctCh4"): correctChIDs += req.get("correctCh4")        

        qDes = request.files['qDes']
        print(req)
        qDesID = quesInfo[10]
        if qDes.filename != '':
            qDesName = secure_filename(qDes.filename)
            qDes.save(os.path.join(app.config['UPLOAD_FOLDER'], qDesName))
            qDesID = newUtils.setDesID(qDes.filename)

        chDes1 = request.files['chDes1']
        chDesID1 = choiceList[0][4]
        if chDes1.filename != '':
            chDesName1 = secure_filename(chDes1.filename)
            chDes1.save(os.path.join(app.config['UPLOAD_FOLDER'], chDesName1))
            chDesID1 = newUtils.setDesID(chDes1.filename)

        chDes2 = request.files['chDes2']
        chDesID2 = choiceList[1][4]
        if chDes2.filename != '':
            chDesName2 = secure_filename(chDes2.filename)
            chDes2.save(os.path.join(app.config['UPLOAD_FOLDER'], chDesName2))
            chDesID2 = newUtils.setDesID(chDes2.filename)

        chDes3 = request.files['chDes3']
        chDesID3 = choiceList[2][4]
        if chDes3.filename != '':
            chDesName3 = secure_filename(chDes3.filename)
            chDes3.save(os.path.join(app.config['UPLOAD_FOLDER'], chDesName3))
            chDesID3 = newUtils.setDesID(chDes3.filename)

        chDes4 = request.files['chDes4']
        chDesID4 = choiceList[3][4]
        if chDes4.filename != '':
            chDesName4 = secure_filename(chDes4.filename)
            chDes4.save(os.path.join(app.config['UPLOAD_FOLDER'], chDesName4))
            chDesID4 = newUtils.setDesID(chDes4.filename)
        
        newUtils.updateQuestion4Choices(quesID, req.get("content"), req.get("level"), correctChIDs, qDesID, session["accountState"]["ID"],\
            timeCtrb, req.get("outcome"), subCode, "A", req.get("choice1"), chDesID1, "B", req.get("choice2"), chDesID2, "C", req.get("choice3"), chDesID3,\
                "D", req.get("choice4"), chDesID4)
        return redirect(url_for('subject', subCode = subCode, subName = subName, lecType = lecType))
    return render_template('ques_eform4.html', user = session["accountState"], subInfo = subInfo, ocList = outcomeList, quesInfo = quesInfo, choiceList = choiceList)
예제 #4
0
def createExam(subCode, subName, lecType):
    subInfo = (subCode, subName, lecType)
    newUtils = lecturerInChargeUtils()
    quesList = newUtils.viewQuestionList(subCode)
    examtimeList = newUtils.getExamtimeList(subCode)
    if request.method == "POST":
        req = request.form
        checkList = req.getlist("checkbox")

        examtime = req.get("examtime")
        newUtils.createExam(subCode, examtime, "2001", "Đã hoàn thành", session["accountState"]["ID"])

        for i in range(len(checkList)):
            # Question_ID, Sub_Code, Exam_Date, Exam_Code, Mix_Option, Mix_Correct_Choice_IDs
            quesID = checkList[i][:9]
            numChoice = int(checkList[i][-1])
            correctChIDs = checkList[i][10:-2]
            mixCorrect = ""
            for j in range(len(correctChIDs)):
                if correctChIDs[j] == "A":
                    mixCorrect += "B"
                elif correctChIDs[j] == "B":
                    mixCorrect += "C"
                elif correctChIDs[j] == "C":
                    mixCorrect += "D"
                elif correctChIDs[j] == "D":
                    mixCorrect = mixCorrect + "A" if numChoice == 4 else mixCorrect + "E"
                else:
                    mixCorrect += "A"
            mixCorrect =''.join(sorted(mixCorrect))

            newUtils.addQuestionToExam(quesID, subCode, examtime, "2001", 1, mixCorrect)
        
        return redirect(url_for('exam_subject', subCode = subCode, subName = subName, lecType = lecType))

    return render_template('exam_form.html', user = session["accountState"], subInfo = subInfo, quesList = quesList, extimeList = examtimeList)
예제 #5
0
def delQuestion(subCode, subName, lecType, quesID):
    newUtils = lecturerInChargeUtils()
    newUtils.deleteQuestion(quesID)
    return redirect(url_for('subject', subCode = subCode, subName = subName, lecType = lecType))
예제 #6
0
def subject(subCode, subName, lecType):
    subInfo = (subCode, subName, lecType)
    newUtils = lecturerInChargeUtils()
    quesList = newUtils.viewQuestionList(subCode)
    return render_template('mcq_subject.html', user = session["accountState"], subInfo = subInfo , quesList = quesList)