Commit 20ad1ed2 authored by Ravi Tripathi's avatar Ravi Tripathi Committed by Krish Moodbidri
Browse files

Redirect to page using referrer to capture entrypoint

- Feat redirect
- Fix redir logic
parent dc9f82cb
......@@ -2,6 +2,7 @@
# local imports
from __future__ import print_function
import vars
# third-party imports
import uuid
......@@ -19,9 +20,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'])
@app.errorhandler(403)
def forbidden(error):
......
......@@ -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">
......
......@@ -2,7 +2,6 @@
import os
import time
import signal
import tasks
import vars
......@@ -23,12 +22,15 @@ socketio = SocketIO(app, message_queue= vars.message_queue)
def socket_connect():
pass
@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 = ''
key = ''
broker_url = 'amqp://' + id + ':' + password + '@ohpc:5672/'
message_queue = broker_url + 'socketio'
default_referrer = "https://docs.uabgrid.uab.edu/wiki/Cheaha_Quick_Start"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment