settings: password editable -> external auth

This commit is contained in:
Élie Bouttier 2014-09-02 21:43:02 -07:00
parent c878c59bce
commit 69553587c1
4 changed files with 16 additions and 12 deletions

View file

@ -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,

View file

@ -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)

View file

@ -170,4 +170,4 @@ RESERVED_PROJECT_URLS = [
]
GROUP_MANAGMENT = True
PASSWORD_EDITABLE = True
EXTERNAL_AUTH = False

View file

@ -32,7 +32,7 @@
{% else %}
<a href="{% url 'activate-user' user.id %}" class="btn btn-default"><span class="glyphicon glyphicon-check"></span> activate</a>
{% endif %}
{% if password_editable %}
{% if not external_auth %}
<a href="{% url 'edit-user-password' user.id %}" class="btn btn-info"><span class="glyphicon glyphicon-cog"></span> change password</a>
{% endif %}
<a href="{% url 'edit-user' user.id %}" class="btn btn-primary"><span class="glyphicon glyphicon-edit"></span> edit</a>