Example #1
0
def login(request):
    if request.method == 'POST' or request.user.is_authenticated():
        if not request.user.is_authenticated():
            l = django_login(request)

            # authentication failed
            if not request.user.is_authenticated():
                return l

        next = request.REQUEST.get('next', settings.LOGIN_REDIRECT_URL)
        parsed_next = urlparse.urlparse(next)

        # ??? which server is the user trying to log in?
        # let's keep him here :)
        if parsed_next.netloc == "":
            return HttpResponseRedirect(next)

        # create a temporary session key (expires in 20s)
        tsession = hashlib.md5(request.session.session_key).hexdigest()
        TSession.objects.get_or_create(user=request.user, session_key=request.session.session_key, \
              defaults={'expire_date' : timezone.now() + datetime.timedelta(seconds=20),
                        'tsession_key' : tsession, })

        return HttpResponseRedirect(
            '%s://%s/sso/login/?tsessionid=%s&next=%s' %
            (parsed_next.scheme, parsed_next.netloc, tsession,
             parsed_next.path))
    else:
        return django_login(request)
Example #2
0
def authorize_login(request):
    initial = {}
    login_url = 'get_login_view'

    if request.method == "POST":
        form = curry(Login, request)
    else:
        form = curry(Login, initial=initial)

    extra_context = {'redirect_field_name': REDIRECT_FIELD_NAME}

    if request.is_ajax():
        template_name = 'auth/_login.html'
        extra_context['hide'] = True
    else:
        template_name = login_url

    django_login(request,
                 template_name=login_url,
                 authentication_form=form,
                 extra_context=extra_context)

    if request.user.is_authenticated():
        set_session_from_user(request, request.user)

    redirect = request.POST.get('next', None) or login_url
    return shortcuts.redirect(redirect)
Example #3
0
def authorize_login(request):
    initial = {}
    login_url = 'get_login_view'

    if request.method == "POST":
        form = curry(Login, request)
    else:
        form = curry(Login, initial=initial)

    extra_context = {'redirect_field_name': REDIRECT_FIELD_NAME}

    if request.is_ajax():
        template_name = 'auth/_login.html'
        extra_context['hide'] = True
    else:
        template_name = login_url

    django_login(request,
                template_name=login_url,
                authentication_form=form,
                extra_context=extra_context)

    if request.user.is_authenticated():
        set_session_from_user(request, request.user)

    redirect = request.POST.get('next', None) or login_url
    return shortcuts.redirect(redirect)
Example #4
0
def login(request, template_name='registration/login.html'):
    if request.method == 'GET':
        response = django_login(request, template_name=template_name)
    elif request.method == 'POST':
        response = django_login(request, template_name=template_name)
        # 정상적으로 로그인이 됐을때
        if response.status_code == 302:
            # profile = Profile.objects.get(user=request.user)
            if not request.user.signup_approved:
                messages.error(request, "승인된 후 로그인이 가능합니다.")
                return HttpResponseRedirect("/accounts/logout")
    return response
Example #5
0
def login(request):
    """
    Atentica usuarios con un formulario.
    """
    error = False
    email = request.GET.get('email', None)
    DISPLAY_LOGIN_HELP_TEXT = request.session.get(
        'DISPLAY_LOGIN_HELP_TEXT', False)
    DISPLAY_LOGIN_PREPOPULATE_EMAIL = request.session.get(
        'DISPLAY_LOGIN_PREPOPULATE_EMAIL', '')

    if request.method == "POST":
        form = AuthenticationForm(data=request.POST)
        next_ = request.POST.get('next', '/')
        if form.is_valid():
            user = form.get_user()
            django_login(request, user)
            user.last_login = datetime.now()
            user.save()

            redirect_fallback = reverse('actividades')
            if user.is_staff :
                redirect_fallback = reverse('dash_board')


            # delete session helpers
            try:
                del request.session['DISPLAY_LOGIN_HELP_TEXT']
            except:
                pass
            try:
                del request.session['DISPLAY_LOGIN_PREPOPULATE_EMAIL']
            except:
                pass

            next_ = request.POST.get('next', redirect_fallback)
            return HttpResponseRedirect(next_)
    else:
        form = AuthenticationForm(
            initial={'username': DISPLAY_LOGIN_PREPOPULATE_EMAIL}
        )
        next_ = request.GET.get('next', '')

    data = {
        'DISPLAY_LOGIN_HELP_TEXT': DISPLAY_LOGIN_HELP_TEXT,
        "form": form,
        "next": next_,
        "email": email
    }
    return render(request, 'ingresar.html', data)
Example #6
0
def login(request):
    """
    This login view is a wrapper for the default login view in Django. This view checks if the user
    is already authenticated and if so, it redirects the user straight to the page he/she was 
    trying to access. If no page is accessed, the user is redirected to default address.
    
    If the user has not yet been authenticated, this view will call the default view in Django.
    """
    if request.user.is_authenticated():
        # User is authenticated so we'll just redirect. The following checks for the redirect url 
        # are borrowed from django.contrib.auth.views.login.
        redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '')
        netloc = urlparse.urlparse(redirect_to)[1]
        
        # Use default setting if redirect_to is empty
        if not redirect_to:
            redirect_to = settings.LOGIN_REDIRECT_URL
        
        # Security check -- don't allow redirection to a different host.
        elif netloc and netloc != request.get_host():
            redirect_to = settings.LOGIN_REDIRECT_URL
        
        return redirect(redirect_to)
    
    return django_login(request, template_name="aaltoplus/login.html")
Example #7
0
def login(request):
    """ view that renders the login """
    # If the form has been submitted...
    template_name = "accounts/login.html"
    return django_login(request,
                        authentication_form=AuthenticationForm,
                        template_name=template_name)
Example #8
0
def login(request):
    """
    Wraps the default login view in Django. Additionally redirects already
    authenticated users automatically to the target.
    """
    if request.user.is_authenticated():
        redirect_to = request.POST.get(REDIRECT_FIELD_NAME,
                                       request.GET.get(REDIRECT_FIELD_NAME, ''))
        if not is_safe_url(url=redirect_to, host=request.get_host()):
            redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
        return HttpResponseRedirect(redirect_to)

    return django_login(
        request,
        template_name="userprofile/login.html",
        extra_context={
            'shibboleth_login': '******' in settings.INSTALLED_APPS,
            'mooc_login': '******' in settings.INSTALLED_APPS,
            'login_title_text': settings_text(request, 'LOGIN_TITLE_TEXT'),
            'login_body_text': settings_text(request, 'LOGIN_BODY_TEXT'),
            'login_button_text': settings_text(request, 'LOGIN_BUTTON_TEXT'),
            'shibboleth_title_text': settings_text(request, 'SHIBBOLETH_TITLE_TEXT'),
            'shibboleth_body_text': settings_text(request, 'SHIBBOLETH_BODY_TEXT'),
            'shibboleth_button_text': settings_text(request, 'SHIBBOLETH_BUTTON_TEXT'),
            'mooc_title_text': settings_text(request, 'MOOC_TITLE_TEXT'),
            'mooc_body_text': settings_text(request, 'MOOC_BODY_TEXT'),
        }
    )
Example #9
0
def login(request):
    """ Logs a user in using the :class:`~openstack_auth.forms.Login` form. """
    # Get our initial region for the form.
    initial = {}
    current_region = request.session.get("region_endpoint", None)
    requested_region = request.GET.get("region", None)
    regions = dict(getattr(settings, "AVAILABLE_REGIONS", []))
    if requested_region in regions and requested_region != current_region:
        initial.update({"region": requested_region})

    if request.method == "POST":
        form = curry(Login, request)
    else:
        form = curry(Login, initial=initial)

    extra_context = {"redirect_field_name": REDIRECT_FIELD_NAME}

    if request.is_ajax():
        template_name = "auth/_login.html"
        extra_context["hide"] = True
    else:
        template_name = "auth/login.html"

    res = django_login(request, template_name=template_name, authentication_form=form, extra_context=extra_context)
    # Set the session data here because django's session key rotation
    # will erase it if we set it earlier.
    if request.user.is_authenticated():
        set_session_from_user(request, request.user)
        regions = dict(Login.get_region_choices())
        region = request.user.endpoint
        region_name = regions.get(region)
        request.session["region_endpoint"] = region
        request.session["region_name"] = region_name
    return res
Example #10
0
def login(request, *args, **kwargs):
    if request.method == 'GET':
        if request.user.is_authenticated():
            redirect_to = kwargs.get('next', settings.LOGIN_REDIRECT_URL)
            redirect_to = request.GET.get('next', redirect_to)
            return redirect(redirect_to)
        request.session.set_test_cookie()
    if request.method == 'POST':
        form = AuthenticationForm(request, data=request.POST)
        if form.is_valid():
            if getattr(settings, 'NOPASSWORD_USE_EMAIL', False):
                code = LoginCode.objects.filter(
                    **{
                        'user__%s' % get_username_field():
                        request.POST.get('email').lower()
                    })[0]
            else:
                code = LoginCode.objects.filter(
                    **{
                        'user__%s' % get_username_field():
                        request.POST.get('username')
                    })[0]
            code.next = request.POST.get('next')
            code.save()
            code.send_login_code(
                secure=request.is_secure(),
                host=request.get_host(),
            )
            return render(request, 'registration/sent_mail.html')

    return django_login(request, authentication_form=AuthenticationForm)
Example #11
0
def _login(req, domain, domain_type, template_name, domain_context=None):
    from corehq.apps.registration.views import get_domain_context

    if req.user.is_authenticated() and req.method != "POST":
        redirect_to = req.REQUEST.get('next', '')
        if redirect_to:
            return HttpResponseRedirect(redirect_to)
        if not domain:
            return HttpResponseRedirect(reverse('homepage'))
        else:
            return HttpResponseRedirect(reverse('domain_homepage', args=[domain]))

    if req.method == 'POST' and domain and '@' not in req.POST.get('username', '@'):
        req.POST._mutable = True
        req.POST['username'] = format_username(req.POST['username'], domain)
        req.POST._mutable = False
    
    req.base_template = settings.BASE_TEMPLATE
    context = domain_context or get_domain_context(domain_type)
    context['domain'] = domain
    if domain:
        context['next'] = req.REQUEST.get('next', '/a/%s/' % domain)

    return django_login(req, template_name=template_name,
                        authentication_form=EmailAuthenticationForm if not domain else CloudCareAuthenticationForm,
                        extra_context=context)
Example #12
0
File: views.py Project: ekr/ietfdb
def login(request, extra_context=None):
    """
    This login function is a wrapper around django's login() for the purpose
    of providing a notification if the user's password has been cleared.  The
    warning will be triggered if the password field has been set to something
    which is not recognized as a valid password hash.
    """

    if request.method == "POST":
        form = AuthenticationForm(request, data=request.POST)
        username = form.data.get('username')
        user = User.objects.filter(username=username).first()
        if user:
            try:
                identify_hasher(user.password)
            except ValueError:
                extra_context = {
                    "alert":
                    "Note: Your password has been cleared because "
                    "of possible password leakage.  "
                    "Please use the password reset link below "
                    "to set a new password for your account.",
                }

    return django_login(request, extra_context=extra_context)
Example #13
0
def login(request):
    if getattr(request, 'limited', False):
        messages = [
            "Too many requests on {path}. Page forbidden.".format(
                path=request.path),
            "From IP: %s" % get_client_ip(request)
        ]
        if request.method == "POST" and request.POST.get('username'):
            messages.append("Last try with username: %s" %
                            request.POST.get('username'))
        logger.error("\n".join(messages))
        return render_to_response("429-limited.html", status=429)

    logged = request.user.is_authenticated() and request.user.username
    response = django_login(
        request,
        template_name="login.html",
        extra_context={
            'logo_consorzio': settings.TRANSPARENT_LOGO,
            'nome_consorzio': settings.LICENSE_OWNER
        },
        authentication_form=AuthenticationFormWrapped,
    )
    if request.user.is_authenticated(
    ) and request.user.username != logged:  # just logged in
        request.session["userAgent"] = request.META.get('HTTP_USER_AGENT')
        logger.debug("Login for %s" % request.user)
        logAction('L', description='Accesso effettuato', user=request.user)
    else:
        if request.method == "POST":
            logger.debug("Login attempt failed")
        if request.is_ajax():
            return HttpResponseServerError("Please login")

    return response
Example #14
0
def login(req, template_name="webapp/login.html"):
    '''Login to rapidsms'''
    # this view, and the one below, is overridden because
    # we need to set the base template to use somewhere
    # somewhere that the login page can access it.
    req.base_template = settings.BASE_TEMPLATE
    return django_login(req, **{"template_name": template_name})
Example #15
0
def login(request):
    """
    Wraps the default login view in Django. Additionally redirects already
    authenticated users automatically to the target.
    """
    if request.user.is_authenticated():
        redirect_to = request.POST.get(REDIRECT_FIELD_NAME,
                                       request.GET.get(REDIRECT_FIELD_NAME, ''))
        if not is_safe_url(url=redirect_to, host=request.get_host()):
            redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
        return HttpResponseRedirect(redirect_to)

    return django_login(
        request,
        template_name="userprofile/login.html",
        extra_context={
            'shibboleth_login': '******' in settings.INSTALLED_APPS,
            'mooc_login': '******' in settings.INSTALLED_APPS,
            'login_title_text': settings_text('LOGIN_TITLE_TEXT'),
            'login_body_text': settings_text('LOGIN_BODY_TEXT'),
            'login_button_text': settings_text('LOGIN_BUTTON_TEXT'),
            'shibboleth_title_text': settings_text('SHIBBOLETH_TITLE_TEXT'),
            'shibboleth_body_text': settings_text('SHIBBOLETH_BODY_TEXT'),
            'shibboleth_button_text': settings_text('SHIBBOLETH_BUTTON_TEXT'),
            'mooc_title_text': settings_text('MOOC_TITLE_TEXT'),
            'mooc_body_text': settings_text('MOOC_BODY_TEXT'),
        }
    )
Example #16
0
def login(request):
    if getattr(request, 'limited', False):
        messages = ["Too many requests on {path}. Page forbidden.".format(path=request.path),
                    "From IP: %s" % get_client_ip(request)]
        if request.method == "POST" and request.POST.get('username'):
            messages.append("Last try with username: %s" % request.POST.get('username'))
        logger.error("\n".join(messages))
        return render_to_response("429-limited.html", status=429)

    logged = request.user.is_authenticated() and request.user.username
    response = django_login(request,
                            template_name="login.html",
                            extra_context={'logo_consorzio': settings.TRANSPARENT_LOGO,
                                           'nome_consorzio': settings.LICENSE_OWNER
                                           },
                            authentication_form=AuthenticationFormWrapped,
                            )
    if request.user.is_authenticated() and request.user.username != logged:  # just logged in
        request.session["userAgent"] = request.META.get('HTTP_USER_AGENT')
        logger.debug("Login for %s" % request.user)
        logAction('L', description='Accesso effettuato', user=request.user)
    else:
        if request.method == "POST":
            logger.debug("Login attempt failed")
        if request.is_ajax():
            return HttpResponseServerError("Please login")

    return response
Example #17
0
def _login(req, domain, domain_type, template_name, domain_context=None):
    from corehq.apps.registration.views import get_domain_context

    if req.user.is_authenticated() and req.method != "POST":
        redirect_to = req.REQUEST.get('next', '')
        if redirect_to:
            return HttpResponseRedirect(redirect_to)
        if not domain:
            return HttpResponseRedirect(reverse('homepage'))
        else:
            return HttpResponseRedirect(
                reverse('domain_homepage', args=[domain]))

    if req.method == 'POST' and domain and '@' not in req.POST.get(
            'username', '@'):
        req.POST._mutable = True
        req.POST['username'] = format_username(req.POST['username'], domain)
        req.POST._mutable = False

    req.base_template = settings.BASE_TEMPLATE
    context = domain_context or get_domain_context(domain_type)
    context['domain'] = domain
    if domain:
        context['next'] = req.REQUEST.get('next', '/a/%s/' % domain)

    return django_login(req,
                        template_name=template_name,
                        authentication_form=EmailAuthenticationForm
                        if not domain else CloudCareAuthenticationForm,
                        extra_context=context)
Example #18
0
def _login(req, domain_name, template_name):

    if req.user.is_authenticated() and req.method != "POST":
        redirect_to = req.REQUEST.get('next', '')
        if redirect_to:
            return HttpResponseRedirect(redirect_to)
        if not domain_name:
            return HttpResponseRedirect(reverse('homepage'))
        else:
            return HttpResponseRedirect(
                reverse('domain_homepage', args=[domain_name]))

    if req.method == 'POST' and domain_name and '@' not in req.POST.get(
            'username', '@'):
        req.POST._mutable = True
        req.POST['username'] = format_username(req.POST['username'],
                                               domain_name)
        req.POST._mutable = False

    req.base_template = settings.BASE_TEMPLATE

    context = {}
    if domain_name:
        domain = Domain.get_by_name(domain_name)
        context.update({
            'domain': domain_name,
            'hr_name': domain.display_name() if domain else domain_name,
            'next': req.REQUEST.get('next', '/a/%s/' % domain),
        })

    authentication_form = EmailAuthenticationForm if not domain_name else CloudCareAuthenticationForm
    return django_login(req,
                        template_name=template_name,
                        authentication_form=authentication_form,
                        extra_context=context)
Example #19
0
def login(request, *args, **kwargs):
    response = django_login(request, *args, **kwargs)
    if request.user.is_authenticated():
        messages.info(request, "Logged in successfully.")
    elif request.method == 'POST':  # Not quite ideal; FIXME
        messages.error(request, "Login Failed.")
    return response
Example #20
0
def _login(req, domain, template_name):

    if req.user.is_authenticated() and req.method != "POST":
        redirect_to = req.REQUEST.get('next', '')
        if redirect_to:
            return HttpResponseRedirect(redirect_to)
        if not domain:
            return HttpResponseRedirect(reverse('homepage'))
        else:
            return HttpResponseRedirect(reverse('domain_homepage', args=[domain]))

    if req.method == 'POST' and domain and '@' not in req.POST.get('username', '@'):
        req.POST._mutable = True
        req.POST['username'] = format_username(req.POST['username'], domain)
        req.POST._mutable = False
    
    req.base_template = settings.BASE_TEMPLATE

    context = {}
    if domain:
        context.update({
            'domain': domain,
            'next': req.REQUEST.get('next', '/a/%s/' % domain),
        })

    return django_login(req, template_name=template_name,
                        authentication_form=EmailAuthenticationForm if not domain else CloudCareAuthenticationForm,
                        extra_context=context)
Example #21
0
def login_user(request):
    if request.method == 'POST' and (not request.POST.get('remember_me', None)): 
            request.session.set_expiry(0)    
               
    return django_login(request,
        template_name="log/login.html",
        authentication_form=AuthenticationForm)
Example #22
0
File: views.py Project: phulc/cis-1
def login(request, template_name="core/login.html"):
    '''Login to cis'''
    # this view, and the one below, is overridden because
    # we need to set the base template to use somewhere
    # somewhere that the login page can access it.
#    request.base_template = settings.BASE_TEMPLATE
    return django_login(request, **{"template_name" : template_name})
Example #23
0
def login(request):
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            return render(request, 'registration/sent_mail.html')

    return django_login(request, authentication_form=AuthenticationForm)
Example #24
0
def login(request, *args, **kwargs):
    if request.method == 'GET':
        if request.user.is_authenticated():
            redirect_to = kwargs.get('next', settings.LOGIN_REDIRECT_URL )
            redirect_to = request.GET.get('next', redirect_to)
            return redirect(redirect_to)
        request.session.set_test_cookie()
    if request.method == 'POST':
        form = AuthenticationForm(request, data=request.POST)
        if form.is_valid():
            if getattr(settings, 'NOPASSWORD_USE_EMAIL', False):
                code = LoginCode.objects.filter(**{
                    'user__%s' % get_username_field(): request.POST.get('email').lower()
                })[0]
            else:
                code = LoginCode.objects.filter(**{
                    'user__%s' % get_username_field(): request.POST.get('username')
                })[0]
            code.next = request.POST.get('next')
            code.save()
            code.send_login_code(
                secure=request.is_secure(),
                host=request.get_host(),
            )
            return render(request, 'registration/sent_mail.html')

    return django_login(request, authentication_form=AuthenticationForm)
Example #25
0
def login(request, template_name='registration/login.html',
          redirect_field_name=REDIRECT_FIELD_NAME,
          authentication_form=AuthenticationForm,
          extra_context=None):
    return django_login(request, template_name,
                        redirect_field_name,
                        authentication_form,
                        extra_context)
Example #26
0
def login(request):

    if request.user.is_authenticated():
        return HttpResponseRedirect("/")

    response = django_login(request, template_name='accounts/login.html', authentication_form=LoginForm)

    return response
Example #27
0
def login(request):
    """
        Login an account.
    """
    context = {}
    utilities.get_message(request, context)

    return django_login(request, 'accounts/login.html', extra_context=context)
Example #28
0
def authorize_client_login(request):
    login_url = 'get_login_client_view'
    translation.activate('zh')
    request.LANGUAGE_CODE = 'zh'
    form = curry(Login, request)
    extra_context = {'redirect_field_name': REDIRECT_FIELD_NAME}

    django_login(request,
                template_name=login_url,
                authentication_form=form,
                extra_context=extra_context)

    if request.user.is_authenticated():
        set_session_from_user(request, request.user)
        return shortcuts.redirect('get_client_instances')
    else:
        return shortcuts.redirect(login_url)
Example #29
0
def landing_page(req, template_name="home.html"):
    # this view, and the one below, is overridden because
    # we need to set the base template to use somewhere
    # somewhere that the login page can access it.
    if req.user.is_authenticated():
        return HttpResponseRedirect(reverse('homepage'))
    req.base_template = settings.BASE_TEMPLATE
    return django_login(req, template_name=template_name, authentication_form=EmailAuthenticationForm)
Example #30
0
File: views.py Project: bne/hortee
def default(request):
    """Unauthenticated default view    
    Wraps django login view so we redirect to logged in page when authenticated
    """
    if request.user.is_authenticated():
        return redirect(settings.LOGIN_REDIRECT_URL)

    return django_login(request, template_name="default.html")
Example #31
0
def authorize_client_login(request):
    login_url = 'get_login_client_view'
    translation.activate('zh')
    request.LANGUAGE_CODE = 'zh'
    form = curry(Login, request)
    extra_context = {'redirect_field_name': REDIRECT_FIELD_NAME}

    django_login(request,
                 template_name=login_url,
                 authentication_form=form,
                 extra_context=extra_context)

    if request.user.is_authenticated():
        set_session_from_user(request, request.user)
        return shortcuts.redirect('get_client_instances')
    else:
        return shortcuts.redirect(login_url)
Example #32
0
def login(req, template_name="webapp/login.html"):
    '''Login to rapidsms'''
    
    req.base_template = "webapp/layout.html" 
    
    
    
    return django_login(req, **{"template_name" : template_name})
Example #33
0
def login(request):
    if request.method == 'GET' and not 'next' in request.GET:
        url = reverse('simpleauth:login')
        next_url = request.META.get('HTTP_REFERER')
        if next_url:
            next_url = urllib.parse.quote(next_url)
            url = "{}?next={}".format(url, next_url)
        return redirect(url)
    return django_login(request)
Example #34
0
def login(request):
    data = {
        'template_name': 'registration/login.html',
        'authentication_form': LoginForm
    }
    if request.user.is_authenticated():
        return HttpResponseRedirect('/profile')
    else:
        return django_login(request, **data)
Example #35
0
def my_login(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect('/')


    c = {'ask_form': AskForm(),
         'title': 'Login'
    }
    return django_login(request, extra_context=c)
Example #36
0
def login(request):
    bootstrap_token = None
    if settings.DEBUG:
        from iconcollections.models import Collection

        collections = Collection.objects.filter(build_name="myicons").values_list("token", flat=True)
        if collections:
            bootstrap_token = collections[0]

    return django_login(request, template_name="login.html", extra_context={"bootstrap": bootstrap_token})
Example #37
0
def login(request):
    next = request.POST.get("next", '')
    if 'next=' in next:
        next = next[next.rindex('next=') + 5:]

    rv = django_login(request, authentication_form=login_form)
    ##TODO: flash a message here that you've changed your password
    if type(rv) == HttpResponseRedirect:
        return HttpResponseRedirect(next)
    return rv
Example #38
0
def login(request, *args, **kwargs):
    if request.method == 'POST':

        # If we have 'remember_me' checked, user session
        # will never expire
        if not request.POST.get('remember_me', None):
            request.session.set_expiry(0)

    # Dispatch to Django's built-in login view
    return django_login(request, *args, **kwargs)
Example #39
0
def login(request):

    if request.user.is_authenticated():
        return HttpResponseRedirect("/")

    response = django_login(request,
                            template_name='accounts/login.html',
                            authentication_form=LoginForm)

    return response
Example #40
0
def landing_page(req, template_name="home.html"):
    # this view, and the one below, is overridden because
    # we need to set the base template to use somewhere
    # somewhere that the login page can access it.
    if req.user.is_authenticated():
        return HttpResponseRedirect(reverse('homepage'))
    req.base_template = settings.BASE_TEMPLATE
    return django_login(req,
                        template_name=template_name,
                        authentication_form=EmailAuthenticationForm)
Example #41
0
def login(request):
    next = request.POST.get("next", '')
    if 'next=' in next:
        next = next[next.rindex('next=')+5:]

    rv = django_login(request,
                      authentication_form=login_form)
    ##TODO: flash a message here that you've changed your password
    if type(rv) == HttpResponseRedirect:
        return HttpResponseRedirect(next)
    return rv
Example #42
0
def login(request, template_name='login_page.html', auth_form=LoginForm):
    
    # Sanity check: this person already logged in.
    if request.user.is_authenticated():
        return HttpResponseRedirect('/') 
        
    if request.method == 'POST':
        
        form = auth_form(data=request.POST)
        
        if form.is_valid():
            
            django_login(request)  #, authentication_form=auth_form)

    else:
        form = auth_form()
        
    c = RequestContext(request, {'login_form': form}) 
        
    return render_to_response(template_name, context_instance=c)
Example #43
0
def login(request):
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            code = LoginCode.objects.filter(**{'user__%s' % USERNAME_FIELD: request.POST.get('username')})[0]
            code.next = request.GET.get('next')
            code.save()
            code.send_login_email()
            return render(request, 'registration/sent_mail.html')

    return django_login(request, authentication_form=AuthenticationForm)
Example #44
0
def login(request, *args, **kwargs):
    if request.method == 'POST':
        if not request.POST.get('remember_me', None):
            request.session.set_expiry(0)

    kwargs.update({
        'template_name': 'registration/login.html',
        'authentication_form': AuthenticationForm
    })

    return django_login(request, *args, **kwargs)
Example #45
0
def login(request):
    if request.method == "POST":
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            code = LoginCode.objects.filter(**{"user__%s" % get_username_field(): request.POST.get("username")})[0]
            code.next = request.GET.get("next")
            code.save()
            code.send_login_code(secure=request.is_secure(), host=request.get_host())
            return render(request, "registration/sent_mail.html")

    return django_login(request, authentication_form=AuthenticationForm)
Example #46
0
def login(request):
    bootstrap_token = None
    if settings.DEBUG:
        from iconcollections.models import Collection
        collections = Collection.objects.filter(build_name="myicons").values_list('token', flat=True)
        if collections:
            bootstrap_token = collections[0]

    return django_login(request,
                        template_name='login.html',
                        extra_context={'bootstrap': bootstrap_token})
Example #47
0
def login(req, template_name="rapidsms/login.html"):
    response = django_login(req, **{"template_name" : template_name})
    if getattr(settings, 'ENABLE_AUDITLOG', False):
        try:
            from auditlog.utils import audit_log
            if req.user.is_authenticated():
                log_dict = {'request': req, 'logtype': 'system', 'action':'login',
                            'detail':'User logged in %s:%s' % (req.user.id, req.user.username) }
                audit_log(log_dict)
        except ImportError:
            pass
    return response
Example #48
0
File: auth.py Project: zedr/rheia
def login(request):
    if request.user.is_authenticated():
        return redirect(_user_detail_url(request.user))
    else:
        return django_login(
            request,
            template_name="rheia/login.html",
            extra_context={
                "title": defaults.APP_NAME,
                "site_header": defaults.APP_NAME + " Login"
            }
        )
Example #49
0
def login(req, template_name="rapidsms/login.html"):
    response = django_login(req, **{"template_name" : template_name})
    if getattr(settings, 'ENABLE_AUDITLOG', False):
        try:
            from auditlog.utils import audit_log
            if req.user.is_authenticated():
                log_dict = {'request': req, 'logtype': 'system', 'action':'login',
                            'detail':'User logged in %s:%s' % (req.user.id, req.user.username) }
                audit_log(log_dict)
        except:
            pass
    return response
Example #50
0
def login(request, fmt='html'):
    if "username" in request.POST and "password" in request.POST:
        un = request.POST["username"]
        pw = request.POST["password"]
        key = un
        val = encrypt_pass_cookie(pw)
        response = django_login(request, template_name='accounts/login.html')
        response.set_signed_cookie(key,
                                   val,
                                   salt=settings.COOKIE_SIGNED_SALT,
                                   max_age=settings.COOKIE_MAXAGE,
                                   secure=settings.COOKIE_SECURE,
                                   httponly=True)
        # insert login history
        ulin = Ulin()
        ulin.accup_user_id = get_object_or_404(Accuser, Q(accup_user_name=un))
        ulin.login_ip = request.META.get('REMOTE_ADDR')
        ulin.save()
    else:
        response = django_login(request, template_name='accounts/login.html')
    return response
Example #51
0
def login(request):
    # the template is only used to show errors
    response = django_login(
        request,
        template_name='accounts/login_form.html',
        authentication_form=AuthenticationForm,
    )
    if request.is_ajax():
        if response.status_code == 302:
            # it worked!
            return user_json(request)

    return response
Example #52
0
def login(request):
    # the template is only used to show errors
    response = django_login(
      request,
      template_name='accounts/login_form.html',
      authentication_form=AuthenticationForm,
    )
    if request.is_ajax():
        if response.status_code == 302:
            # it worked!
            return user_json(request)

    return response
Example #53
0
def login(request):

    if request.user.is_authenticated():
        if request.GET.get('next'):
            return redirect(request.GET.get('next'))
        else:
            return redirect('accounts:profile')

    if request.GET.get('deeplink'):
        message = "Welcome! You must sign in at this point and will then be redirected to the requested page."
        messages.add_message(request, messages.SUCCESS, message)
        logger.debug(message)
    return django_login(request)
Example #54
0
def login(request,
          template_name='smartmin/users/login.html',
          redirect_field_name=REDIRECT_FIELD_NAME,
          authentication_form=AuthenticationForm,
          current_app=None,
          extra_context=None):

    lockout_timeout = getattr(settings, 'USER_LOCKOUT_TIMEOUT', 10)
    failed_login_limit = getattr(settings, 'USER_FAILED_LOGIN_LIMIT', 5)
    allow_email_recovery = getattr(settings, 'USER_ALLOW_EMAIL_RECOVERY', True)

    if request.method == "POST":
        if 'username' in request.POST and 'password' in request.POST:
            # we are using AuthenticationForm in which username is CharField with strip=True that automatically strips
            # whitespace characters, we need to copy that behaviour
            username = request.POST['username'].strip()

            user = get_user_model().objects.filter(
                username__iexact=username).first()

            # this could be a valid login by a user
            if user:

                # incorrect password?  create a failed login token
                valid_password = user.check_password(request.POST['password'])
                if not valid_password:
                    FailedLogin.objects.create(user=user)

                bad_interval = timezone.now() - timedelta(
                    minutes=lockout_timeout)
                failures = FailedLogin.objects.filter(user=user)

                # if the failures reset after a period of time, then limit our query to that interval
                if lockout_timeout > 0:
                    failures = failures.filter(failed_on__gt=bad_interval)

                # if there are too many failed logins, take them to the failed page
                if len(failures) >= failed_login_limit:
                    return HttpResponseRedirect(reverse('users.user_failed'))

                # delete failed logins if the password is valid
                elif valid_password:
                    FailedLogin.objects.filter(user=user).delete()

    return django_login(
        request,
        template_name='smartmin/users/login.html',
        redirect_field_name=REDIRECT_FIELD_NAME,
        authentication_form=AuthenticationForm,
        current_app=None,
        extra_context=dict(allow_email_recovery=allow_email_recovery))
Example #55
0
def login(
    request,
    template_name="smartmin/users/login.html",
    redirect_field_name=REDIRECT_FIELD_NAME,
    authentication_form=AuthenticationForm,
    current_app=None,
    extra_context=None,
):

    lockout_timeout = getattr(settings, "USER_LOCKOUT_TIMEOUT", 10)
    failed_login_limit = getattr(settings, "USER_FAILED_LOGIN_LIMIT", 5)
    allow_email_recovery = getattr(settings, "USER_ALLOW_EMAIL_RECOVERY", True)

    if request.method == "POST":
        if "username" in request.REQUEST and "password" in request.REQUEST:
            username = request.REQUEST["username"]

            user = User.objects.filter(username=username)

            # this could be a valid login by a user
            if user:
                user = user[0]

                # incorrect password?  create a failed login token
                valid_password = user.check_password(request.REQUEST["password"])
                if not valid_password:
                    FailedLogin.objects.create(user=user)

                bad_interval = timezone.now() - timedelta(minutes=lockout_timeout)
                failures = FailedLogin.objects.filter(user=user)

                # if the failures reset after a period of time, then limit our query to that interval
                if lockout_timeout > 0:
                    failures = failures.filter(failed_on__gt=bad_interval)

                # if there are too many failed logins, take them to the failed page
                if len(failures) >= failed_login_limit:
                    return HttpResponseRedirect(reverse("users.user_failed"))

                # delete failed logins if the password is valid
                elif valid_password:
                    FailedLogin.objects.filter(user=user).delete()

    return django_login(
        request,
        template_name="smartmin/users/login.html",
        redirect_field_name=REDIRECT_FIELD_NAME,
        authentication_form=AuthenticationForm,
        current_app=None,
        extra_context=dict(allow_email_recovery=allow_email_recovery),
    )
Example #56
0
def login(request,
          template_name='registration/login.html',
          redirect_field_name=REDIRECT_FIELD_NAME,
          redirect_authenticated=None,
          authentication_form=AuthenticationForm):
    print "========= In apps/auth/login ============"
    context = RequestContext(request)

    form = authentication_form(data=request.POST)

    if request.method == "POST":
        print "username: "******"NOT ACTIVATED YET"
            user_name = user.username

            return render_to_response('base_login.html', {
                'form': form,
                'username': user_name,
                'need_activation': True,
            },
                                      context_instance=RequestContext(request))

    return django_login(request,
                        template_name=template_name,
                        redirect_field_name=redirect_field_name,
                        authentication_form=authentication_form)
Example #57
0
def login(request, *args, **kwargs):
    attempts_key = 'login_attempts'
    attempts = request.session.get(attempts_key, (0, None))
    if request.method == 'POST':
        attempts = (attempts[0] + 1, time.time())
        request.session[attempts_key] = attempts
    kwargs['authentication_form'] = forms.LoginForm
    response = django_login(request, *args, **kwargs)
    if response.status_code == 302:
        try:
            del request.session[attempts_key]
        except KeyError:
            pass
    return response
Example #58
0
def login(request):
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            code = LoginCode.objects.filter(**{
                'user__%s' % get_username_field():
                request.POST.get('username')
            })[0]
            code.next = request.GET.get('next')
            code.save()
            code.send_login_email()
            return render(request, 'registration/sent_mail.html')

    return django_login(request, authentication_form=AuthenticationForm)
Example #59
0
def login(req, template_name="webapp/login.html"):
    '''Login to rapidsms'''
    # this view, and the one below, is overridden because 
    # we need to set the base template to use somewhere  
    # somewhere that the login page can access it.
    req.base_template = settings.BASE_TEMPLATE 
    #area={}
    #locs=Report.objects.values_list('location', flat=True).distinct()
    #req.session['locs']=locs
    #req.session['dst']=[ dst for dst in Location.objects.filter(id__in=LocationShorthand.objects.filter(original__in=locs).values_list('district', flat=True).distinct())]
    #req.session['prv']=[ prov for prov in Location.objects.filter(id__in=LocationShorthand.objects.filter(original__in=locs).values_list('province', flat=True).distinct())]
    
    #req.session['important']=get_important_stats(req, filters)
    
    return django_login(req, **{"template_name" : template_name})