from flask import Blueprint, render_template, request, jsonify from flask_login import login_required from application.dashboard.models import AllowedPlate, LoggedItem from application import db, app from application.dashboard.forms import npForm dash_blueprint = Blueprint("dash", __name__, template_folder="templates") @dash_blueprint.route('/dashboard') #@login_required def dashboard(): Plates = AllowedPlate.query.all() recent_logs = LoggedItem.query.order_by(LoggedItem.dateLogged.desc()).limit(50).all() return render_template("dashboard.html", plates=Plates, recent_logs=recent_logs) @dash_blueprint.route('/add', methods=['GET', 'POST']) #@login_required def add(): Plates = AllowedPlate.query.all() form = npForm() if form.validate_on_submit(): if form.numberplate.data: ap = AllowedPlate(plate=form.numberplate.data) db.session.add(ap) db.session.commit() # AJAX response if request.headers.get('X-Requested-With') == 'XMLHttpRequest': plates = AllowedPlate.query.order_by(AllowedPlate.id).all() return jsonify({ 'plates': [{'id': p.id, 'plate': p.plate} for p in plates] }) # Normal GET or failed POST Plates = AllowedPlate.query.order_by(AllowedPlate.id).all() return render_template("add.html", form=form, plates=Plates)