always use FilteredSelectMultiple for many-to-many fields
This commit is contained in:
		@ -1,5 +1,6 @@
 | 
				
			|||||||
"""passbook Core Application forms"""
 | 
					"""passbook Core Application forms"""
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
from django.utils.translation import gettext_lazy as _
 | 
					from django.utils.translation import gettext_lazy as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from passbook.core.models import Application, Provider
 | 
					from passbook.core.models import Application, Provider
 | 
				
			||||||
@ -20,6 +21,7 @@ class ApplicationForm(forms.ModelForm):
 | 
				
			|||||||
            'name': forms.TextInput(),
 | 
					            'name': forms.TextInput(),
 | 
				
			||||||
            'launch_url': forms.TextInput(),
 | 
					            'launch_url': forms.TextInput(),
 | 
				
			||||||
            'icon_url': forms.TextInput(),
 | 
					            'icon_url': forms.TextInput(),
 | 
				
			||||||
 | 
					            'policies': FilteredSelectMultiple(_('policies'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        labels = {
 | 
					        labels = {
 | 
				
			||||||
            'launch_url': _('Launch URL'),
 | 
					            'launch_url': _('Launch URL'),
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,7 @@
 | 
				
			|||||||
"""passbook administration forms"""
 | 
					"""passbook administration forms"""
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
 | 
					from django.utils.translation import gettext as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from passbook.core.models import DummyFactor, PasswordFactor
 | 
					from passbook.core.models import DummyFactor, PasswordFactor
 | 
				
			||||||
from passbook.lib.fields import DynamicArrayField
 | 
					from passbook.lib.fields import DynamicArrayField
 | 
				
			||||||
@ -16,6 +18,7 @@ class PasswordFactorForm(forms.ModelForm):
 | 
				
			|||||||
        widgets = {
 | 
					        widgets = {
 | 
				
			||||||
            'name': forms.TextInput(),
 | 
					            'name': forms.TextInput(),
 | 
				
			||||||
            'order': forms.NumberInput(),
 | 
					            'order': forms.NumberInput(),
 | 
				
			||||||
 | 
					            'policies': FilteredSelectMultiple(_('policies'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        field_classes = {
 | 
					        field_classes = {
 | 
				
			||||||
            'backends': DynamicArrayField
 | 
					            'backends': DynamicArrayField
 | 
				
			||||||
@ -31,4 +34,5 @@ class DummyFactorForm(forms.ModelForm):
 | 
				
			|||||||
        widgets = {
 | 
					        widgets = {
 | 
				
			||||||
            'name': forms.TextInput(),
 | 
					            'name': forms.TextInput(),
 | 
				
			||||||
            'order': forms.NumberInput(),
 | 
					            'order': forms.NumberInput(),
 | 
				
			||||||
 | 
					            'policies': FilteredSelectMultiple(_('policies'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,8 @@
 | 
				
			|||||||
"""passbook Core Group forms"""
 | 
					"""passbook Core Group forms"""
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from passbook.core.models import Group, User
 | 
					from passbook.core.models import Group, User
 | 
				
			||||||
from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class GroupForm(forms.ModelForm):
 | 
					class GroupForm(forms.ModelForm):
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,8 @@
 | 
				
			|||||||
"""passbook HaveIBeenPwned Policy forms"""
 | 
					"""passbook HaveIBeenPwned Policy forms"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
 | 
					from django.utils.translation import gettext as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from passbook.core.forms.policies import GENERAL_FIELDS
 | 
					from passbook.core.forms.policies import GENERAL_FIELDS
 | 
				
			||||||
from passbook.hibp_policy.models import HaveIBeenPwendPolicy
 | 
					from passbook.hibp_policy.models import HaveIBeenPwendPolicy
 | 
				
			||||||
@ -16,4 +18,5 @@ class HaveIBeenPwnedPolicyForm(forms.ModelForm):
 | 
				
			|||||||
        widgets = {
 | 
					        widgets = {
 | 
				
			||||||
            'name': forms.TextInput(),
 | 
					            'name': forms.TextInput(),
 | 
				
			||||||
            'order': forms.NumberInput(),
 | 
					            'order': forms.NumberInput(),
 | 
				
			||||||
 | 
					            'policies': FilteredSelectMultiple(_('policies'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
"""passbook LDAP Forms"""
 | 
					"""passbook LDAP Forms"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
from django.utils.translation import gettext_lazy as _
 | 
					from django.utils.translation import gettext_lazy as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from passbook.admin.forms.source import SOURCE_FORM_FIELDS
 | 
					from passbook.admin.forms.source import SOURCE_FORM_FIELDS
 | 
				
			||||||
@ -23,6 +24,7 @@ class LDAPSourceForm(forms.ModelForm):
 | 
				
			|||||||
            'bind_password': forms.TextInput(),
 | 
					            'bind_password': forms.TextInput(),
 | 
				
			||||||
            'domain': forms.TextInput(),
 | 
					            'domain': forms.TextInput(),
 | 
				
			||||||
            'base_dn': forms.TextInput(),
 | 
					            'base_dn': forms.TextInput(),
 | 
				
			||||||
 | 
					            'policies': FilteredSelectMultiple(_('policies'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        labels = {
 | 
					        labels = {
 | 
				
			||||||
            'server_uri': _('Server URI'),
 | 
					            'server_uri': _('Server URI'),
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
"""passbook oauth_client forms"""
 | 
					"""passbook oauth_client forms"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
from django.utils.translation import gettext as _
 | 
					from django.utils.translation import gettext as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from passbook.admin.forms.source import SOURCE_FORM_FIELDS
 | 
					from passbook.admin.forms.source import SOURCE_FORM_FIELDS
 | 
				
			||||||
@ -29,6 +30,7 @@ class OAuthSourceForm(forms.ModelForm):
 | 
				
			|||||||
            'consumer_key': forms.TextInput(),
 | 
					            'consumer_key': forms.TextInput(),
 | 
				
			||||||
            'consumer_secret': forms.TextInput(),
 | 
					            'consumer_secret': forms.TextInput(),
 | 
				
			||||||
            'provider_type': forms.Select(choices=MANAGER.get_name_tuple()),
 | 
					            'provider_type': forms.Select(choices=MANAGER.get_name_tuple()),
 | 
				
			||||||
 | 
					            'policies': FilteredSelectMultiple(_('policies'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        labels = {
 | 
					        labels = {
 | 
				
			||||||
            'request_token_url': _('Request Token URL'),
 | 
					            'request_token_url': _('Request Token URL'),
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
"""passbook OTP Forms"""
 | 
					"""passbook OTP Forms"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
from django.core.validators import RegexValidator
 | 
					from django.core.validators import RegexValidator
 | 
				
			||||||
from django.utils.safestring import mark_safe
 | 
					from django.utils.safestring import mark_safe
 | 
				
			||||||
from django.utils.translation import ugettext_lazy as _
 | 
					from django.utils.translation import ugettext_lazy as _
 | 
				
			||||||
@ -63,4 +64,5 @@ class OTPFactorForm(forms.ModelForm):
 | 
				
			|||||||
        widgets = {
 | 
					        widgets = {
 | 
				
			||||||
            'name': forms.TextInput(),
 | 
					            'name': forms.TextInput(),
 | 
				
			||||||
            'order': forms.NumberInput(),
 | 
					            'order': forms.NumberInput(),
 | 
				
			||||||
 | 
					            'policies': FilteredSelectMultiple(_('policies'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
"""passbook PasswordExpiry Policy forms"""
 | 
					"""passbook PasswordExpiry Policy forms"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
from django.utils.translation import gettext as _
 | 
					from django.utils.translation import gettext as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from passbook.core.forms.policies import GENERAL_FIELDS
 | 
					from passbook.core.forms.policies import GENERAL_FIELDS
 | 
				
			||||||
@ -18,6 +19,7 @@ class PasswordExpiryPolicyForm(forms.ModelForm):
 | 
				
			|||||||
            'name': forms.TextInput(),
 | 
					            'name': forms.TextInput(),
 | 
				
			||||||
            'order': forms.NumberInput(),
 | 
					            'order': forms.NumberInput(),
 | 
				
			||||||
            'days': forms.NumberInput(),
 | 
					            'days': forms.NumberInput(),
 | 
				
			||||||
 | 
					            'policies': FilteredSelectMultiple(_('policies'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        labels = {
 | 
					        labels = {
 | 
				
			||||||
            'deny_only': _("Only fail the policy, don't set user's password.")
 | 
					            'deny_only': _("Only fail the policy, don't set user's password.")
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,8 @@
 | 
				
			|||||||
"""passbook SAML IDP Forms"""
 | 
					"""passbook SAML IDP Forms"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
 | 
					from django.contrib.admin.widgets import FilteredSelectMultiple
 | 
				
			||||||
 | 
					from django.utils.translation import gettext as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from passbook.lib.fields import DynamicArrayField
 | 
					from passbook.lib.fields import DynamicArrayField
 | 
				
			||||||
from passbook.saml_idp.models import (SAMLPropertyMapping, SAMLProvider,
 | 
					from passbook.saml_idp.models import (SAMLPropertyMapping, SAMLProvider,
 | 
				
			||||||
@ -32,6 +34,7 @@ class SAMLProviderForm(forms.ModelForm):
 | 
				
			|||||||
        widgets = {
 | 
					        widgets = {
 | 
				
			||||||
            'name': forms.TextInput(),
 | 
					            'name': forms.TextInput(),
 | 
				
			||||||
            'issuer': forms.TextInput(),
 | 
					            'issuer': forms.TextInput(),
 | 
				
			||||||
 | 
					            'property_mappings': FilteredSelectMultiple(_('Property Mappings'), False)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user