Skip to content
Snippets Groups Projects
Commit b81897c3 authored by Mitchell Moore's avatar Mitchell Moore
Browse files

Implemented referrer to capture user entrypoint, to be used to redirect to on account creation

- Feat redirect
- Fix redir logic
parent 9c756ddd
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@
# local imports
from __future__ import print_function
import vars
# third-party imports
import uuid
......@@ -21,9 +22,13 @@ def create_app(config_name):
session['uid']=str(uuid.uuid4())
if "redir" in request.args and 'return_url' not in session: # check for redir arg in url
session['return_url'] = request.args.get("redir") or "/pun/sys/dashboard"
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'])
return render_template('auth/SignUp.html', room_id=session['uid'], referrer=session['return_url'])
# misc page error catching
@app.errorhandler(403)
......
......@@ -11,23 +11,26 @@
var socket = io.connect('http://' + document.domain + ':' + location.port);
socket.on( 'connect', function() {
socket.emit( 'join_room' )
socket.emit( 'join_room', {
referrer: '{{ referrer }}'
});
socket.on( 'creating account', function( msg ) {
document.getElementById("error").innerText = "";
displayloading();
})
});
socket.on( 'account ready', function( msg ) {
$('#myModal').modal('hide');
alert("Account has been created!");
})
window.location.replace('{{ referrer }}');
});
socket.on( 'Account creation failed', function( msg ) {
document.getElementById("error").innerText = "Registration Failed. Please try again.";
})
});
})
});
</script>
<style type="text/css">
......@@ -130,4 +133,3 @@
</footer>
</body>
</html>
......@@ -2,7 +2,6 @@
import os
import time
import signal
import tasks
import vars
......@@ -20,12 +19,15 @@ app.config['SECRET_KEY'] = vars.key
socketio = SocketIO(app, message_queue= vars.message_queue)
@socketio.on('join_room')
def on_room():
def on_room(json):
room = str(session['uid'])
referrer = json['referrer']
join_room(room)
print('\t\t\t|-----Room ID: ' + room)
print('\t\t\t|-----Referrer: ' + referrer)
@socketio.on('request account')
......
......@@ -12,10 +12,12 @@ celery = Celery('flask_user_reg', broker=broker_url)
socketio = SocketIO(message_queue=vars.message_queue)
def send_msg(event, room):
print("Post '{}' to room '{}'".format(event,room))
socketio.emit(event, room=room)
@celery.task
def celery_create_account(username, fullname, reason, session):
room = session
......
......@@ -3,3 +3,4 @@ password = 'reggie'
key = 'vnkdjnfjknfl1232'
broker_url = 'amqp://' + id + ':' + password + '@ohpc:5672/'
message_queue = broker_url + 'socketio'
default_referrer = "https://docs.uabgrid.uab.edu/wiki/Cheaha_Quick_Start"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment