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')
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')))
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')
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)