diff --git a/accounts/forms.py b/accounts/forms.py
index 83bf2ca..3e61dff 100644
--- a/accounts/forms.py
+++ b/accounts/forms.py
@@ -4,15 +4,15 @@ from django.forms.widgets import PasswordInput
from accounts.models import *
-__all__ = ['AddUserForm', 'EditUserForm', 'GroupForm', 'TeamForm']
+__all__ = ['UserForm', 'UserFormWithoutUsername', 'GroupForm', 'TeamForm']
-user_fields=['first_name', 'last_name', 'email', 'is_superuser']
+user_fields=['first_name', 'last_name', 'email']
-AddUserForm = modelform_factory(User,
- fields=['username']+user_fields)
-EditUserForm = modelform_factory(User,
- fields=user_fields)
+UserForm = modelform_factory(User,
+ fields=['username']+user_fields+['is_superuser'])
+UserFormWithoutUsername = modelform_factory(User,
+ fields=user_fields+['is_superuser'])
GroupForm = modelform_factory(Group,
fields=['name'])
TeamForm = modelform_factory(Team,
diff --git a/accounts/views.py b/accounts/views.py
index 37068c6..5e0b4bc 100644
--- a/accounts/views.py
+++ b/accounts/views.py
@@ -32,6 +32,7 @@ def profile(request):
def user_list(request):
return render(request, 'accounts/user_list.html', {
'users': User.objects.all(),
+ 'external_auth': settings.EXTERNAL_AUTH,
})
@@ -43,7 +44,7 @@ def user_details(request, user):
'directteams': Team.objects.filter(users__id=user),
'tab': tab,
'group_managment': settings.GROUP_MANAGMENT,
- 'password_editable': settings.PASSWORD_EDITABLE,
+ 'external_auth': settings.EXTERNAL_AUTH,
})
@@ -52,9 +53,12 @@ def user_edit(request, user=None):
if user:
user = get_object_or_404(User, id=user)
- form = EditUserForm(request.POST or None, instance=user)
+ if settings.EXTERNAL_AUTH:
+ form = UserFormWithoutUsername(request.POST or None, instance=user)
+ else:
+ form = UserForm(request.POST or None, instance=user)
else:
- form = AddUserForm(request.POST or None)
+ form = UserForm(request.POST or None)
if request.method == 'POST' and form.is_valid():
newuser = form.save()
@@ -72,7 +76,7 @@ def user_edit(request, user=None):
@project_perm_required('manage_accounts')
def user_edit_password(request, user):
- if not settings.PASSWORD_EDITABLE:
+ if not settings.EXTERNAL_AUTH:
raise Http404()
user = get_object_or_404(User, id=user)
form = AdminPasswordChangeForm(user, request.POST or None)
diff --git a/ponytracker/settings.py b/ponytracker/settings.py
index 04aa4b9..e3f7db1 100644
--- a/ponytracker/settings.py
+++ b/ponytracker/settings.py
@@ -170,4 +170,4 @@ RESERVED_PROJECT_URLS = [
]
GROUP_MANAGMENT = True
-PASSWORD_EDITABLE = True
+EXTERNAL_AUTH = False
diff --git a/templates/accounts/user_details.html b/templates/accounts/user_details.html
index 03278be..197b784 100644
--- a/templates/accounts/user_details.html
+++ b/templates/accounts/user_details.html
@@ -32,7 +32,7 @@
{% else %}
activate
{% endif %}
- {% if password_editable %}
+ {% if not external_auth %}
change password
{% endif %}
edit