do-tracker/app/auth.py

27 lines
925 B
Python

from flask import Blueprint, render_template, redirect, request, session, url_for, flash
from .models import Store
from . import db
auth = Blueprint('auth', __name__)
@auth.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
store_id = request.form.get('store_id')
password = request.form.get('password')
store = Store.query.filter_by(id=store_id, password=password).first()
if store:
session['store_id'] = store.id
session['store_name'] = store.name
flash(f"Logged in as {store.name}", "success")
return redirect(url_for('main.store_dashboard'))
else:
flash("Invalid store ID or password", "danger")
return render_template('login.html')
@auth.route('/logout')
def logout():
session.clear()
flash("Logged out successfully", "info")
return redirect(url_for('auth.login'))