Example #1
0
def login(request):
    facilities = Facility.objects.all()

    facility = get_facility_from_request(request)
    facility_id = facility and facility.id or None

    if request.method == "POST":

        # log out any Django user
        if request.user.is_authenticated():
            auth_logout(request)

        # log out a facility user
        if "facility_user" in request.session:
            del request.session["facility_user"]

        username = request.POST.get("username", "")
        password = request.POST.get("password", "")

        # first try logging in as a Django user
        user = authenticate(username=username, password=password)
        if user:
            auth_login(request, user)
            return HttpResponseRedirect(request.next or "/")

        # try logging in as a facility user
        form = LoginForm(data=request.POST, request=request, initial={"facility": facility_id})
        if form.is_valid():
            request.session["facility_user"] = form.get_user()
            messages.success(
                request,
                _("You've been logged in! We hope you enjoy your time with KA Lite ")
                + _("-- be sure to log out when you finish."),
            )
            return HttpResponseRedirect(form.non_field_errors() or request.next or "/")
        else:
            messages.error(
                request,
                strip_tags(form.non_field_errors())
                or _("There was an error logging you in. Please correct any errors listed below, and try again."),
            )

    else:  # render the unbound login form
        form = LoginForm(initial={"facility": facility_id})

    return {"form": form, "facilities": facilities}
Example #2
0
def login(request):
    facilities = Facility.objects.all()
    
    facility = get_facility_from_request(request)
    facility_id = facility and facility.id or None
    
    if request.method == 'POST':
        
        # log out any Django user
        if request.user.is_authenticated():
            auth_logout(request)
        
        # log out a facility user
        if "facility_user" in request.session:
            del request.session["facility_user"]
        
        username = request.POST.get("username", "")
        password = request.POST.get("password", "")
        
        # first try logging in as a Django user
        user = authenticate(username=username, password=password)
        if user:
            auth_login(request, user)
            return HttpResponseRedirect(request.next or "/")
        
        # try logging in as a facility user
        form = LoginForm(data=request.POST, request=request, initial={"facility": facility_id})
        if form.is_valid():
            request.session["facility_user"] = form.get_user()
            messages.success(request, _("You've been logged in! We hope you enjoy your time with KA Lite ") +
                                        _("-- be sure to log out when you finish."))
            return HttpResponseRedirect(form.non_field_errors() or request.next or "/")
        else:
            messages.error(request, strip_tags(form.non_field_errors()) or
                _("There was an error logging you in. Please correct any errors listed below, and try again."))
        
    else: # render the unbound login form
        form = LoginForm(initial={"facility": facility_id})
    
    return {
        "form": form,
        "facilities": facilities
    }