diff --git a/app/__init__.py b/app/__init__.py index baff39563e195dbfe2a75222faa3d8003061209c..3aa34c561a988d18b3cea28838ed06cfcf57a4a9 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -3,6 +3,7 @@ # local imports from __future__ import print_function import vars +import time # third-party imports import uuid @@ -14,21 +15,37 @@ def create_app(config_name): app = Flask(__name__) # initialization of the flask app Bootstrap(app) # allowing app to use bootstrap - def get_shib_user(): - session['user'] = { - "username": request.environ.get("HTTP_UID"), - "fullname": request.environ.get("HTTP_DISPLAYNAME"), - "email": request.environ.get("HTTP_MAIL") + def get_authorized_user(): + username_keys = list(filter(lambda key: (request.environ.get(key) is not None), vars.username_keys)) + fullname_keys = list(filter(lambda key: (request.environ.get(key) is not None), vars.fullname_keys)) + email_keys = list(filter(lambda key: (request.environ.get(key) is not None), vars.email_keys)) + + user = { + "username": (request.environ.get(username_keys[0]) if len(username_keys) > 0 else None), + "fullname": (request.environ.get(fullname_keys[0]) if len(fullname_keys) > 0 else None), + "email": (request.environ.get(email_keys[0]) if len(email_keys) > 0 else None), } + return user, user.get("username") is not None, user.get("fullname") is not None, user.get("email") is not None + @app.route('/', methods=['GET', 'POST']) # initial route to display the reg page def index(): + # test block + request.environ["HTTP_UID"] = "mmoo97" + request.environ["HTTP_DISPLAYNAME"] = "Mitchell Moore" + request.environ["HTTP_MAIL"] = "mmoo97@uab.edu" + + for key in sorted(request.environ.keys()): + print(key) + + # end test block + if 'uid' not in session: session['uid'] = str(uuid.uuid4()) if 'user' not in session: - get_shib_user() + session["user"], session["is_username"], session["is_fullname"], session["is_email"] = get_authorized_user() if "redir" in request.args: # check for redir arg in url session['return_url'] = request.args.get("redir") @@ -39,9 +56,10 @@ def create_app(config_name): else: session['return_url'] = request.referrer - return render_template('auth/SignUp.html', room_id=session['uid'], username=session['user'].get('username'), + return render_template('auth/SignUp.html', room_id=session['uid'], + username=session['user'].get('username'), fullname=session['user'].get('fullname'), email=session['user'].get('email'), - referrer=session['return_url'], cancel_link=vars.default_referrer) + referrer=session['return_url'], cancel_url=vars.default_referrer) # misc page error catching @app.errorhandler(403) diff --git a/app/templates/auth/SignUp.html b/app/templates/auth/SignUp.html index 2af9f9f4e33ce4f5a180885eadcc00f5285ce134..d14f5ce0bedd62f87296b3314ac0d392923fa5cb 100644 --- a/app/templates/auth/SignUp.html +++ b/app/templates/auth/SignUp.html @@ -106,7 +106,7 @@ <div class="row-no-gutters"> <div class="col-lg-6"> - <input class="btn btn-danger btn-block" id="cancel" name="cancel" type="button" value="Cancel" onclick="window.location.replace('{{ referrer }}');"> + <input class="btn btn-danger btn-block" id="cancel" name="cancel" type="button" value="Cancel" onclick="window.location.replace('{{ cancel_url }}');"> </div> <div class="col-lg-6"> <input class="btn btn-primary btn-block" id="submit" name="submit" type="button" value="Submit" onclick="request_account()"> diff --git a/vars.py b/vars.py index 8314f9d955c4c3029bf374de2dee84fd74298817..61be2ea8ff3ac61d89f3563b44f80c3f4030dfe7 100644 --- a/vars.py +++ b/vars.py @@ -1,6 +1,14 @@ -id = '' -password = '' -key = '' +# RabbitMQ vars +id = 'test' +password = 'test' +key = 'sekey576' broker_url = 'amqp://' + id + ':' + password + '@ohpc:5672/' message_queue = broker_url + 'socketio' + +# App vars default_referrer = "https://docs.uabgrid.uab.edu/wiki/Cheaha_Quick_Start" + +# Form vars +username_keys = ["HTTP_UID"] +fullname_keys = ["OTHER_NAME", "HTTP_DISPLAYNAME"] +email_keys = ["HTTP_MAIL"]