Пример #1
0
def password_reset(request):
    if request.method == "POST":
        password_reset_form = ResetPasswordForm(request.POST)
        if password_reset_form.is_valid():
            email = password_reset_form.save()
            return direct_to_template(request, "account/password_reset_done.html", {
                "email": email,
            })
    else:
        password_reset_form = ResetPasswordForm()
    
    return direct_to_template(request, "account/password_reset.html", {
        "password_reset_form": password_reset_form,
    })
Пример #2
0
 def openid_failure(request,message):
   return direct_to_template(request, "account/login.html", {
     "form": LoginForm(),
     "openidform": openidform,
     "openid_message":message,
     "reason": reason,
   })
Пример #3
0
def openid_new_user(request):
    next = get_next(request)
    if request.method == 'POST':
        form = SSORegistrationForm(request.POST, request=request)

        if form.is_valid():
            from django_openidauth.models import associate_openid
            from django.contrib.auth import load_backend
            new_user = form.save()
            associate_openid( new_user, request.openid )
            backend = load_backend('django.contrib.auth.backends.ModelBackend')
            new_user.backend = '%s.%s' % (
                backend.__module__, backend.__class__.__name__
            )
            auth_login(request, new_user)
            return new_user_registered_redirect(request, next or '/')
    else:
        initial = dict(
            next=next,
        )
        form = SSORegistrationForm(initial=initial, request=request)

    return direct_to_template(request, "account/sso_registration.html", {
        'form':form,
    })
Пример #4
0
def email(request):
    if request.method == "POST" and request.user.is_authenticated():
        if request.POST["action"] == "add":
            add_email_form = AddEmailForm(request.user, request.POST)
            if add_email_form.is_valid():
                add_email_form.save()
                add_email_form = AddEmailForm() # @@@
        else:
            add_email_form = AddEmailForm()
            if request.POST["action"] == "send":
                email = request.POST["email"]
                try:
                    email_address = EmailAddress.objects.get(user=request.user, email=email)
                    request.user.message_set.create(message="Confirmation email sent to %s" % email)
                    EmailConfirmation.objects.send_confirmation(email_address)
                except EmailAddress.DoesNotExist:
                    pass
            elif request.POST["action"] == "remove":
                email = request.POST["email"]
                try:
                    email_address = EmailAddress.objects.get(user=request.user, email=email)
                    email_address.delete()
                    request.user.message_set.create(message="Removed email address %s" % email)
                except EmailAddress.DoesNotExist:
                    pass
            elif request.POST["action"] == "primary":
                email = request.POST["email"]
                email_address = EmailAddress.objects.get(user=request.user, email=email)
                email_address.set_as_primary()
    else:
        add_email_form = AddEmailForm()
    
    return direct_to_template(request, "account/email.html", {
        "add_email_form": add_email_form,
    })
Пример #5
0
def oauth_auth(request, token, callback, params):
    form = forms.OAuthAuthenticationForm(initial={
        'oauth_token': token.key,
        'authorize_access': True,
        'oauth_callback': token.get_callback_url() or callback,
      })

    return direct_to_template(request, 'piston/authorize_token.html', { 'form': form, 'token': token })
Пример #6
0
 def openid_failure(request,message):
     return direct_to_template(request, template, {
         "form": SignupForm(request=request),
         "openidform": openidform,
         "openid_message":message,
         "next":next,
         "reason": reason,
     })
Пример #7
0
 def wrapper(request, name, *args, **kw):
     try:
         return view(request, name, *args, **kw)
     except Exception, e:
         service = OAuthService.get_by_name(name)
         logger.error("%(name)s error: %(descr)s" % {'name':service.name, 'descr':unicode(e)})
         logger.exception(e)
         return direct_to_template(request, 'account/oauth_error.html', {
             'error_description': _("%(name)s error: %(descr)s") % {'name':service.name, 'descr':unicode(e)},
         })
Пример #8
0
def login(request):
    reason = None
    next = request.REQUEST.get('next', '')

    if request.method == "POST":
        openidform = OpenIDForm(request.POST)
        def openid_failure(request,message):
          return direct_to_template(request, "account/login.html", {
            "form": LoginForm(),
            "openidform": openidform,
            "openid_message":message,
            "reason": reason,
          })

        def if_not_user_url(request):
          return HttpResponseRedirect(reverse('acct_login'))

        if request.POST.has_key('openid_url'):
            redirect_to = '/openid/complete/'
            if next:
                logger.info("NEXT: %s", next)
                redirect_to += '?' + urlencode({'next':next})
            return openid_consumer_views.begin(request,on_failure=openid_failure,sreg = 'email,nickname',redirect_to=redirect_to, if_not_user_url=if_not_user_url)
          
        form = LoginForm(request.POST)
        redirect_to = None
        if form.login(request):	                
            return HttpResponseRedirect(make_absolute_url(next or '/'))
    else:        
        # http://jira.filmaster.org/browse/FLM-420
        full_next = FULL_DOMAIN + next
        if next == full_url("LOGOUT") or full_next == full_url("LOGOUT"):
            next = ""
        reason = request.GET.get('reason')
            
        form = LoginForm(
            initial = {
                'next': next,
                'reason': reason,
        })

        openidform = OpenIDForm(
            initial = {
                'next': next,
                'reason': reason,
        })
        
    return direct_to_template(request, "account/login.html", {
        "next": next,
        "form": form,
        "openidform": openidform,
        "reason": reason, 
    })
Пример #9
0
def oauth_auth(request, token, callback, params):
    form = forms.OAuthAuthenticationForm(
        initial={
            'oauth_token': token.key,
            'authorize_access': True,
            'oauth_callback': token.get_callback_url() or callback,
        })

    return direct_to_template(request, 'piston/authorize_token.html', {
        'form': form,
        'token': token
    })
Пример #10
0
def password_change(request):
    if request.user.has_usable_password():
        form_class = ChangePasswordForm 
    else:
        form_class = SetPasswordForm
        
    if request.method == "POST":
        password_change_form = form_class(request.user, request.POST)
        if password_change_form.is_valid():
            password_change_form.save()
#            password_change_form = ChangePasswordForm(request.user)
            return HttpResponseRedirect(full_url("CHANGE_PASSWORD_DONE"))
    else:
        password_change_form = form_class(request.user)
    return direct_to_template(request, "account/password_change.html", {
        "password_change_form": password_change_form,
    })
Пример #11
0
def signup(request):
    reason = None
    next = get_next(request)
    iframe = 'iframe' in request.GET
    template = "account/%ssignup.html" % (iframe and 'iframe_' or '')
    
    if request.method == "POST":
        openidform = OpenIDForm(request.POST)
        def openid_failure(request,message):
            return direct_to_template(request, template, {
                "form": SignupForm(request=request),
                "openidform": openidform,
                "openid_message":message,
                "next":next,
                "reason": reason,
            })

        def if_not_user_url(request):
            return HttpResponseRedirect(reverse('acct_login'))

        if request.POST.has_key('openid_url'):
            from urllib import urlencode
            return openid_consumer_views.begin(request,on_failure=openid_failure,sreg = 'email,nickname',redirect_to='/openid/complete/?%s'%urlencode({'next':next or '/'}), if_not_user_url=if_not_user_url)
            
        form = SignupForm(request.POST, request=request, prefix=iframe and 'ajax' or None)
        if form.is_valid():
            user = form.save()
            user = authenticate(username=user.username, password=form.cleaned_data['password1'])
            auth_login(request, user)
            if iframe:
                return HttpResponse('<script>top.location.href = "%s";</script>' % make_absolute_url(next or '/'))
            return new_user_registered_redirect(request, next or '/')
    else:
        form = SignupForm(request=request, prefix=iframe and 'ajax' or None)
    openidform = OpenIDForm(
        initial = {
            'next': next,
            'reason': reason,
    })
    return direct_to_template(request, template, {
        "form": form,
        "next": next,
        "openidform": openidform,
    })
Пример #12
0
                logger.info("%s user (%s) authenticated and logged in, redirecting to %r", name, user, next)
                return new_user_registered_redirect(request, next)
            logger.error("Can't login to new created user %s" % user)
            assert False, "Can't login to new created user %s" % user
        else:
            logger.warning("invalid sso form: %s", form.errors)
    else:
        logger.debug(user_info)
        initial = dict(
            next=next,
            username=user_info.get('username'),
            email=user_info.get('email'),
        )
        form = SSORegistrationForm(initial=initial, request=request)
    return direct_to_template(request, "account/sso_registration.html", {
        'form':form,
        'user_info':user_info,
    })

def openid_new_user(request):
    next = get_next(request)
    if request.method == 'POST':
        form = SSORegistrationForm(request.POST, request=request)

        if form.is_valid():
            from django_openidauth.models import associate_openid
            from django.contrib.auth import load_backend
            new_user = form.save()
            associate_openid( new_user, request.openid )
            backend = load_backend('django.contrib.auth.backends.ModelBackend')
            new_user.backend = '%s.%s' % (
                backend.__module__, backend.__class__.__name__
Пример #13
0
def oauth_pin(request, token):
    from django.http import HttpResponse
    return direct_to_template(request, 'piston/show_pin.html',
                              {'token': token})
Пример #14
0
def oauth_pin(request, token):
    from django.http import HttpResponse
    return direct_to_template(request, 'piston/show_pin.html', {'token': token})