diff --git a/account_manager/views/group_views.py b/account_manager/views/group_views.py index 68517fb..9565a22 100644 --- a/account_manager/views/group_views.py +++ b/account_manager/views/group_views.py @@ -44,7 +44,7 @@ def group_detail(request, realm_id, group_dn): @login_required @is_realm_admin 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 # if this is a POST request we need to process the form data if request.method == 'POST': @@ -52,18 +52,19 @@ def group_add(request, realm_id): form = AddLDAPGroupForm(request.POST) # check whether it's valid: if form.is_valid(): - name = form.cleaned_data['name'] + name = form.cleaned_data["name"] members = form.cleaned_data['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) 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 else: form = AddLDAPGroupForm() - - return render(request, 'group/group_add.jinja2', {'form': form, 'realm': realm_obj}) + return render(request, 'group/group_add.jinja2', {'form': form, 'realm': realm}) @login_required diff --git a/templates/group/group_add.jinja2 b/templates/group/group_add.jinja2 index e064a62..45f1964 100644 --- a/templates/group/group_add.jinja2 +++ b/templates/group/group_add.jinja2 @@ -2,6 +2,9 @@ {% import 'macros/form_macros.jinja2' as mform %} {% block detail_content %} + {% if extra_error %} +
{{ extra_error }}
+ {% endif %}
{{ mform.text_input(form.name) }}