aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/gui/app/views.py
diff options
context:
space:
mode:
authorMichael Elkins <melkins@tislabs.com>2012-02-07 15:11:02 +0000
committerMichael Elkins <melkins@tislabs.com>2012-02-07 15:11:02 +0000
commit2fc18a0832ab016f4d6cd9c906e28d5dfa2976f2 (patch)
tree011311ec26f38acfabec3e9cb80ebd74d496dce7 /rpkid/rpki/gui/app/views.py
parent8fb287710d11618fe638f7ff5ab0e00d1ede2989 (diff)
add support for editing user accounts to change email and password
remove superuser column from user list svn path=/branches/tk161/; revision=4307
Diffstat (limited to 'rpkid/rpki/gui/app/views.py')
-rw-r--r--rpkid/rpki/gui/app/views.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/rpkid/rpki/gui/app/views.py b/rpkid/rpki/gui/app/views.py
index 9813d8cc..f57dd518 100644
--- a/rpkid/rpki/gui/app/views.py
+++ b/rpkid/rpki/gui/app/views.py
@@ -918,7 +918,27 @@ def user_delete(request, pk):
@superuser_required
def user_edit(request, pk):
- pass
+ conf = get_object_or_404(models.Conf, pk=pk)
+ # in the old model, there may be users with a different name, so create a
+ # new user object if it is missing.
+ try:
+ user = User.objects.get(username=conf.handle)
+ except User.DoesNotExist:
+ user = User(username=conf.handle)
+
+ if request.method == 'POST':
+ form = forms.UserEditForm(request.POST)
+ if form.is_valid():
+ pw = form.cleaned_data.get('pw')
+ if pw:
+ user.set_password(pw)
+ user.email = form.cleaned_data.get('email')
+ user.save()
+ return http.HttpResponseRedirect(reverse(user_list))
+ else:
+ form = forms.UserEditForm(initial={'email': user.email})
+ return render(request, 'app/user_edit_form.html',
+ {'object': user, 'form': form})
@handle_required