예제 #1
0
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"]))
예제 #2
0
 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
예제 #3
0
 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
예제 #4
0
def login_uri(request=None):
    if request:
        return get_login_uri(request, request.build_absolute_uri())