def get_course_by_course_id(self, course_id, student_id): dao = CourseDAO() result = dao.get_course_by_course_id(course_id, student_id) if not result: return jsonify(Error='NOT FOUND'), 404 course = self.mapToCourseDict(result) section_id = result[5] enrolled_id = result[6] course['time'] = [] course['grades'] = [] course['tasks'] = [] # get time schedule of section time = dao.get_section_times_by_section_id(section_id) if time: for t in time: course['time'].append(self.mapToTimeDict(t)) # get grades of course grades = dao.get_grades_by_enrolled_id(enrolled_id) if grades: for g in grades: print(g) course['grades'].append(self.mapToGradeDict(g)) # get tasks of course dao2 = TaskDAO() tasks = dao2.get_study_tasks_by_user_id_and_course_id( student_id, course['course_id']) if tasks: for t in tasks: course['tasks'].append(self.mapToTaskDict(t)) return jsonify(Course=course)
def get_courses_by_student_id(self, student_id): dao = CourseDAO() result = dao.get_courses_by_student_id(student_id) if not result: return jsonify(Error="NOT FOUND"), 404 mapped_result = [] for r in result: mapped_result.append(self.mapToCourseDict(r)) return jsonify(mapped_result)
def get_grades_by_course_id(self, course_id): dao = CourseDAO() result = dao.get_grades_by_enrolled_id(course_id) if not result: return jsonify(Error="NOT FOUND"), 404 mapped_result = [] for r in result: mapped_result.append(self.mapToGradeDict(r)) return jsonify(mapped_result)
def insert_grade(self, user_id, form): if len(form) < 5: return jsonify(Error="Malformed post request"), 400 else: name = form['name'] grade = form['grade'] total = form['total'] weight = form['weight'] date = form['date'] course_id = form['course_id'] if name and course_id: dao = CourseDAO() grade_id = dao.insert_grade(name, grade, total, weight, date, user_id, course_id) # result = self.mapToTaskDict(task_id) return jsonify({'grade_id': grade_id[0]}), 200 else: return jsonify( Error="Unexpected attributes in post request"), 400
def get_courses_with_grades_by_student_id(self, student_id): dao = CourseDAO() courses = dao.get_courses_by_student_id(student_id) if not courses: return jsonify(Error="NOT FOUND"), 404 mapped_result = [] for c in courses: print(c) course = self.mapToCourseDict(c) section_id = c[5] enrolled_id = c[6] print(course) course['time'] = [] course['grades'] = [] course['tasks'] = [] # get time schedule of section time = dao.get_section_times_by_section_id(section_id) if time: for t in time: course['time'].append(self.mapToTimeDict(t)) # get grades of course grades = dao.get_grades_by_enrolled_id(enrolled_id) if grades: for g in grades: print(g) course['grades'].append(self.mapToGradeDict(g)) # get tasks of course dao2 = TaskDAO() tasks = dao2.get_study_tasks_by_user_id_and_course_id( student_id, course['course_id']) if tasks: for t in tasks: course['tasks'].append(self.mapToTaskDict(t)) mapped_result.append(course) return jsonify(mapped_result), 200
def insert_course(self, user_id, form): codification = form['codification'] section = form['section_num'] name = codification credits = 0 professor_id = None if codification and section: dao = CourseDAO() # add course to db course_id = dao.insert_course(name, codification, credits, professor_id) # add section to db section_id = dao.insert_section(section, course_id) # enroll student in section enrolled_id = dao.add_course_to_student(section_id, user_id) return jsonify({ 'course_id': course_id, 'section_id': section_id, 'enrolled_id': enrolled_id }), 200 else: return jsonify(Error="Unexpected attributes in post request"), 400
def deleteGrade(self, student_id, grade_id): response = CourseDAO().delete_grade(student_id, grade_id) if not response: return jsonify(Error='Deletion could not be completed'), 500 result = {'grade_id': response[0]} return jsonify(result=result), 200
def changeGradeDate(self, grade_id, grade_date): response = CourseDAO().change_grade_date(grade_id, grade_date) if not response: return jsonify(Error='GRADE NOT FOUND'), 404 result = {'user_id': response[0], 'new_grade_date': response[1]} return jsonify(result=result), 200