def student_addcourse(): dept = Department.query.filter_by(staff_id=current_user.id).scalar() if (dept): department_code = Department.query.filter_by( staff_id=current_user.id).first() course_id = request.json['course_id'] session_id = Session.get_current() courseform = Courseform.query.filter_by(student_id=current_user.id, session_id=session_id).first() course = Course.query.get(course_id) unit = course.unit old_unit = courseform.total_units courseform.total_units = unit + old_unit db.session.commit() offering = Offering(courseform_id=courseform.id, course_id=course_id) exists = Offering.query.filter_by(courseform_id=courseform.id, course_id=course_id).scalar() if not exists: offering.save() data = {"message": "success"} else: data = {"message": "Course already exists"} return jsonify(data)
def user_dashboard(): staff = Staff.query.filter_by(staff_id=current_user.id).first() dept = Department.query.filter_by(staff_id=current_user.id).scalar() fac = Faculty.query.filter_by(staff_id=current_user.id).scalar() if (staff.adviser): adviser = staff.adviser courses = Course.query.filter_by( level=adviser.level, department_code=adviser.department_code).all() course = len(courses) signs = Offering.query.filter_by(signed=adviser.staff_id).all() signed = len(signs) students = Student.query.filter_by( level=adviser.level, department_code=adviser.department_code).all() submissions = 0 session_id = Session.get_current() for student in students: courseform = Courseform.query.filter_by( student_id=student.student_id, session_id=session_id).first() offerings = Offering.query.filter_by(courseform_id=courseform.id, submitted=True).all() offering = len(offerings) submissions = submissions + offering data = {"a": course, "b": signed, "c": submissions} elif (dept): dept = Department.query.filter_by(staff_id=current_user.id).first() advisers = Adviser.query.filter_by(department_code=dept.code).all() adviser = len(advisers) courses = Course.query.filter_by(department_code=dept.code).all() course = len(courses) students = Student.query.filter_by(department_code=dept.code).all() student = len(students) data = {"a": course, "b": adviser, "c": student} elif (fac): fac = Faculty.query.query.filter_by(staff_id=current_user.id).first() dept = Department.query.query.filter_by(fac_name=fac.name).all() adviser = 0 course = 0 student = 0 for dept in depts: advisers = Adviser.query.filter_by(department_code=dept.code).all() a = len(advisers) adviser = a + adviser courses = Course.query.filter_by(department_code=dept.code).all() c = len(courses) course = c + course students = Student.query.filter_by(department_code=dept.code).all() s = len(students) student = s + student data = {"a": course, "b": adviser, "c": student} else: data = {"message": "Invalid User"} return data
def sign_course(): # logging(request) # student = 1 student_id = request.json['student_id'] course_id = request.json['course_id'] session_id = Session.get_current() courseform = Courseform.query.filter_by(student_id=student_id, session_id=session_id).first() offering = Offering.query.filter_by(courseform_id=courseform.id, course_id=course_id).first() offering.signed = 255001 db.session.commit() # response['status_code'] = 200 data = {"message": "success"} # response['status_code'] = 200 return jsonify(data)
def student_mycourses(): # current_user = User.get(178646) session_id = Session.get_current() courseform = Courseform.query.filter_by(student_id=current_user.id, session_id=session_id).first() offerings = courseform.offerings session = Session.get_current_name() courseform = courseform_schema.dump(courseform).data courseform['session'] = session data = {"courses": [], "session": session, "courseform": courseform} for i in range(len(offerings)): course = offerings[i].course course = course_schema.dump(course).data course['signature'] = offerings[i].signed data['courses'].append(course) return jsonify(data)
def student_deletecourse(id): # current_user = User.get(178646) session_id = Session.get_current() courseform = Courseform.query.filter_by(student_id=current_user.id, session_id=session_id).first() exists = Offering.query.filter_by(courseform_id=courseform.id, course_id=id).scalar() if not exists: data = {"message": "Course not found"} else: offering = Offering.query.filter_by(courseform_id=courseform.id, course_id=id).first() offering.delete() course = Course.query.get(id) unit = course.unit old_unit = courseform.total_units courseform.total_units = old_unit - unit db.session.commit() data = {"message": "success"} # response['status_code'] = 200 return jsonify(data)
def user_role(): # current_user = User.get(178646) staff = Staff.query.filter_by(staff_id=current_user.id).scalar() if staff: dept = Department.query.filter_by(staff_id=current_user.id).scalar() fac = Faculty.query.filter_by(staff_id=current_user.id).scalar() user = staff_schema.dump(current_user.staff).data role = "staff" if (staff.adviser): role = "adviser" user["department"] = staff.adviser.department_code user["level"] = staff.adviser.level elif (dept): role = "hod" dept = Department.query.filter_by(staff_id=current_user.id).first() user["department"] = dept.code elif (fac): role = "dean" fac = Faculty.query.filter_by(staff_id=current_user.id).first() user["faculty"] = fac.name data = {"role": role, "user": user} else: # courseform = current_user.student.courseforms[0] user = student_schema.dump(current_user.student).data session = Session.get_current() session = session_schema.dump(session).data # user.courseforms = courseform data = { "role": "student", "user": user, "session": session # "session": session } return jsonify(data)