Ejemplo n.º 1
0
def login(request):
    context = {}
    context["msg"] = messages.get(request.GET.get("msg", None))
    
    if request.method == "POST":
        form = LoginForm(request.POST)
        if not request.user.is_authenticated():
            if form.is_valid():
                user = auth.authenticate(
                    username=form.cleaned_data["username"], 
                    password=form.cleaned_data["password"])
                if user:
                    if user.is_active:
                        auth.login(request, user)
                        if has_roles(user, ["gmc",]):
                            try:
                                facility = user.get_profile().facility.id
                                return HttpResponseRedirect("/facility/%s/" % facility)
                            except (ObjectDoesNotExist, AttributeError):
                                pass 
                                
                        return HttpResponseRedirect("/")
                        
                return HttpResponseRedirect("/accounts/login/?msg=login_failed")
    else:
        form = LoginForm()
        
    context["form"] = form
    return as_html(request, "login.html", context)
def login(request):
    context = {}
    context["msg"] = messages.get(request.GET.get("msg", None))
    
    if request.method == "POST":
        form = LoginForm(request.POST)
        if not request.user.is_authenticated():
            if form.is_valid():
                user = auth.authenticate(
                    username=form.cleaned_data["username"], 
                    password=form.cleaned_data["password"])
                if user:
                    if user.is_active and user.is_staff:
                        auth.login(request, user)
                        return HttpResponseRedirect("/")
                return HttpResponseRedirect("/accounts/login/?msg=login_failed")
    else:
        form = LoginForm()
        
    context["form"] = form
    return as_html(request, "login.html", context)