diff options
author | Michael Elkins <melkins@tislabs.com> | 2012-02-07 15:11:02 +0000 |
---|---|---|
committer | Michael Elkins <melkins@tislabs.com> | 2012-02-07 15:11:02 +0000 |
commit | 2fc18a0832ab016f4d6cd9c906e28d5dfa2976f2 (patch) | |
tree | 011311ec26f38acfabec3e9cb80ebd74d496dce7 /rpkid/rpki/gui/app/views.py | |
parent | 8fb287710d11618fe638f7ff5ab0e00d1ede2989 (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.py | 22 |
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 |