Add in auth however there are no restrictions currently

This commit is contained in:
Peter Stockings
2025-02-01 22:42:58 +11:00
parent fb0e1519e4
commit 5be7438afc
10 changed files with 334 additions and 7 deletions

21
app.py
View File

@@ -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()