Initial Commit

This commit is contained in:
2025-11-27 00:00:50 +00:00
commit b7e68a9057
43 changed files with 3445 additions and 0 deletions

26
modules/quotes/routes.py Normal file
View File

@@ -0,0 +1,26 @@
from flask import render_template, request, redirect, url_for, flash
from . import quotes_bp
from core.auth import require_perms
@quotes_bp.get("/")
def index():
return render_template("quotes/index.html")
@quotes_bp.post("/estimate")
def estimate():
name = request.form.get("name","")
email = request.form.get("email","")
need = request.form.get("need","not-sure")
size = request.form.get("size","small")
hours = {"simple":10,"pro":18,"custom":28}.get(need,8) * {"small":1,"medium":1.4,"large":2}.get(size,1)
cost = round(hours*95,2)
flash(f"Estimated {hours:.1f}h — ${cost}", "ok")
return redirect(url_for("quotes.index"))
@quotes_bp.get("/admin")
@require_perms("quotes.admin")
def admin():
return render_template("quotes/admin.html")