def get_teacher_course_information(): if request.method == 'GET': # 查看某课程选课学生信息 form = GetCourseInformationForm(request.args) if form.validate(): course_id = form.course_id.data teacher_id = CourseTeacherReader(course_id) if teacher_id.data.get('error'): return jsonify(teacher_id.data), 404 teacher_id = teacher_id.data['teacher_id'] authority = check_authority('teacher', teacher_id) if authority.get('error'): return jsonify(authority), 404 course_students = TeacherCourseStudentReader(course_id) return jsonify(course_students.data), 404 if course_students.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404 else: # 修改某课程某学生成绩 form = PostGradeInformationForm(request.args) if form.validate(): course_id = form.course_id.data teacher_id = CourseTeacherReader(course_id) if teacher_id.data.get('error'): return jsonify(teacher_id.data), 404 teacher_id = teacher_id.data['teacher_id'] authority = check_authority('teacher', teacher_id) if authority.get('error'): return jsonify(authority), 404 student_id = form.student_id.data grade = form.grade.data grade_updater = TeacherGradeUpdater(course_id, student_id, grade) return jsonify(grade_updater.data), 404 if grade_updater.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def admin_update_teacher(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 if request.method == 'GET': form = AdminSelectSingleTeacherForm(request.args) if form.validate(): teacher_id = form.teacher_id.data teacher = TeacherReader(teacher_id) return jsonify( teacher.data), 404 if teacher.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404 else: form = AdminUpdateTeacherForm(request.args) if form.validate(): teacher_id = form.teacher_id.data teacher_name = form.teacher_name.data sex = form.sex.data birth_year = form.birth_year.data updater = TeacherUpdater(teacher_id, teacher_name, sex, birth_year) return jsonify( updater.data), 404 if updater.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404 pass
def admin_select_course(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 course_list = CourseReader() return jsonify( course_list.data), 404 if course_list.data.get('error') else 200
def admin_update_course(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 if request.method == 'GET': form = AdminSelectSingleCourseForm(request.args) if form.validate(): course_id = form.course_id.data result = SingleCourseReader(course_id).data if result.get('error'): return jsonify(result), 404 result = dict(result, **TeacherListReader().data) return jsonify(result), 404 if result.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404 else: form = AdminUpdateCourseForm(request.args) if form.validate(): course_id = form.course_id.data course_name = form.course_name.data year = form.year.data semester = form.semester.data teacher_id = form.teacher_id.data credit = form.credit.data updater = CourseUpdater(course_id, course_name, year, semester, teacher_id, credit) return jsonify( updater.data), 404 if updater.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def admin_select_major_course(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 # 没有参数,不需要验证 major_courses = MajorCourseReader() return jsonify( major_courses.data), 404 if major_courses.data.get('error') else 200
def admin_select_teacher(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 teacher_list_reader = TeacherListReader() return jsonify( teacher_list_reader.data), 404 if teacher_list_reader.data.get( 'error') else 200
def admin_insert_major(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 form = AdminInsertMajorForm(request.args) if form.validate(): major_name = form.major_name.data inserter = MajorInserter(major_name) return jsonify(inserter.data), 404 if inserter.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def admin_delete_course(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 form = AdminSelectSingleCourseForm(request.args) if form.validate(): course_id = form.course_id.data deleter = CourseDeleter(course_id) return jsonify(deleter.data), 404 if deleter.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def get_student_courses_selected(): form = GetStudentInformationForm(request.args) if form.validate(): student_id = form.student_id.data authority = check_authority('student', student_id) if authority.get('error'): return jsonify(authority), 404 student_courses = StudentCoursesReader(student_id) return jsonify(student_courses.data), 404 if student_courses.data.get( 'error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def get_teacher_courses_taught(): # 查看教师授课信息 form = GetTeacherInformationForm(request.args) if form.validate(): teacher_id = form.teacher_id.data authority = check_authority('teacher', teacher_id) if authority.get('error'): return jsonify(authority), 404 teacher_courses = TeacherCoursesReader(teacher_id) return jsonify(teacher_courses.data), 404 if teacher_courses.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def get_student_information(): form = GetStudentInformationForm(request.args) # 验证请求参数 if form.validate(): # 如果通过验证 student_id = form.student_id.data authority = check_authority('student', student_id) if authority.get('error'): return jsonify(authority), 404 student = StudentReader(student_id) # 从数据库读取学生信息 # 若包含error字段,则读取失败,否则读取成功 return jsonify(student.data), 404 if student.data.get('error') else 200 else: # 如果未通过验证 return jsonify(transform_errors(form.errors)), 404
def admin_delete_major_course(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 form = AdminMajorCourseForm(request.args) if form.validate(): major_id = form.major_id.data course_id = form.course_id.data delete_major_courses = MajorCourseDeleter(major_id, course_id) return jsonify( delete_major_courses.data), 404 if delete_major_courses.data.get( 'error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def teacher_change_password(): form = TeacherChangePasswordForm(request.args) if form.validate(): # 如果通过验证 teacher_id = form.teacher_id.data authority = check_authority('teacher', teacher_id) if authority.get('error'): return jsonify(authority), 404 old_password = form.old_password.data new_password = form.new_password.data teacher = TeacherPasswordChanger(teacher_id, old_password, new_password) return jsonify(teacher.data), 404 if teacher.data.get('error') else 200 else: # 如果未通过验证 return jsonify(transform_errors(form.errors)), 404
def student_change_password(): form = StudentChangePasswordForm(request.args) if form.validate(): # 如果通过验证 student_id = form.student_id.data authority = check_authority('student', student_id) if authority.get('error'): return jsonify(authority), 404 old_password = form.old_password.data new_password = form.new_password.data student = StudentPasswordChanger(student_id, old_password, new_password) return jsonify(student.data), 404 if student.data.get('error') else 200 else: # 如果未通过验证 return jsonify(transform_errors(form.errors)), 404
def admin_insert_teacher(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 form = AdminInsertTeacherForm(request.args) if form.validate(): teacher_name = form.teacher_name.data sex = form.sex.data birth_year = form.birth_year.data inserter = TeacherInserter(teacher_name, sex, birth_year) return jsonify( inserter.data), 404 if inserter.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def admin_insert_major_course(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 if request.method == 'GET': insert_major_courses = InsertMajorCourseReader() return jsonify( insert_major_courses.data), 404 if insert_major_courses.data.get( 'error') else 200 else: form = AdminMajorCourseForm(request.args) if form.validate(): major_id = form.major_id.data course_id = form.course_id.data insert_major_courses = MajorCourseInserter(major_id, course_id) return jsonify( insert_major_courses.data ), 404 if insert_major_courses.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def admin_update_major(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 if request.method == 'GET': form = AdminSelectSingleMajorForm(request.args) if form.validate(): major_id = form.major_id.data major = SingleMajorReader(major_id) return jsonify(major.data), 404 if major.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404 else: form = AdminUpdateMajorForm(request.args) if form.validate(): major_id = form.major_id.data major_name = form.major_name.data updater = MajorUpdater(major_id, major_name) return jsonify(updater.data), 404 if updater.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def admin_insert_course(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 if request.method == 'GET': teachers = TeacherListReader() # 获取可供选择的id列表 return jsonify( teachers.data), 404 if teachers.data.get('error') else 200 else: form = AdminInsertCourseForm(request.args) if form.validate(): course_name = form.course_name.data year = form.year.data semester = form.semester.data teacher_id = form.teacher_id.data credit = form.credit.data inserter = CourseInserter(course_name, year, semester, teacher_id, credit) return jsonify( inserter.data), 404 if inserter.data.get('error') else 200 else: return jsonify(transform_errors(form.errors)), 404
def admin_select_major(): authority = check_authority('admin', 'default') if authority.get('error'): return jsonify(authority), 404 major_reader = MajorReader() return jsonify(major_reader.data), 404 if major_reader.data.get('error') else 200