diff --git a/app/__init__.py b/app/__init__.py index 15af93292de372093bdaa2006240243a7123235b..7a3e0619adc844d665b12a44ab231245e2aa28a5 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -14,6 +14,9 @@ import os import json import sys +sys.path.append(vars.rabbitmq_agents_loc) +import rc_util + def create_app(config_name): app = Flask(__name__, static_folder='static') # initialization of the flask app cors = CORS(app, resources={r"/*": {"origins": vars.cors_allowed_origins}}) @@ -37,8 +40,7 @@ def create_app(config_name): @app.route('/', methods=['GET', 'POST']) # initial route to display the reg page def index(): - valid_eppa = ["staff", "faculty", "student"] - invalid_state = ["blocked", "certification"] + invalid_eppa = ["staff"] if 'uid' not in session: session['uid']=str(uuid.uuid4()) @@ -49,11 +51,14 @@ def create_app(config_name): session['return_url'] = request.args.get('redir', vars.default_referrer) - if session['user'].get('eppa') not in valid_eppa: - return render_template('errors/error.html', title='shibboleth error') +# if session['user'].get('eppa') not in invalid_eppa: +# return render_template('errors/blocked.html', title='shibboleth error') + + if rc_util.check_state(session['user'].get('username')) == "blocked": + return render_template('errors/blocked.html') - if rc_util.check_state(session['user'].get('username')) in invalid_state: - return render_template('errors/error.html', title='account state error') + elif rc_util.check_state(session['user'].get('username')) == "certification": + return render_template('errors/certification.html') else: return render_template('auth/SignUp.html', room_id=session['uid'], @@ -65,11 +70,13 @@ def create_app(config_name): error_msg=messages.error_message) + @app.route('/blocked_account') + def account_block(): + return render_template('errors/blocked.html') - @app.route('/error_account') - def error_account_create(): - return render_template('errors/error.html', title='account creation failed') - + @app.route('/certify_account') + def error_certify(): + return render_template('errors/certification.html') # misc page error catching @app.errorhandler(403) diff --git a/app/templates/errors/blocked.html b/app/templates/errors/blocked.html new file mode 100644 index 0000000000000000000000000000000000000000..964235ee1dfb6324c37f53ae2a21528d4efa7503 --- /dev/null +++ b/app/templates/errors/blocked.html @@ -0,0 +1,74 @@ +<html class="gr__rc_uab_edu"> +<title>User Blocked </title> +<head> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.min.js"></script> +<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script> +<script src="{{ url_for('static', filename='scripts/function.js') }}"></script> + + +<link rel="shortcut icon" type="image/x-icon" href="/public/favicon.ico"> +<link rel="stylesheet" media="all" href="{{ url_for('static', filename='style/application.css') }}"> +<link rel="stylesheet" media="all" href="{{ url_for('static', filename='style/app2.css') }}"> + +<meta name="viewport" content="width=device-width, initial-scale=1"> +<style> + .navbar-inverse { background-color: rgb(0,99,65); } + button{ margin: 13px; + .important { color: #336699; }} +</style> + +</head> + + +<body data-gr-c-s-loaded="true"> +<header> + <nav class="navbar navbar-inverse navbar-static-top"> + <div class="container-fluid"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-9" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> + <a class="navbar-brand" href="/"> UAB Research Computing</a> + </div> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-9"> + <div class="navbar-right"> + <ul class="nav navbar-nav"> + <li> + <a target="_blank" href="https://docs.uabgrid.uab.edu/wiki/Cheaha_GettingStarted"> + <i class="fas fa-info-circle fa-fw"></i> Online Documentation + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<div class="container content" role="main" style="width: 100%"> + <div class="col-md-2 col-sm-2 my-col"> + <img alt="logo" height="auto" width="80%" src="{{ url_for('static', filename='img/logo_svg.svg') }}"> + <a href="https://tinyurl.com/cheahaAL" target="_blank"></a> + </div> + + <div class="col-md-10 col-sm-10 my-col"> + <div id="form-wrapper"> + <h2> Account blocked </h2> + <p style="font-size:110%;"> {{ welcome_msg |safe }}</p> + </div> + </div> +</div> + +<footer> + <div class="container-fluid"> + <div class="row"> + <div class="col-md-6 col-sm-6"> + <a href="https://osc.github.io/Open-OnDemand/"> + <img class="footer-logo" alt="Powered by Open OnDemand" height="40" style="margin-bottom: 20px" src="{{ url_for('static', filename='img/OpenOnDemand_powered_by_RGB-cb3aad5ff5350c7994f250fb334ddcc72e343233ce99eb71fda93beddd76a847.svg') }}"> + </a> + </div> + </div> + </div> +</footer> + +</body> +</html> diff --git a/app/templates/errors/certification.html b/app/templates/errors/certification.html new file mode 100644 index 0000000000000000000000000000000000000000..529b7c7770a83095705db4a87bbea06b6ceee42d --- /dev/null +++ b/app/templates/errors/certification.html @@ -0,0 +1,75 @@ +<html class="gr__rc_uab_edu"> +<title>User Certification Needed </title> +<head> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.7.3/socket.io.min.js"></script> +<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script> +<script src="{{ url_for('static', filename='scripts/function.js') }}"></script> + + +<link rel="shortcut icon" type="image/x-icon" href="/public/favicon.ico"> +<link rel="stylesheet" media="all" href="{{ url_for('static', filename='style/application.css') }}"> +<link rel="stylesheet" media="all" href="{{ url_for('static', filename='style/app2.css') }}"> + +<meta name="viewport" content="width=device-width, initial-scale=1"> +<style> + .navbar-inverse { background-color: rgb(0,99,65); } + button{ margin: 13px; + .important { color: #336699; }} +</style> + +</head> + + +<body data-gr-c-s-loaded="true"> +<header> + <nav class="navbar navbar-inverse navbar-static-top"> + <div class="container-fluid"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-9" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> + <a class="navbar-brand" href="/"> UAB Research Computing</a> + </div> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-9"> + <div class="navbar-right"> + <ul class="nav navbar-nav"> + <li> + <a target="_blank" href="https://docs.uabgrid.uab.edu/wiki/Cheaha_GettingStarted"> + <i class="fas fa-info-circle fa-fw"></i> Online Documentation + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<div class="container content" role="main" style="width: 100%"> + <div class="col-md-2 col-sm-2 my-col"> + <img alt="logo" height="auto" width="80%" src="{{ url_for('static', filename='img/logo_svg.svg') }}"> + <a href="https://tinyurl.com/cheahaAL" target="_blank"></a> + </div> + + <div class="col-md-10 col-sm-10 my-col"> + <div id="form-wrapper"> + <h2> Account/User Certification Needed </h2> + <p style="font-size:110%;"> {{ welcome_msg |safe }}</p> + <button class="btn btn-primary btn-md" id="submit" name="submit" type="button" value="Submit" onclick="accountCertification()"> Certify Account</button> + </div> + </div> +</div> + +<footer> + <div class="container-fluid"> + <div class="row"> + <div class="col-md-6 col-sm-6"> + <a href="https://osc.github.io/Open-OnDemand/"> + <img class="footer-logo" alt="Powered by Open OnDemand" height="40" style="margin-bottom: 20px" src="{{ url_for('static', filename='img/OpenOnDemand_powered_by_RGB-cb3aad5ff5350c7994f250fb334ddcc72e343233ce99eb71fda93beddd76a847.svg') }}"> + </a> + </div> + </div> + </div> +</footer> + +</body> +</html>