Skip to content
Snippets Groups Projects

WIP: Feat-account-renewal

Merged Krish Moodbidri requested to merge krish94/self-reg-form:feat-account-renewal into master
1 file
+ 11
7
Compare changes
  • Side-by-side
  • Inline
+ 11
7
@@ -12,6 +12,7 @@ from flask_bootstrap import Bootstrap
@@ -12,6 +12,7 @@ from flask_bootstrap import Bootstrap
import random
import random
import os
import os
import json
import json
 
import sys
def create_app(config_name):
def create_app(config_name):
app = Flask(__name__, static_folder='static') # initialization of the flask app
app = Flask(__name__, static_folder='static') # initialization of the flask app
@@ -22,11 +23,13 @@ def create_app(config_name):
@@ -22,11 +23,13 @@ def create_app(config_name):
username_key = list(filter(lambda key: (request.headers.get(key) is not None), vars.username_key))
username_key = list(filter(lambda key: (request.headers.get(key) is not None), vars.username_key))
fullname_key = list(filter(lambda key: (request.headers.get(key) is not None), vars.fullname_key))
fullname_key = list(filter(lambda key: (request.headers.get(key) is not None), vars.fullname_key))
email_key = list(filter(lambda key: (request.headers.get(key) is not None), vars.email_key))
email_key = list(filter(lambda key: (request.headers.get(key) is not None), vars.email_key))
 
eppa_key = list(filter(lambda key: (request.headers.get(key) is not None), vars.eppa_key))
user = {
user = {
"username": (request.headers.get(username_key[0]) if len(username_key) > 0 else None),
"username": (request.headers.get(username_key[0]) if len(username_key) > 0 else None),
"fullname": (request.headers.get(fullname_key[0]) if len(fullname_key) > 0 else None),
"fullname": (request.headers.get(fullname_key[0]) if len(fullname_key) > 0 else None),
"email": (request.headers.get(email_key[0]) if len(email_key) > 0 else None),
"email": (request.headers.get(email_key[0]) if len(email_key) > 0 else None),
 
"eppa": (request.headers.get(eppa_key[0]) if len(eppa_key) > 0 else None),
}
}
return user
return user
@@ -34,6 +37,7 @@ def create_app(config_name):
@@ -34,6 +37,7 @@ def create_app(config_name):
@app.route('/', methods=['GET', 'POST']) # initial route to display the reg page
@app.route('/', methods=['GET', 'POST']) # initial route to display the reg page
def index():
def index():
 
valid_eppa = ["staff", "faculty", "student"]
invalid_state = ["blocked", "certification"]
invalid_state = ["blocked", "certification"]
if 'uid' not in session:
if 'uid' not in session:
@@ -42,16 +46,14 @@ def create_app(config_name):
@@ -42,16 +46,14 @@ def create_app(config_name):
if 'user' not in session:
if 'user' not in session:
session["user"] = get_authorized_user()
session["user"] = get_authorized_user()
if "redir" in request.args and 'return_url' not in session: # check for redir arg in url
session['return_url'] = request.args.get('redir', vars.default_referrer)
session['return_url'] = request.args.get("redir")
elif "redir" not in request.args and 'return_url' not in session:
session['return_url'] = vars.default_referrer
if session['user'].get('eppa') in not valid_eppa:
else:
return render_template('errors/error.html', title='shibboleth error')
session['return_url'] = request.referrer
if rc_util.check_state(session['user'].get('username')) in invalid_state:
if rc_util.check_state(session['user'].get('username')) in invalid_state:
return render_template('errors/error.html', title='account creation failed')
return render_template('errors/error.html', title='account state error')
else:
else:
return render_template('auth/SignUp.html', room_id=session['uid'],
return render_template('auth/SignUp.html', room_id=session['uid'],
@@ -62,6 +64,8 @@ def create_app(config_name):
@@ -62,6 +64,8 @@ def create_app(config_name):
cancel_msg=messages.cancel_message,
cancel_msg=messages.cancel_message,
error_msg=messages.error_message)
error_msg=messages.error_message)
 
 
@app.route('/error_account')
@app.route('/error_account')
def error_account_create():
def error_account_create():
return render_template('errors/error.html', title='account creation failed')
return render_template('errors/error.html', title='account creation failed')
Loading