def new_measurement(username):
    m = json.loads(request.data)
    if g.user.is_authenticated() and g.user.username == username:
        user = User.find_by_username(username)
        dt = datetime.strptime(m["measurement_date"], "%m/%d/%Y %H:%M")
        user_measurement = UserMeasurement(
            user_id=g.user.id,
            type=m["measurement_type"],
            value=m["measurement_value"],
            unit=m["measurement_unit"],
            date=dt,
        )
        UserMeasurement.save_to_db(user_measurement)
        User.add_newsfeed(
            user,
            "Has added a new measurement "
            + user_measurement.type
            + ": "
            + str(user_measurement.value)
            + " "
            + user_measurement.unit,
        )
        return user_measurement.to_json()
    else:
        return json.dumps({"error": "User " + username + " is not logged in"})
def new_user():
    if request.headers['Content-Type'] == 'application/json':
        form = RegistrationForm.from_json(request.json, csrf_enabled=False)
    else:
        form = RegistrationForm()

    if request.method == 'GET':
        return render_template('users/new.html', form=form)
    elif request.method == 'POST':
        if form.validate():
            user = User(form.username.data,
                        form.password.data)
            User.save_to_db(user)
            user = user.follow(user)
            User.add_newsfeed(user,"Has joined Lumberjack.")
            flash("Registration Successful!")
            if request.headers['Content-Type'] == 'application/json':
                return user.to_json()
            else:
                login_user(user);
                session['username'] = form.username.data
                return redirect(url_for('display_user_profile',
                    username=user.username))
        else:
            if request.headers['Content-Type'] == 'application/json':
                return form.to_json()
            else:
                return render_template('users/new.html', form=form)