Example #1
0
def add_grade():
    if current_user.__tablename__ == 'teachers':
        form = GradeForm()
        if form.validate_on_submit():
            stu = Student.query.get(form.stu_id.data)
            if stu is None:
                flash(u'没有学号为 %s 的学生,请先创建该学生的信息' % form.stu_id.data)
            else:
                stu_id = int(form.stu_id.data)
                course_id = form.course_id.data
                grade = form.grade.data
                new_grade = db.session.query(Grade).filter_by(
                    course_id=course_id, stu_id=stu_id).first()
                if new_grade is None:
                    new_grade = Grade(stu_id, course_id, grade)
                else:
                    new_grade.grade = grade
                try:
                    db.session.add(new_grade)
                    db.session.commit()
                except SQLAlchemyError:
                    flash(u'成绩添加失败,请确认输入是否正确')
                    db.session.rollback()
                else:
                    flash(u'成绩添加成功', 'success')
            return redirect(url_for('add_grade'))  # to clear form fields
        return render_template('add_grade.html', form=form)
    else:
        return render_template('404.html'), 404
Example #2
0
def add_grades(cid, period):
    course = db.GqlQuery("SELECT * FROM Course WHERE cid=:1", cid).fetch(1)[0]
    grades = simplejson.loads(course.grades)
    for grade in grades:
        new_grade = Grade()
        new_grade.cid = cid
        new_grade.cname = course.name
        new_grade.grade = grade["grade"]
        new_grade.sid = grade["sid"]
        new_grade.period = grade["period"]
        new_grade.put()