uassoc = AuthKeyUserAssociation(user=request.user, key=assoc_key, provider=provider)
uassoc.save()
request.user.message_set.create(message=_('The new credentials are now associated with your account'))
- return HttpResponseRedirect(reverse('user_authsettings'))
+ return HttpResponseRedirect(reverse('user_authsettings', args=[request.user.id]))
return HttpResponseRedirect(reverse('auth_signin'))
else:
user = get_object_or_404(User, id=user)
if (ValidationHash.objects.validate(code, user, 'templogin', [user.id])):
- return login_and_forward(request, user, reverse('user_authsettings'),
+ return login_and_forward(request, user, reverse('user_authsettings', kwargs={'id': user.id}),
_("You are logged in with a temporary access key, please take the time to fix your issue with authentication."))
else:
raise Http404()
raise Http404()
@login_required
-def auth_settings(request):
- """
- change password view.
+def auth_settings(request, id):
+ user_ = get_object_or_404(User, id=id)
+
+ if not (request.user.is_superuser or request.user == user_):
+ return HttpResponseForbidden()
- url : /changepw/
- template: authopenid/changepw.html
- """
- user_ = request.user
auth_keys = user_.auth_keys.all()
if user_.has_usable_password():
user_.set_password(form.cleaned_data['password1'])
user_.save()
- return HttpResponseRedirect(reverse('user_authsettings'))
+ return HttpResponseRedirect(reverse('user_authsettings', kwargs={'id': user_.id}))
form = FormClass(user=user_)
})
return render_to_response('auth/auth_settings.html', {
+ 'view_user': user_,
+ "can_view_private": (user_ == request.user) or request.user.is_superuser,
'form': form,
'has_password': user_.has_usable_password(),
'auth_keys': auth_keys_list,
def remove_external_provider(request, id):
association = get_object_or_404(AuthKeyUserAssociation, id=id)
- if not association.user == request.user:
+ if not (request.user.is_superuser or request.user == association.user):
return HttpResponseForbidden()
+
request.user.message_set.create(message=_("You removed the association with %s") % association.provider)
association.delete()
- return HttpResponseRedirect(reverse('user_authsettings'))
+ return HttpResponseRedirect(reverse('user_authsettings', kwargs={'id': association.user.id}))
def newquestion_signin_action(user):
question = Question.objects.filter(author=user).order_by('-added_at')[0]