Esempio n. 1
0
def connections():
    move = MovementSensor.query.first()
    hr = HeartRateSensor.query.first()
    cr = CareReceiver.query.first()
    return render_extensions('users/connections.html',
                             movement_sensor=move,
                             hr_sensor=hr,
                             carereceiver=cr)
Esempio n. 2
0
def connect_move():
    form = MovementSensorForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        MovementSensor.create(secret_key=form.secret_key.data)
        flash("Successfully connected movement sensor!", 'success')
        return redirect(url_for('user.connections'))
    else:
        flash_errors(form)
    return render_extensions('users/connect_movement_sensor.html', form=form)
Esempio n. 3
0
def change_password():
    form = PasswordForm()
    if form.validate_on_submit():
        current_user.set_password(form.password.data)
        current_user.save()
        return redirect(url_for('user.profile'))
    else:
        flash_errors(form)

    return render_extensions('users/change_password.html', resetform=form)
Esempio n. 4
0
def connect_hr():
    form = HrSensorForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        HeartRateSensor.create(client_id=form.client_id.data,
                               client_secret=form.client_secret.data)
        flash("Successfully connected movement sensor!", 'success')
        return redirect(url_for('user.connections'))
    else:
        flash_errors(form)
    return render_extensions('users/connect_hr_sensor.html', form=form)
Esempio n. 5
0
def panel():
    carerecv = CareReceiver.query.first()
    hs = HeartRateSensor.query.first()
    es = MovementSensor.query.first()
    if not es and not hs:
        flash("No sensors connected", "danger")
        return render_extensions('users/panel.html',
                                 carereceiver=carerecv,
                                 level="Unknown",
                                 hr="No information")
    hr = HeartLevel.query.order_by(HeartLevel.created_at.desc()).first()
    level = ActivityLevel.query.order_by(
        ActivityLevel.created_at.desc()).first()

    return render_extensions(
        'users/panel.html',
        carereceiver=carerecv,
        level=activity_level_mapper[level.value] if level else "Unknown",
        hr=hr_mapper[hr.value] if hr else "No information")
Esempio n. 6
0
def home():
    form = LoginForm(request.form)
    # Handle logging in
    if request.method == 'POST':
        if form.validate_on_submit():
            login_user(form.user)
            flash("You are logged in.", 'success')
            redirect_url = request.args.get("next") or url_for("user.profile")
            return redirect(redirect_url)
        else:
            flash_errors(form)
    return render_extensions("public/home.html", form=form)
Esempio n. 7
0
def register():
    form = RegisterForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        new_user = User.create(username=form.username.data,
                               first_name=form.first_name.data,
                               last_name=form.last_name.data,
                               email=form.email.data,
                               password=form.password.data,
                               active=True)
        flash("Thank you for registering. You can now log in.", 'success')
        return redirect(url_for('public.home'))
    else:
        flash_errors(form)
    return render_extensions('public/register.html', form=form)
Esempio n. 8
0
def connect_cr():
    form = CareReceiverForm(request.form, csrf_enabled=False)
    if form.validate_on_submit():
        new_user = CareReceiver.create(first_name=form.first_name.data,
                                       last_name=form.last_name.data,
                                       age=int(form.age.data),
                                       weight=int(form.weight.data),
                                       height=int(form.height.data),
                                       sex=int(form.sex.data))
        flash("Successfully added a caregiver!", 'success')
        return redirect(url_for('user.connections'))
    else:
        flash_errors(form)
    return render_extensions('users/connect_carerecv.html', form=form)
Esempio n. 9
0
def reset_with_token(token):
    try:
        from pulser.settings import Config

        ts = URLSafeTimedSerializer(Config.SECRET_KEY)
        email = ts.loads(token, salt="recover-key", max_age=86400)
    except:
        return render_template("404.html")

    form = PasswordForm()

    if form.validate_on_submit():
        emailuser = User.query.filter_by(email=email).first_or_404()
        emailuser.set_password(form.password.data)
        emailuser.save()
        return redirect(url_for('public.home'))
    else:
        flash_errors(form)

    return render_extensions('users/reset_with_token.html',
                             resetform=form,
                             token=token)
Esempio n. 10
0
def reset():
    form = EmailForm()
    if form.validate_on_submit():
        emailuser = User.query.filter_by(email=form.email.data).first_or_404()

        subject = "Password reset requested"
        from pulser.settings import Config

        ts = URLSafeTimedSerializer(Config.SECRET_KEY)
        token = ts.dumps(emailuser.email, salt='recover-key')

        recover_url = url_for('user.reset_with_token',
                              token=token,
                              _external=True)
        html = render_template('email/recover.html', recover_url=recover_url)

        msg = Message(html=html, recipients=[emailuser.email], subject=subject)
        mail.send(msg)

        return redirect(url_for('public.home'))
    else:
        flash_errors(form)

    return render_extensions('users/reset.html', resetform=form)
Esempio n. 11
0
def about():
    form = LoginForm(request.form)
    return render_extensions("public/about.html", form=form)
Esempio n. 12
0
def profile():
    return render_extensions("users/profile.html", user=current_user)