예제 #1
0
def course(course_id):
    user_type = ""
    course = getCourseData(course_id)
    studentGrade = GradeSetup(course_id)

    if current_user.is_authenticated:
        if course['insturctorId'] == current_user.user_id:
            user_type = "instructor"
        elif current_user.isStudent():
            user_type = "student"
    form = StudentGradeForm()
    if form.validate_on_submit():
        if not current_user.is_authenticated:
            return redirect(url_for('Login'))
        if current_user.isStudent():
            GradeFormManager(form, current_user.user_id, course_id)
            return redirect(url_for('course', course_id=course_id))
        else:
            flash("You need to be student to add a grade.")
    return render_template('course.html',
                           user_type=user_type,
                           form=form,
                           course=course,
                           course_id=course_id,
                           student_grade=studentGrade,
                           title='Courses')
def login_post():
    if current_user != None and current_user.is_authenticated:
        if current_user.isTeacher():
            return redirect(url_for("main.teacherHomepage"))
        elif current_user.isStudent():
            return redirect(url_for("main.studentHomepage"))
        else:
            return redirect(url_for("main.adminHomepage"))

    username = request.form.get('username')
    password = request.form.get('password')
    remember = True if request.form.get('remember') else False

    user = User(username)

    # check if user actually exists
    # take the user supplied password, hash it, and compare it to the hashed password in database
    if user.password == "" or not check_password_hash(user.password, password):
        db.db.Logins.update({"ID": user.id}, {"$inc": {"attempts": 1}})
        flash('Please check your login details and try again.')
        return redirect(
            url_for('auth.login')
        )  # if user doesn't exist or password is wrong, reload the page

    if db.db.Logins.find({"ID": user.id}).next()["attempts"] >= 20:
        flash("Too many login attempts, contact an administrator")
        return redirect(url_for('auth.login'))
    # if the above check passes, then we know the user has the right credentials
    login_user(user, remember=remember)
    if user.isStudent():
        return redirect(url_for('main.studentHomepage'))
    elif user.isAdmin():
        return redirect(url_for('main.adminHomepage'))
    elif user.isTeacher():
        return redirect(url_for('main.teacherHomepage'))
def login():
    if current_user != None and current_user.is_authenticated:
        if current_user.isTeacher():
            return redirect(url_for("main.teacherHomepage"))
        elif current_user.isStudent():
            return redirect(url_for("main.studentHomepage"))
        else:
            return redirect(url_for("main.adminHomepage"))

    return render_template('index.html')
예제 #4
0
def deleteGrade(course_id):
    if (current_user.isStudent() == False):
        return redirect('home')
    else:
        if deleteGradeDB(current_user.user_id, course_id):
            flash("Your grade has been deleted succesfully.")
            return (redirect(url_for('courses')))
        else:
            flash("Your grade could not been deleted.")
            return (redirect(url_for('courses')))
예제 #5
0
def courses():
    courses, courses_count = getAllCourses()
    form = StudentGradeForm()

    if form.validate_on_submit():
        if not current_user.is_authenticated:
            return redirect(url_for('Login'))
        if current_user.isStudent():
            GradeFormManager(form, current_user.user_id,
                             int(request.form['course']))
            return redirect(url_for('courses'))
        else:
            flash("You must be student.")
    return render_template('courses.html',
                           courses=courses,
                           form=form,
                           courses_count=courses_count,
                           title='Courses')
예제 #6
0
def home():
    userType = ""
    courses = []
    nodes = []
    connections = []
    if not current_user.is_authenticated:
        userType = 'guest'
    elif current_user.isInstructor():
        userType = 'instructor'
        courses = getInstructorsCourses(current_user.user_id)
    elif current_user.isStudent():
        userType = 'student'
        nodes, connections = getCourseConnections(current_user.user_id)

    keys, cons = ConnectionModifier(nodes, connections)
    return render_template('rootHOME.html',
                           keys=keys,
                           cons=cons,
                           title='Home',
                           courses=courses,
                           userType=userType)