Add in auth however there are no restrictions currently
This commit is contained in:
21
app.py
21
app.py
@@ -1,10 +1,12 @@
|
||||
from datetime import date
|
||||
import os
|
||||
from flask import Flask, abort, render_template, redirect, request, url_for
|
||||
from flask_login import LoginManager, current_user
|
||||
import jinja_partials
|
||||
from jinja2_fragments import render_block
|
||||
from decorators import validate_person, validate_topset, validate_workout
|
||||
from db import DataBase
|
||||
from routes.auth import auth, Person
|
||||
from extensions import db
|
||||
from utils import convert_str_to_date, generate_plot
|
||||
from flask_htmx import HTMX
|
||||
import minify_html
|
||||
@@ -17,9 +19,23 @@ if os.environ.get('FLASK_ENV') != 'production':
|
||||
|
||||
app = Flask(__name__)
|
||||
app.config.from_pyfile('config.py')
|
||||
app.secret_key = os.environ.get('SECRET_KEY', '2a661781919643cb8a5a8bc57642d99f')
|
||||
jinja_partials.register_extensions(app)
|
||||
db = DataBase(app)
|
||||
htmx = HTMX(app)
|
||||
login_manager = LoginManager(app)
|
||||
|
||||
login_manager.login_view = 'auth.login'
|
||||
login_manager.login_message_category = 'info'
|
||||
|
||||
@login_manager.user_loader
|
||||
def load_user(person_id):
|
||||
row = db.execute("""SELECT person_id, name, email, password_hash from Person WHERE person_id=%s""", [person_id], one=True)
|
||||
if row:
|
||||
return Person(row['person_id'], row['name'], row['email'], row['password_hash'])
|
||||
return None
|
||||
|
||||
app.register_blueprint(auth, url_prefix='/auth')
|
||||
|
||||
|
||||
|
||||
@app.after_request
|
||||
@@ -115,7 +131,6 @@ def person_overview(person_id):
|
||||
return render_template('person_overview.html', **render_args), 200, {"HX-Push-Url": url_for('person_overview', person_id=person_id, min_date=min_date, max_date=max_date, exercise_id=selected_exercise_ids), "HX-Trigger": "refreshStats"}
|
||||
|
||||
@ app.route("/person/<int:person_id>/calendar")
|
||||
@ validate_person
|
||||
def get_calendar(person_id):
|
||||
selected_date = convert_str_to_date(request.args.get(
|
||||
'date'), '%Y-%m-%d') or date.today()
|
||||
|
||||
Reference in New Issue
Block a user