Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Procfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
web: gunicorn -w 4 app:app
web: gunicorn app:app
5 changes: 5 additions & 0 deletions app/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from flask import Flask

app = Flask(__name__)

from app import routes
Binary file added app/__init__.pyc
Binary file not shown.
Binary file added app/__pycache__/__init__.cpython-35.pyc
Binary file not shown.
Binary file added app/__pycache__/__init__.cpython-37.pyc
Binary file not shown.
Binary file added app/__pycache__/routes.cpython-35.pyc
Binary file not shown.
Binary file added app/__pycache__/routes.cpython-37.pyc
Binary file not shown.
4 changes: 4 additions & 0 deletions app/config/mongo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"databaseName": "Wisdom",
"mongoURI": "mongodb+srv://admin:[email protected]/Wisdom?retryWrites=true&w=majority"
}
89 changes: 89 additions & 0 deletions app/routes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
from app import app
import json
import os

from flask import Flask, request, render_template, redirect, flash, session
from app.util import Database

ALLOWED_EXTENSIONS = {'csv'}

dir_path = os.path.dirname(os.path.realpath(__file__)).replace("\\", "/")
config = json.load(open(dir_path + "/config/mongo.json"))

app.config["MONGO_DBNAME"] = config['databaseName']
app.config["MONGO_URI"] = config['mongoURI']
app.config["SECRET_KEY"] = os.urandom(32)

dbtools = Database.DBTools(app)

@app.route("/")
def index():
return render_template("landing.html")


@app.route("/login", methods=["GET", "POST"])
def log():
if request.method == "GET":
if 'username' in session:
if session['userType'] == 'admin':
return redirect('/admin')
return render_template('login.html')
if 'username' in session:
flash('Already logged in!')
return render_template('login.html')
inputPass = request.form['pass']
inputUsername = request.form['username']
if request.form['schoolid'] == '': # Admin login
if dbtools.authAdmin(inputUsername, inputPass):
session['username'] = inputUsername
session['userType'] = 'admin'
return redirect('/admin')
else:
flash('Invalid username or password.')
return render_template('login.html')


@app.route("/register", methods=['GET', 'POST'])
def reg():
if request.method == 'GET':
return render_template("register.html")
inputPass = request.form['pass']
passConfirm = request.form['passConfirm']
inputUsername = request.form['username']
if passConfirm != inputPass:
flash('Passwords do not match!')
else:
flash(dbtools.registerAdmin(inputUsername, inputPass))
return render_template('register.html')


@app.route("/uploadStudentCSV", methods=['POST'])
def uploadStudentCSV():
if 'inputCSV' not in request.files:
flash('No file part')
return redirect('/admin')
inputFile = request.files['inputCSV']
if inputFile.filename == '':
flash('No file uploaded')
return redirect('/admin')
if inputFile.filename.rsplit('.', 1)[1].lower() != 'csv':
flash('Invalid file type')
return redirect('/admin')
flash('Upload successful')
print(inputFile.read())
return redirect('/admin')


@app.route("/admin")
def admin():
return render_template("admin_home.html")


@app.route("/createSchool")
def createClass():
return render_template("createSchool.html")


# if __name__ == "__main__":
# app.debug = True
# app.run()
Binary file added app/routes.pyc
Binary file not shown.
File renamed without changes
Loading