예제 #1
0
def test_page(grade_number, lesson_number):
    if is_logined():
        # def rowdict(row):
        #     d = {}
        #     for column in row:
        #         d[column.question_text] = column.definition

        #     return d

        grade = dbSession.query(Grade).filter_by(id=grade_number).first()
        try:
            lesson = grade.lessons[lesson_number - 1]
            test = Test(user_id=g.user.id,
                        title=lesson.title,
                        question_count=len(lesson.questions),
                        current_question=0,
                        correct_answers=0,
                        lesson_id=lesson.id)
            test.questions = lesson.questions
            question = test.questions[0]
            dbSession.add(test)
            dbSession.commit()
            return render_template('test_page/test_page.html',
                                   test_title=test.title,
                                   test_id=test.id,
                                   question=question)
            # return render_template('test_page/test_page.html' , test_id = test.id , question = question)
        except IndexError as e:
            print(e)
            return render_template('test_page/no_question.html')
    else:
        return redirect(url_for('verification.login'))
예제 #2
0
def first_term_random(grade_number):
    if is_logined():
        grade = dbSession.query(Grade).filter(Grade.id == grade_number).first()
        first_lesson_id = grade.lessons[0].id
        size = int(len(grade.lessons) / 2)
        questions_list = dbSession.query(Question).filter(
            Question.lesson_id >= first_lesson_id, Question.lesson_id <=
            (first_lesson_id + size)).order_by(func.random()).limit(10).all()
        test = Test(user_id=g.user.id,
                    title='مرور نیم سال اول',
                    question_count=len(questions_list),
                    current_question=0,
                    correct_answers=0)
        test.questions = questions_list
        dbSession.add(test)
        dbSession.commit()
        question = questions_list[0]
        return render_template('test_page/test_page.html',
                               test_title=test.title,
                               test_id=test.id,
                               question=question)
    else:
        return redirect(url_for('verification.login'))