def create(): user = get_jwt_identity params = request.json user = User.get_or_none(User.identity_card == get_jwt_identity()) new_grade = Grade(student_id=params.get("student_id"), subject_id=params.get("subject_id"), grade=params.get("grade"), year=params.get("year")) if user.roles == "staff": if new_grade.save(): response = [] for grade in Grade.select(): response.append({ "message": "Grade successfully updated", "status": "Success", "post_id": grade.subject_id, "staff_name": grade.grade, "title": grade.year, "post": grade.student_id }) else: response = { "error": new_grade.errors, "message": "Update failed, please try again", "status": "Failed" } else: response = {"message": "You are not allowed to perform this action!"} return jsonify(response)
def show(course_name, user_id, post_id): user = User.get_or_none(User.id == user_id) current_course = Course.get_or_none(Course.title == course_name) thread = Thread.get_or_none(Thread.course_id == current_course.id) if user.role.role == 'Teacher': submitted_assignments = [] for assignment in Assignment.select().where(Assignment.post_id == post_id): submitted_assignments.append(assignment) if user.role.role == 'Student': info = StudentCourse.get_or_none(StudentCourse.student_id == user.id, StudentCourse.course_name_id == current_course.id) submitted_assignments = Assignment.get_or_none(Assignment.info_id == info.id) assignment_post = [] week_num = [] i = 1 for post in Post.select().where(Post.thread_id == thread.id): if post.file_path: assignment_post.append(post) week_num.append(i) i += 1 grades = [] for grade in Grade.select(): grades.append(grade) assignment_week = dict(zip(week_num, assignment_post)) print(str(assignment_week)) # for assignment in Assignment.select().where() return render_template('posts/show.html', course_title=course_name, user_id=user_id, post_id=post_id, assignment_week=assignment_week, submitted_assignments=submitted_assignments, grades=grades) # is_student= user.role == "student"