diff --git a/netbox/users/forms/bulk_edit.py b/netbox/users/forms/bulk_edit.py index 50f31ae04..0e29109a4 100644 --- a/netbox/users/forms/bulk_edit.py +++ b/netbox/users/forms/bulk_edit.py @@ -1,9 +1,12 @@ from django import forms +from django.contrib.postgres.forms import SimpleArrayField from django.utils.translation import gettext_lazy as _ +from ipam.formfields import IPNetworkFormField +from ipam.validators import prefix_validator from users.models import * from utilities.forms import BootstrapMixin, BulkEditForm -from utilities.forms.widgets import BulkEditNullBooleanSelect +from utilities.forms.widgets import BulkEditNullBooleanSelect, DateTimePicker __all__ = ( 'ObjectPermissionBulkEditForm', @@ -78,7 +81,31 @@ class TokenBulkEditForm(BulkEditForm): queryset=Token.objects.all(), widget=forms.MultipleHiddenInput ) + write_enabled = forms.NullBooleanField( + required=False, + widget=BulkEditNullBooleanSelect, + label=_('Write enabled') + ) description = forms.CharField( max_length=200, - required=False + required=False, + label=_('Description') + ) + expires = forms.DateTimeField( + required=False, + widget=DateTimePicker(), + label=_('Expires') + ) + allowed_ips = SimpleArrayField( + base_field=IPNetworkFormField(validators=[prefix_validator]), + required=False, + label=_('Allowed IPs') + ) + + model = Token + fieldsets = ( + (None, ('write_enabled', 'description', 'expires', 'allowed_ips')), + ) + nullable_fields = ( + 'expires', 'description', 'allowed_ips', ) diff --git a/netbox/users/forms/bulk_import.py b/netbox/users/forms/bulk_import.py index dc0185403..d1f03ff3c 100644 --- a/netbox/users/forms/bulk_import.py +++ b/netbox/users/forms/bulk_import.py @@ -38,9 +38,11 @@ class UserImportForm(CSVModelForm): class TokenImportForm(CSVModelForm): key = forms.CharField( - label=_('Key'), required=False, help_text=_("If no key is provided, one will be generated automatically.") + label=_('Key'), + required=False, + help_text=_("If no key is provided, one will be generated automatically.") ) class Meta: model = Token - fields = ('key', 'user', 'expires', 'description',) + fields = ('user', 'key', 'write_enabled', 'expires', 'description',)