Exemple #1
0
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)
Exemple #2
0
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
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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)