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}
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 }