Esempio n. 1
0
File: app.py Progetto: flywind2/ohms
def submit():
    user = validate_user()
    q_id = request.args.get("q_id")
    question = get_question(q_id)
    responses = request.form.getlist('responses')
    out = question.submit_response(user.stuid, responses)
    return json.dumps(out, cls=NewEncoder)
Esempio n. 2
0
    def to_html(self):

        # not good to have imports here...
        from queries import get_question, get_last_question_response, get_peer_tasks_for_grader, get_self_tasks_for_student 
        from auth import validate_user
        self.set_metadata()
        user = validate_user()
        if user.type == "guest":
            return "Sorry, but only students can view peer assessment questions."

        vars = {"question": get_question(self.question_id)}

        # if peer assessment was assigned
        if len(self.peer_pts):
            peer_tasks = get_peer_tasks_for_grader(self.question_id, user.stuid)
            vars['peer_responses'] = [get_last_question_response(self.question_id, task.student) for task in peer_tasks]

        # if self assessment was assigned
        if self.self_pts is not None:
            # add the task if it hasn't been already
            response = get_last_question_response(self.question_id, user.stuid)
            if response and not get_self_tasks_for_student(self.question_id, user.stuid):
                session.add(GradingTask(grader=user.stuid, 
                                        student=user.stuid, 
                                        question_id=self.question_id))
                session.commit()
            vars['self_response'] = response

        # jinja2 to get template for peer review questions
        from jinja2 import Environment, PackageLoader
        env = Environment(autoescape=True, loader=PackageLoader("ohms", "templates"))
        template = env.get_template("peer_review_question.html")

        return template.render(**vars)
Esempio n. 3
0
File: app.py Progetto: dlsun/ohms
def submit():
    user = validate_user()
    q_id = request.args.get("q_id")
    question = get_question(q_id)
    responses = request.form.getlist('responses')
    out = question.submit_response(user.stuid, responses)
    return json.dumps(out, cls=NewEncoder)
Esempio n. 4
0
File: app.py Progetto: dlsun/ohms
def move_question():
    admin = validate_admin()

    q_id = int(request.form['q_id'])
    hw_id = int(request.form['hw_id'])

    question = get_question(q_id)
    question.hw_id = hw_id if hw_id else None
    session.commit()

    if hw_id:
        return "Question ID %d moved to <a href=hw?id=%d>%s</a>." % (q_id, question.homework.id, question.homework.name)
    else:
        return "Question ID %d has been deleted!" % q_id
Esempio n. 5
0
File: app.py Progetto: flywind2/ohms
def move_question():
    admin = validate_admin()

    q_id = int(request.form['q_id'])
    hw_id = int(request.form['hw_id'])

    question = get_question(q_id)
    question.hw_id = hw_id if hw_id else None
    session.commit()

    if hw_id:
        return "Question ID %d moved to <a href=hw?id=%d>%s</a>." % (
            q_id, question.homework.id, question.homework.name)
    else:
        return "Question ID %d has been deleted!" % q_id
Esempio n. 6
0
File: app.py Progetto: flywind2/ohms
def load():
    user = validate_user()
    q_id = request.args.get("q_id")
    question = get_question(q_id)
    return json.dumps(question.load_response(user), cls=NewEncoder)
Esempio n. 7
0
File: app.py Progetto: dlsun/ohms
def load():
    user = validate_user()
    q_id = request.args.get("q_id")
    question = get_question(q_id)
    return json.dumps(question.load_response(user), cls=NewEncoder)