Add info if group could not be created, because no member (ldap requirement)
This commit is contained in:
parent
5b4fe02f86
commit
b8b7fea7ad
@ -44,7 +44,7 @@ def group_detail(request, realm_id, group_dn):
|
|||||||
@login_required
|
@login_required
|
||||||
@is_realm_admin
|
@is_realm_admin
|
||||||
def group_add(request, realm_id):
|
def group_add(request, realm_id):
|
||||||
realm_obj = Realm.objects.get(id=realm_id)
|
realm = Realm.objects.get(id=realm_id)
|
||||||
LdapUser.base_dn = LdapUser.ROOT_DN
|
LdapUser.base_dn = LdapUser.ROOT_DN
|
||||||
# if this is a POST request we need to process the form data
|
# if this is a POST request we need to process the form data
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
@ -52,18 +52,19 @@ def group_add(request, realm_id):
|
|||||||
form = AddLDAPGroupForm(request.POST)
|
form = AddLDAPGroupForm(request.POST)
|
||||||
# check whether it's valid:
|
# check whether it's valid:
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
name = form.cleaned_data['name']
|
name = form.cleaned_data["name"]
|
||||||
members = form.cleaned_data['members']
|
members = form.cleaned_data['members']
|
||||||
members = [member.dn for member in members]
|
members = [member.dn for member in members]
|
||||||
LdapGroup.base_dn = f'ou=groups,{realm_obj.ldap_base_dn}'
|
LdapGroup.base_dn = f'ou=groups,{realm.ldap_base_dn}'
|
||||||
LdapGroup.objects.create(name=name, members=members)
|
LdapGroup.objects.create(name=name, members=members)
|
||||||
return redirect('realm-group-list', realm_id)
|
return redirect('realm-group-list', realm_id)
|
||||||
|
elif 'members' not in form.cleaned_data:
|
||||||
|
return render(request, 'group/group_add.jinja2', {'form': form, 'realm': realm,
|
||||||
|
'extra_error': 'Bitte wähle mindestens ein Mitglied aus. Falls kein Mitglied angezeigt wird, erstelle zuerst einen Nutzer'})
|
||||||
# if a GET (or any other method) we'll create a blank form
|
# if a GET (or any other method) we'll create a blank form
|
||||||
else:
|
else:
|
||||||
form = AddLDAPGroupForm()
|
form = AddLDAPGroupForm()
|
||||||
|
return render(request, 'group/group_add.jinja2', {'form': form, 'realm': realm})
|
||||||
return render(request, 'group/group_add.jinja2', {'form': form, 'realm': realm_obj})
|
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
|
|||||||
@ -2,6 +2,9 @@
|
|||||||
{% import 'macros/form_macros.jinja2' as mform %}
|
{% import 'macros/form_macros.jinja2' as mform %}
|
||||||
|
|
||||||
{% block detail_content %}
|
{% block detail_content %}
|
||||||
|
{% if extra_error %}
|
||||||
|
<div class="alert alert-warning">{{ extra_error }}</div>
|
||||||
|
{% endif %}
|
||||||
<form action="{{ url('realm-group-add', args=[realm.id]) }}" method="post">
|
<form action="{{ url('realm-group-add', args=[realm.id]) }}" method="post">
|
||||||
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
|
||||||
{{ mform.text_input(form.name) }}
|
{{ mform.text_input(form.name) }}
|
||||||
|
|||||||
Reference in New Issue
Block a user