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
+ 17
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,21 +37,26 @@ def create_app(config_name):
@@ -34,21 +37,26 @@ 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"]
 
if 'uid' not in session:
if 'uid' not in session:
session['uid']=str(uuid.uuid4())
session['uid']=str(uuid.uuid4())
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
else:
session['return_url'] = request.referrer
return render_template('auth/SignUp.html', room_id=session['uid'],
if session['user'].get('eppa') in not valid_eppa:
 
return render_template('errors/error.html', title='shibboleth error')
 
 
if rc_util.check_state(session['user'].get('username')) in invalid_state:
 
return render_template('errors/error.html', title='account state error')
 
 
else:
 
return render_template('auth/SignUp.html', room_id=session['uid'],
username=session['user'].get('username'),
username=session['user'].get('username'),
fullname=session['user'].get('fullname'), email=session['user'].get('email'),
fullname=session['user'].get('fullname'), email=session['user'].get('email'),
referrer=session['return_url'], cancel_url=vars.default_referrer,
referrer=session['return_url'], cancel_url=vars.default_referrer,
@@ -56,6 +64,8 @@ def create_app(config_name):
@@ -56,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