Beispiel #1
0
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)
Beispiel #2
0
 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
Beispiel #3
0
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)
Beispiel #4
0
    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
Beispiel #5
0
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)
Beispiel #6
0
    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()
Beispiel #7
0
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)
Beispiel #8
0
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
Beispiel #10
0
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)