mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
112 lines
3.0 KiB
Python
112 lines
3.0 KiB
Python
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, DateTimePicker
|
|
|
|
__all__ = (
|
|
'ObjectPermissionBulkEditForm',
|
|
'UserBulkEditForm',
|
|
'TokenBulkEditForm',
|
|
)
|
|
|
|
|
|
class UserBulkEditForm(BootstrapMixin, forms.Form):
|
|
pk = forms.ModelMultipleChoiceField(
|
|
queryset=NetBoxUser.objects.all(),
|
|
widget=forms.MultipleHiddenInput
|
|
)
|
|
first_name = forms.CharField(
|
|
label=_('First name'),
|
|
max_length=150,
|
|
required=False
|
|
)
|
|
last_name = forms.CharField(
|
|
label=_('Last name'),
|
|
max_length=150,
|
|
required=False
|
|
)
|
|
is_active = forms.NullBooleanField(
|
|
required=False,
|
|
widget=BulkEditNullBooleanSelect,
|
|
label=_('Active')
|
|
)
|
|
is_staff = forms.NullBooleanField(
|
|
required=False,
|
|
widget=BulkEditNullBooleanSelect,
|
|
label=_('Staff status')
|
|
)
|
|
is_superuser = forms.NullBooleanField(
|
|
required=False,
|
|
widget=BulkEditNullBooleanSelect,
|
|
label=_('Superuser status')
|
|
)
|
|
|
|
model = NetBoxUser
|
|
fieldsets = (
|
|
(None, ('first_name', 'last_name', 'is_active', 'is_staff', 'is_superuser')),
|
|
)
|
|
nullable_fields = ('first_name', 'last_name')
|
|
|
|
|
|
class ObjectPermissionBulkEditForm(BootstrapMixin, forms.Form):
|
|
pk = forms.ModelMultipleChoiceField(
|
|
queryset=ObjectPermission.objects.all(),
|
|
widget=forms.MultipleHiddenInput
|
|
)
|
|
description = forms.CharField(
|
|
label=_('Description'),
|
|
max_length=200,
|
|
required=False
|
|
)
|
|
enabled = forms.NullBooleanField(
|
|
required=False,
|
|
widget=BulkEditNullBooleanSelect,
|
|
label=_('Enabled')
|
|
)
|
|
|
|
model = ObjectPermission
|
|
fieldsets = (
|
|
(None, ('enabled', 'description')),
|
|
)
|
|
nullable_fields = ('description',)
|
|
|
|
|
|
class TokenBulkEditForm(BulkEditForm):
|
|
pk = forms.ModelMultipleChoiceField(
|
|
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,
|
|
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',
|
|
)
|