def remove_staff(): form = DeleteFormStaff() if form.validate_on_submit(): UserManager.remove_staff(form.email.data) flash(form.email.data + ' Has been added removed from users ') return render_template('staff/remove_staff.html', form=form)
def load_user(): if "user_id" in session: user = UserManager.get_user_by_id(id=session["user_id"]) session['logged_in'] = True else: user = UserManager.get_anonymous_user() session['logged_in'] = False g.user = user
def add_staff(): form = RegisterFormStaff() if form.validate_on_submit(): role = int(form.role.data) role = list(RoleEnum)[role] UserManager.create_user(form.email.data, form.password.data, role) flash(form.email.data + ' Has been added to users with role: ' + form.role.data) return render_template('staff/add_staff.html', form=form)
def login(email, password): user = UserManager.get_user(email) if not user or not user.verify_password(password): return False session['logged_in'] = True session['user_id'] = user.id g.user = user return True
def register(): form = RegisterForm() if form.validate_on_submit(): if not UserManager.create_user(form.email.data, form.password.data): flash('This email is already in use.', 'danger') else: LoginManager.login(form.email.data, form.password.data) return redirect(url_for('edit_profile')) return render_template('accounts/register.html', form=form)
def setup_class(cls): # Example: Load dummy sqlite DB print ("Runs before any methods in this class") cls.app = AppFactory.create_app(TestConfig) # db.init_app(cls.app) with cls.app.app_context(): db.create_all() roomPrice = RoomPrice("single", 100, 150) room = Room(1, 101, 3, "Available", 1) booking = Booking(1, 1, datetime.strptime('2017-01-02', '%Y-%m-%d').date() ,datetime.strptime('2017-01-10', '%Y-%m-%d').date(), 123123123, 2000) RoomManager.set_availability_for_booking(datetime.strptime("2017-01-01", '%Y-%m-%d').date(), 1) UserManager.create_user("*****@*****.**", "asdasd") user = UserManager.get_user("*****@*****.**") UserManager.update_details(user, "mr", "test", "05644654") db.session.add(roomPrice) db.session.add(room) db.session.add(booking) db.session.commit()
def profile(): user_id = request.args.get('id') if user_id is not None: user = UserManager.get_user_by_id(user_id) else: user = g.user if user is None: abort(404) AccessManager.check_user_has_permission_on(user, P.VIEW_OTHER_USER, P.VIEW_USER) return render_template('accounts/profile.html', user=user)
def edit_profile(): form = ProfileForm() if form.validate_on_submit(): user = UserManager.get_user_by_id(form.user_id.data) if user is None: abort(404) AccessManager.check_user_has_permission_on(user, P.VIEW_OTHER_USER, P.VIEW_USER) UserManager.update_details(user, form.first_name.data, form.last_name.data, form.contact_number.data) return redirect(url_for('profile', id=user.id)) else: user_id = request.args.get('id') if user_id is not None: user = UserManager.get_user_by_id(user_id) else: user = g.user if user is None: abort(404) AccessManager.check_user_has_permission_on(user, P.VIEW_OTHER_USER, P.VIEW_USER) form.user_id.data = user.id if not form.is_submitted() and user.details is not None: form.first_name.data = user.details.first_name form.last_name.data = user.details.last_name form.contact_number.data = user.details.contact_number return render_template('accounts/edit-profile.html', form=form)
def post(self): ''' Create a new user ''' data = request.get_json() data['password_confirmation'] = data['password'] form = RegisterForm(data=data, csrf_enabled=False) if form.validate(): if not UserManager.create_user(form.email.data, form.password.data): return {'form_errors': 'This email is already in use.'}, 400 else: return {'email': form.email.data}, 201 # TODO: return a dictionary pointing to the newly created resource # {'Location': url_for('get_user', id = user.id, _external = True)} # Suggest location of next request else: return {'form_field_errors': form.errors}, 400
def checkin(): if 'booking_user_id' not in session or 'booking_credit_num' not in session: return redirect(url_for('checkin_form')) user = UserManager.get_user_by_id(session['booking_user_id']) credit_num = session['booking_credit_num'] # An exit button should clear the session cookies!!! # del session['booking_user_id'] # del session['booking_credit_num'] bookings = CheckInManager.getBookings(user.details.first_name, user.details.last_name, credit_num) if request.method == 'POST': var = int(request.form['r_num']) CheckInManager.check_in(var) return render_template('checkin_and_out/AcceptCheckIn.html', bookings=bookings, user=user)