View raw

1 # -*- mode: python; -*- 2 3 """ 4 routes.py module 5 ---------------- 6 7 This Python module contains the logic supporting: 8 1. Navigating between website pages 9 2. Interpreting user requests to the server 10 3. Dispatching requested content back to the user 11 12 Python dependencies: 13 - flask: provides web application features 14 - forms: provides secure user form submission 15 - sqlalchemy: provides communication with database on server. 16 17 Personal imports: 18 These are used to avoid cluttering this file with 19 placeholder data for posts' content. 20 """ 21 22 23 from flask import ( 24 Blueprint, 25 render_template, 26 send_file, 27 request, 28 redirect, 29 flash, 30 url_for, 31 jsonify, 32 abort, 33 ) 34 from flask_login import login_required, current_user 35 36 37 # from datetime import datetime 38 # import inspect 39 40 from . import db 41 42 main = Blueprint("main", __name__) 43 44 from .models import Module, User 45 46 modules = [ 47 "auth", 48 "customers", 49 "ferti", 50 "invoices", 51 "orders", 52 "products", 53 ] 54 55 56 @main.route("/") 57 @main.route("/index") 58 def home(): 59 """This is our project home page.""" 60 modules = Module.query.all() 61 return render_template( 62 "home.html", user=current_user, project="fapg", modules=modules 63 ) 64 65 66 @main.route("/download-database") 67 def download_database(): 68 return send_file("test.db") 69 70 71 @main.route("/modules") 72 def all_modules(): 73 # If user is unlogged, should present promotional material for 74 # available modules. 75 return render_template("modules-promo.html", modules=modules) 76