diff --git a/src/account_manager/forms.py b/src/account_manager/forms.py index b004730..d8d7964 100644 --- a/src/account_manager/forms.py +++ b/src/account_manager/forms.py @@ -41,7 +41,7 @@ class UserGroupListForm(forms.Form): class AddLDAPGroupForm(forms.Form): name = forms.CharField(label='Gruppenname', max_length=400) - # TODO show only allowed user + description = forms.CharField(label='Beschreibung', max_length=1024, required=False) members = forms.ModelMultipleChoiceField(label='Nutzer hinzufügen', widget=forms.CheckboxSelectMultiple, queryset=LdapUser.objects.all(), ) diff --git a/src/account_manager/models.py b/src/account_manager/models.py index bb52977..db3e770 100644 --- a/src/account_manager/models.py +++ b/src/account_manager/models.py @@ -121,6 +121,7 @@ class LdapGroup(Model): object_classes = ['groupOfNames'] name = ldap_fields.CharField(db_column='cn', max_length=200, primary_key=True) + description = ldap_fields.CharField(db_column='description', max_length=1024) members = ldap_fields.ListField(db_column='member') @staticmethod diff --git a/src/account_manager/views/group_views.py b/src/account_manager/views/group_views.py index fdfd37a..ac66503 100644 --- a/src/account_manager/views/group_views.py +++ b/src/account_manager/views/group_views.py @@ -61,11 +61,12 @@ def group_add(request, realm_id): # check whether it's valid: if form.is_valid(): name = form.cleaned_data["name"] + description = form.cleaned_data["description"] members = form.cleaned_data['members'] members = [member.dn for member in members] LdapGroup.base_dn = f'ou=groups,{realm.ldap_base_dn}' try: - LdapGroup.objects.create(name=name, members=members) + LdapGroup.objects.create(name=name, description=description, members=members) except ALREADY_EXISTS: return render(request, 'group/group_add.jinja2', {'form': form, 'realm': realm, 'users': users, 'extra_error': 'Der Gruppenname ist leider schon belegt. Bitte wähle einen anderen.'}) @@ -93,6 +94,7 @@ def group_update(request, realm_id, group_dn): form = AddLDAPGroupForm(request.POST) if form.is_valid(): group.name = form.cleaned_data['name'] + group.description = form.cleaned_data['description'] members = form.cleaned_data['members'] group.members = [member.dn for member in members] group.save() @@ -105,7 +107,7 @@ def group_update(request, realm_id, group_dn): members = LdapUser.objects.none() if group.members: members = LdapUser.get_users_by_dn(realm, group.members) - data = {'name': group.name, 'members': members} + data = {'name': group.name, 'description': group.description, 'members': members} form = AddLDAPGroupForm(initial=data) return render(request, 'group/group_detail.jinja2', diff --git a/src/templates/group/group_add.jinja2 b/src/templates/group/group_add.jinja2 index d79a9e9..5b82814 100644 --- a/src/templates/group/group_add.jinja2 +++ b/src/templates/group/group_add.jinja2 @@ -9,6 +9,7 @@