Example #1
0
def view_profile():
    """User profile page"""

    user_id = session.get("user_id")

    if user_id:
        name = User.query.get(user_id).name
        residences = Residence.query.filter_by(user_id=user_id).all()
        usercars = UserCar.query.filter_by(user_id=user_id).all()

        makes = Car.get_unique_makes()

        return render_template("profile.html",
                               residences=residences,
                               name=name,
                               usercars=usercars,
                               makes=makes)

    # return to homepage when not logged in
    else:
        return redirect("/")
Example #2
0
def homepage():
    """Renders login template if the user is not signed in and the homepage if
    the user is logged in."""

    user_id = session.get("user_id")

    if user_id:
        name = User.query.get(user_id).name
        years = set()
        years.update(TripLog.get_trip_years(user_id),
                     ElectricityLog.get_kwh_years(user_id),
                     NGLog.get_ng_years(user_id))
        this_year = date.today().year

        makes = Car.get_unique_makes()
        usercars = UserCar.query.filter_by(user_id=user_id).order_by(
            UserCar.is_default.desc(), UserCar.usercar_id.desc()).all()

        co2_per_yr = get_yearly_totals(user_id)

        if co2_per_yr.get(this_year):
            trees_to_offset = int(
                round(co2_per_yr[this_year]["yr_projected"] /
                      TREE_POUNDS_CO2_PER_YEAR))
        else:
            trees_to_offset = 0

        return render_template("homepage.html",
                               years=sorted(years, reverse=True),
                               makes=makes,
                               usercars=usercars,
                               co2_per_yr=co2_per_yr,
                               this_year=this_year,
                               trees=trees_to_offset,
                               name=name)

    else:
        return render_template("login-register.html")
Example #3
0
def get_car_models():
    """JSON route to get all car makes for typeahead field"""

    makes = Car.get_unique_makes()
    return jsonify(makes)