def process_scenarioResponse(): sR = scenarioResponseForm() if sR.validate_on_submit(): sid = sR.scenario.data qnum = int(sR.question.data) resp = sR.response.data uid = current_user.id # answer checking function in utils score = responseCheck(qnum, sid, resp, uid) # get attempt number att = getAttempt(sid) Responses.create(user_id=uid, scenario_id=sid, question=qnum, student_response=resp, points=score, attempt=att) if score > 0: flash("A CORRECT answer was given for question {0}.".format(qnum)) return 'utils/student_answer_response.html', score else: flash( "An INCORRECT answer was given for question {0}.".format(qnum)) return 'utils/student_answer_response.html', score else: flash_errors(sR) return False
def student_scenario(i): # i = scenario_id # db_ses = db.session if checkEnr(i): if checkEx(i): status, owner, desc, s_type, s_name, u_name, pw, guide, questions = tempMaker( i, "stu") # db_ses = db.session # query = db_ses.query(User.id)\ # .filter(Responses.scenario_id == i).filter(Responses.user_id == User.id).all() uid = session.get("_user_id") # att = db_ses.query(Scenarios.attempt).filter(Scenarios.id == i).first() addresses = identify_state(s_name, status) example = None # query = db_ses.query(Responses.user_id, Responses.attempt, Responses.question, Responses.points, # Responses.student_response).filter(Responses.scenario_id == i)\ # .filter(Responses.user_id == uid).filter(Responses.attempt == att).all() if request.method == "GET": scenarioResponder = scenarioResponseForm() aList = displayCorrect(s_name, u_name) progress = displayProgress(i, uid) return render_template("dashboard/student_scenario.html", id=i, status=status, owner=owner, desc=desc, s_type=s_type, s_name=s_name, u_name=u_name, pw=pw, add=addresses, guide=guide, questions=questions, srF=scenarioResponder, aList=aList, example=example, progress=progress) elif request.method == "POST": ajax = process_request( request.form ) # scenarioResponseForm(request.form) # this validates it progress = displayProgress(i, uid) if ajax: return render_template( "utils/student_answer_response.html", score=ajax[1], progress=progress) else: return redirect(url_for("dashboard.student_scenario", i=i)) else: return abort(404) else: return abort(403)
def student_scenario(i): # db_ses = db.session if checkEnr(i): if checkEx(i): status, owner, desc, s_type, s_name, u_name, pw, guide, questions = tempMaker( i, "stu") # db_ses = db.session # query = db_ses.query(User.id)\ # .filter(Responses.scenario_id == i).filter(Responses.user_id == User.id).all() # own_id = session.get("_user_id") addresses = identify_state(s_name, status) aList = displayCorrect(s_name, u_name) example = None if request.method == "GET": scenarioResponder = scenarioResponseForm() return render_template("dashboard/student_scenario.html", id=i, status=status, owner=owner, desc=desc, s_type=s_type, s_name=s_name, u_name=u_name, pw=pw, add=addresses, guide=guide, questions=questions, srF=scenarioResponder, aList=aList, example=example) elif request.method == "POST": ajax = process_request( request.form ) # scenarioResponseForm(request.form) # this validates it return redirect( url_for("dashboard.student_scenario", i=i) ) # TODO: work from here to make ajax stop refreshing the page # if ajax: # if forms.py scenarioResponseForm returns true # current_app.logger.info("########Ajax Response is: {} ".format(request.data)) # # #query db to convert username to user_id # # form_utils.py/process_scenarioResponse(); # # utils.py/responseCheck boolean value then somehow pass back to template. # else: # return redirect(url_for("dashboard.student_scenario", i=i)) else: return abort(404) else: return abort(403)
def process_scenarioResponse(): sR = scenarioResponseForm() if sR.validate_on_submit(): sid = sR.scenario.data qnum = sR.question.data resp = sR.response.data uid = current_user.id # answer checking function in utils gotIt = responseCheck(qnum, sid, resp) # get attempt number from somewhere att = getAttempt(uid, sid, qnum) Responses.create(user_id=uid, scenario_id=sid, question=qnum, student_response=resp, correct=gotIt, attempt=att)
def process_scenarioResponse(): sR = scenarioResponseForm() if sR.validate_on_submit(): sid = sR.scenario.data qnum = int(sR.question.data) resp = sR.response.data uid = current_user.id # answer checking function in utils gotIt = responseCheck(qnum, sid, resp, uid) # get attempt number from somewhere att = getAttempt(sid) Responses.create(user_id=uid, scenario_id=sid, question=qnum, student_response=resp, correct=gotIt, attempt=att) if gotIt: flash("A CORRECT answer was given for question {0}.".format(qnum)) else: flash( "An INCORRECT answer was given for question {0}.".format(qnum))