"""passbook LDAP Forms""" from django import forms from django.contrib.admin.widgets import FilteredSelectMultiple from django.utils.translation import gettext_lazy as _ from passbook.admin.forms.source import SOURCE_FORM_FIELDS from passbook.sources.ldap.models import LDAPPropertyMapping, LDAPSource class LDAPSourceForm(forms.ModelForm): """LDAPSource Form""" class Meta: model = LDAPSource fields = SOURCE_FORM_FIELDS + [ 'server_uri', 'bind_cn', 'bind_password', 'start_tls', 'base_dn', 'additional_user_dn', 'additional_group_dn', 'user_object_filter', 'group_object_filter', 'user_group_membership_field', 'object_uniqueness_field', 'sync_groups', 'sync_parent_group', 'property_mappings', ] widgets = { 'name': forms.TextInput(), 'server_uri': forms.TextInput(), 'bind_cn': forms.TextInput(), 'bind_password': forms.TextInput(), 'base_dn': forms.TextInput(), 'additional_user_dn': forms.TextInput(), 'additional_group_dn': forms.TextInput(), 'user_object_filter': forms.TextInput(), 'group_object_filter': forms.TextInput(), 'user_group_membership_field': forms.TextInput(), 'object_uniqueness_field': forms.TextInput(), 'policies': FilteredSelectMultiple(_('policies'), False), 'property_mappings': FilteredSelectMultiple(_('Property Mappings'), False) } labels = { 'server_uri': _('Server URI'), 'bind_cn': _('Bind CN'), 'start_tls': _('Enable Start TLS'), 'base_dn': _('Base DN'), 'additional_user_dn': _('Addition User DN'), 'additional_group_dn': _('Addition Group DN'), } class LDAPPropertyMappingForm(forms.ModelForm): """LDAP Property Mapping form""" class Meta: model = LDAPPropertyMapping fields = ['name', 'ldap_property', 'object_field'] widgets = { 'name': forms.TextInput(), 'ldap_property': forms.TextInput(), 'object_field': forms.TextInput(), }