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, })
def openid_failure(request,message): return direct_to_template(request, "account/login.html", { "form": LoginForm(), "openidform": openidform, "openid_message":message, "reason": reason, })
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, })
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, })
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 })
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 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)}, })
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, })
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 })
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, })
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, })
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__
def oauth_pin(request, token): from django.http import HttpResponse return direct_to_template(request, 'piston/show_pin.html', {'token': token})