def get(self): user = UserModel() user.from_json(flask.session['user']) context = { "selected_tab": "home", "user": user, } return flask.render_template('index.html', **context)
def get(self): if flask.session.get('admin') is not None: admin = UserModel.create(**flask.session['admin']) admin_facade.logout_admin(admin.token) del flask.session['admin'] flask.flash("You were logged out.", "info") return flask.redirect(flask.url_for('admin_login'))
def get(self): if flask.session.get('user') is not None: user = UserModel.create(**flask.session['user']) user_facade.logout_user(user.token) del flask.session['user'] flask.flash("You were logged out.", "info") return flask.redirect(flask.url_for('login'))
def post(self): user = UserModel.create(**flask.session['user']) course_id = flask.request.get_json()['course_id'] auth = course_facade.drop_course(user.token, course_id) if not auth: return self.handle_not_authorized() else: flask.flash(f"Successfully dropped course.", "success") return flask.jsonify({}) return
def post(self): user = UserModel.create(**flask.session['user']) search_data = flask.request.get_json() (status, courses) = course_facade.search_for_courses(user.token, search_data) if status == FRC.NOT_AUTHENTICATED: return self.handle_not_authorized() if status != FRC.SUCCESS: return flask.jsonify({}) course_list = list(map(lambda c: c.to_json(), courses)) return flask.jsonify(course_list)
def decorated_function(*args, **kwargs): logged_in = True if session.get('user') is None: logged_in = False else: user = UserModel.create(**session.get('user')) if not user_facade.check_user_token(user.token): logged_in = False if not logged_in: session['user'] = None flask.flash(f"Please log in.", "warning") return redirect(url_for('login')) return func(*args, **kwargs)
def get(self): courses = [] user = UserModel.create(**flask.session['user']) (status, cs) = course_facade.get_enrolled_courses(user.token) if status == FRC.NOT_AUTHENTICATED: return self.handle_not_authorized() if status != FRC.SUCCESS: flask.flash(f"There was an error loading your enrolled courses.", "danger") for c in cs: days = [] if "Mon" in c.days_of_week: days.append(0) if "Tues" in c.days_of_week: days.append(1) if "Wed" in c.days_of_week: days.append(2) if "Thur" in c.days_of_week: days.append(3) if "Fri" in c.days_of_week: days.append(4) start_m = re.match("^([0-9]+)\:([0-9]+)", c.start_time) start_off = int(start_m.group(1)) + int(start_m.group(2)) / 60.0 end_m = re.match("^([0-9]+)\:([0-9]+)", c.end_time) end_off = int(end_m.group(1)) + int(end_m.group(2)) / 60.0 for d in days: courses.append({ "first_row": c.course_name, "second_row": c.start_time + " - " + c.end_time, "start_time": start_off, "end_time": end_off, "end_off": end_off, "day_of_week": d, "color": "white", }) context = {"selected_tab": "schedule", "courses": courses} return flask.render_template('schedule.html', **context)
def login_user(email, password): """ Logs a user in using their credentials. Parameters ---------- email : str the user's email password : str the user's password Returns ------- (int, UserModel) Tuple of facade result code and user model. """ data = { "email": email, "password": password, } try: response = requests.post(f"{app.config['API_ENDPOINT']}/user/login", data=data) json_response = response.json() # Assume not authenticated until proved otherwise result_code = FRC.NOT_AUTHENTICATED if response.status_code == 200 and json_response['studentID'] != 0: result_code = FRC.SUCCESS user = None if result_code == FRC.SUCCESS: user = UserModel.create( id=json_response['studentID'], email=json_response['email'], first_name=json_response['firstName'], last_name=json_response['lastName'], token=json_response['token'], ) return (result_code, user) except: return (FRC.CONNECTION_ERROR, None)
def decorated_function(*args, **kwargs): logged_in = True if session.get('admin') is None: logged_in = False else: admin = UserModel.create(**session.get('admin')) if not admin_facade.check_admin_token(admin.token): logged_in = False if not logged_in: session['admin'] = None flask.flash(f"Your session has expired. Please log in again.", "danger") return redirect(url_for('admin_login')) return func(*args, **kwargs)
def get(self): user = UserModel.create(**flask.session['user']) context = { "selected_tab": "programs", "programs": [], } (status, program_list) = program_facade.get_enrolled_programs(user.token) if status == FRC.NOT_AUTHENTICATED: return self.handle_not_authorized() if status != FRC.SUCCESS: flask.flash(f"Error loading your currently enrolled programs.", "danger") else: context['programs'] = program_list return flask.render_template('programs/enrolled.html', **context)
def post(self): user = UserModel.create(**flask.session['user']) course_id = flask.request.get_json().get('course_id') if course_id == None: return flask.jsonify({}) (status, conflicts) = course_facade.enroll_in_course(user.token, course_id) if status == FRC.NOT_AUTHENTICATED: return self.handle_not_authorized() if status != FRC.SUCCESS: if conflicts: flask.flash(f"The course you are trying to register for conflicts with a course you are already in.", "warning") else: flask.flash(f"There was an error registering for the course. Please try again later.", "danger") else: flask.flash(f"Successfully registered.", "success") return flask.jsonify({})