Exemplo n.º 1
0
def login(request):
    if request.method == 'POST':
        form = forms.SignInForm(request.POST)
        if form.is_valid():

            auth_manager = AuthManager(form.user)
            if not auth_manager.has_privilege('workspace.can_signin'):
                messages.add_message(request, messages.ERROR,
                                     ugettext('INVALID-USER-OR-PASS'))
                return redirect('accounts.signin')

            request.session['user_id'] = form.user.id
            request.session['django_language'] = form.user.language
            if not form.cleaned_data['remember_me']:
                request.session.set_expiry(0)

            if form.cleaned_data.get('next'):
                next = form.cleaned_data.get('next')
                return redirect(next)
            return redirect('accounts.landing')
        else:
            admin_url = request.POST.get('admin_url')
            messages.add_message(request, messages.ERROR,
                                 ugettext('INVALID-USER-OR-PASS'))
            if admin_url:
                return redirect('accounts.account_signin', admin_url=admin_url)
            else:
                return redirect('accounts.signin')
    elif request.method == 'GET':
        admin_url = request.GET.get('admin_url')
        if admin_url:
            return redirect('accounts.account_signin', admin_url=admin_url)
        else:
            return redirect('accounts.signin')
Exemplo n.º 2
0
def signin(request, admin_url=''):
    auth_manager = request.auth_manager
    if not auth_manager.is_anonymous():
        return HttpResponseRedirect(reverse('accounts.landing'))

    form = forms.SignInForm(request.GET, initial={'admin_url': admin_url})
    if admin_url:
        try:
            account_id = Preference.objects.get_account_id_by_known_key_and_value('account.url', admin_url)
            account = Account.objects.get(pk=account_id)
            preferences = account.get_preferences()
        except (Preference.DoesNotExist, Account.DoesNotExist):
            raise Http404
        return render_to_response('accounts/signIn.html', locals())
    else:
        return render_to_response('accounts/signIn.html', locals())