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)
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)
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)
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)
def delQuestion(subCode, subName, lecType, quesID): newUtils = lecturerInChargeUtils() newUtils.deleteQuestion(quesID) return redirect(url_for('subject', subCode = subCode, subName = subName, lecType = lecType))
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)