def login(request): """ Check if we are already logged in. If we are don't redirect to SSO. """ logged_in = isinstance(request.user, User) if logged_in: return HttpResponseRedirect(settings.FORCE_SCRIPT_NAME) return HttpResponseRedirect( get_login_uri(request, next=request.GET["next"]))
def get(self, request: Request): logged_in = isinstance(request.user, User) info = { "accepted_terms_at": logged_in and request.user.accepted_terms_at or None, "user_id": logged_in and request.user.authorization_id or None, "email": logged_in and request.user.email or None, "first_name": logged_in and request.user.first_name or None, "last_name": logged_in and request.user.last_name or None, "login_uri": get_login_uri(request), "logout_uri": get_logout_uri(request), "surveys": [], } if logged_in and request.auth == "demo": info["demo_user"] = True ret = Response(info) uid = request.META.get("HTTP_X_DEMO_LOGIN") if uid and logged_in: # remember demo user ret.set_cookie("x-demo-login", uid) elif request.COOKIES.get("x-demo-login") and not logged_in: # logout ret.delete_cookie("x-demo-login") ret.set_cookie("csrftoken", get_token(request)) return ret
def get(self, request: Request): logged_in = isinstance(request.user, User) result = { "home":{ "form_timeout":"I am using a public computer (i.e. library, internet café, Service BC location)" }, "complainant": { "Legal Name - First Name": "Joseph", "Legal Name - Last Name": "Jin" } } info = { "accepted_terms_at": logged_in and request.user.accepted_terms_at or None, "user_id": logged_in and request.user.authorization_id or None, "email": logged_in and request.user.email or None, "first_name": logged_in and request.user.first_name or None, "last_name": logged_in and request.user.last_name or None, "login_uri": get_login_uri(request), "logout_uri": get_logout_uri(request), "surveys": [], } if logged_in and request.auth == "demo": info["demo_user"] = True ret = Response(info) uid = request.META.get("HTTP_X_DEMO_LOGIN") if uid and logged_in: # remember demo user ret.set_cookie("x-demo-login", uid) elif request.COOKIES.get("x-demo-login") and not logged_in: # logout ret.delete_cookie("x-demo-login") ret.set_cookie("csrftoken", get_token(request)) return ret
def login_uri(request=None): if request: return get_login_uri(request, request.build_absolute_uri())