Files
v1.xevion.dev/app/dashboard.py

49 lines
1.2 KiB
Python

from flask import render_template, request, jsonify
from flask_login import login_required
from app import app
from app.custom import require_role
from app.forms import ProfileSettingsForm, ProfilePictureForm
@app.route("/dashboard")
@login_required
def dashboard():
return render_template("/dashboard/dashboard.html")
@app.route("/dashboard/profile_settings", methods=["GET"])
@login_required
def profile_settings():
psform = ProfileSettingsForm()
ppform = ProfilePictureForm()
return render_template(
"/dashboard/profile_settings.html", psform=psform, ppform=ppform
)
@app.route("/dashboard/profile_settings/submit", methods=["POST"])
@login_required
def profile_settings_submit():
form = ProfileSettingsForm()
if form.validate_on_submit():
data = {
"show_email": form.show_email.data or None,
"profile_picture_file": request.files,
}
return jsonify(data=data)
return "{}"
@app.route("/dashboard/constants")
@login_required
@require_role(roles=["Admin"])
def constants():
return render_template("/dashboard/constants.html")
@app.route("/dashboard/rbac")
@login_required
def rbac():
return render_template("/dashboard/rbac.html")