mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-25 16:56:10 -06:00
125890 basic group objectpermission views
This commit is contained in:
parent
a609467968
commit
bd67cfb401
@ -351,7 +351,9 @@ ADMIN_MENU = Menu(
|
|||||||
MenuGroup(
|
MenuGroup(
|
||||||
label=_('Users'),
|
label=_('Users'),
|
||||||
items=(
|
items=(
|
||||||
get_model_item('users', 'user', _('Users'), actions=['add']),
|
get_model_item('users', 'netboxuser', _('Users'), actions=['add']),
|
||||||
|
get_model_item('users', 'netboxgroup', _('Groups'), actions=['add']),
|
||||||
|
get_model_item('users', 'objectpermission', _('Permissions'), actions=['add']),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -11,6 +11,8 @@ from utilities.forms.fields import CommentField, DynamicModelChoiceField, Dynami
|
|||||||
from utilities.forms.widgets import DatePicker, NumberWithOptions
|
from utilities.forms.widgets import DatePicker, NumberWithOptions
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
'GroupBulkEditForm',
|
||||||
|
'ObjectPermissionBulkEditForm',
|
||||||
'UserBulkEditForm',
|
'UserBulkEditForm',
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -36,3 +38,49 @@ class UserBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
nullable_fields = (
|
nullable_fields = (
|
||||||
'asns', 'description', 'comments',
|
'asns', 'description', 'comments',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class GroupBulkEditForm(NetBoxModelBulkEditForm):
|
||||||
|
asns = DynamicModelMultipleChoiceField(
|
||||||
|
queryset=ASN.objects.all(),
|
||||||
|
label=_('ASNs'),
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
description = forms.CharField(
|
||||||
|
max_length=200,
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
comments = CommentField(
|
||||||
|
label=_('Comments')
|
||||||
|
)
|
||||||
|
|
||||||
|
model = Provider
|
||||||
|
fieldsets = (
|
||||||
|
(None, ('asns', 'description')),
|
||||||
|
)
|
||||||
|
nullable_fields = (
|
||||||
|
'asns', 'description', 'comments',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionBulkEditForm(NetBoxModelBulkEditForm):
|
||||||
|
asns = DynamicModelMultipleChoiceField(
|
||||||
|
queryset=ASN.objects.all(),
|
||||||
|
label=_('ASNs'),
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
description = forms.CharField(
|
||||||
|
max_length=200,
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
comments = CommentField(
|
||||||
|
label=_('Comments')
|
||||||
|
)
|
||||||
|
|
||||||
|
model = Provider
|
||||||
|
fieldsets = (
|
||||||
|
(None, ('asns', 'description')),
|
||||||
|
)
|
||||||
|
nullable_fields = (
|
||||||
|
'asns', 'description', 'comments',
|
||||||
|
)
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
|
|
||||||
from circuits.choices import CircuitStatusChoices
|
from users.models import *
|
||||||
from circuits.models import *
|
|
||||||
from dcim.models import Site
|
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
from netbox.forms import NetBoxModelImportForm
|
from netbox.forms import NetBoxModelImportForm
|
||||||
from tenancy.models import Tenant
|
|
||||||
from utilities.forms import BootstrapMixin
|
from utilities.forms import BootstrapMixin
|
||||||
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, SlugField
|
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, SlugField
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
'GroupImportForm',
|
||||||
|
'ObjectPermissionImportForm',
|
||||||
'UserImportForm',
|
'UserImportForm',
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -18,7 +17,27 @@ class UserImportForm(NetBoxModelImportForm):
|
|||||||
slug = SlugField()
|
slug = SlugField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Provider
|
model = NetBoxUser
|
||||||
fields = (
|
fields = (
|
||||||
'name', 'slug', 'description', 'comments', 'tags',
|
'email',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class GroupImportForm(NetBoxModelImportForm):
|
||||||
|
slug = SlugField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = NetBoxGroup
|
||||||
|
fields = (
|
||||||
|
'name',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionImportForm(NetBoxModelImportForm):
|
||||||
|
slug = SlugField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = ObjectPermission
|
||||||
|
fields = (
|
||||||
|
'name',
|
||||||
)
|
)
|
||||||
|
@ -12,6 +12,8 @@ from utilities.forms.fields import DynamicModelMultipleChoiceField, TagFilterFie
|
|||||||
from utilities.forms.widgets import DatePicker, NumberWithOptions
|
from utilities.forms.widgets import DatePicker, NumberWithOptions
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
'GroupFilterForm',
|
||||||
|
'ObjectPermissionFilterForm',
|
||||||
'UserFilterForm',
|
'UserFilterForm',
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -44,3 +46,63 @@ class UserFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm):
|
|||||||
required=False,
|
required=False,
|
||||||
label='Is Active',
|
label='Is Active',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class GroupFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm):
|
||||||
|
model = NetBoxUser
|
||||||
|
fieldsets = (
|
||||||
|
(None, ('q', 'filter_id',)),
|
||||||
|
('Name', ('username', 'first_name', 'last_name')),
|
||||||
|
('Security', ('is_superuser', 'is_staff', 'is_active')),
|
||||||
|
)
|
||||||
|
username = forms.CharField(
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
first_name = forms.CharField(
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
last_name = forms.CharField(
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
is_superuser = forms.BooleanField(
|
||||||
|
required=False,
|
||||||
|
label='Is Superuser',
|
||||||
|
)
|
||||||
|
is_staff = forms.BooleanField(
|
||||||
|
required=False,
|
||||||
|
label='Is Staff',
|
||||||
|
)
|
||||||
|
is_active = forms.BooleanField(
|
||||||
|
required=False,
|
||||||
|
label='Is Active',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm):
|
||||||
|
model = NetBoxUser
|
||||||
|
fieldsets = (
|
||||||
|
(None, ('q', 'filter_id',)),
|
||||||
|
('Name', ('username', 'first_name', 'last_name')),
|
||||||
|
('Security', ('is_superuser', 'is_staff', 'is_active')),
|
||||||
|
)
|
||||||
|
username = forms.CharField(
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
first_name = forms.CharField(
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
last_name = forms.CharField(
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
is_superuser = forms.BooleanField(
|
||||||
|
required=False,
|
||||||
|
label='Is Superuser',
|
||||||
|
)
|
||||||
|
is_staff = forms.BooleanField(
|
||||||
|
required=False,
|
||||||
|
label='Is Staff',
|
||||||
|
)
|
||||||
|
is_active = forms.BooleanField(
|
||||||
|
required=False,
|
||||||
|
label='Is Active',
|
||||||
|
)
|
||||||
|
@ -18,7 +18,9 @@ from users.models import *
|
|||||||
|
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
'GroupForm',
|
||||||
'LoginForm',
|
'LoginForm',
|
||||||
|
'ObjectPermissionForm',
|
||||||
'PasswordChangeForm',
|
'PasswordChangeForm',
|
||||||
'TokenForm',
|
'TokenForm',
|
||||||
'UserConfigForm',
|
'UserConfigForm',
|
||||||
@ -160,3 +162,31 @@ class UserForm(BootstrapMixin, forms.ModelForm):
|
|||||||
'username', 'first_name', 'last_name', 'email', 'groups',
|
'username', 'first_name', 'last_name', 'email', 'groups',
|
||||||
'is_active', 'is_staff', 'is_superuser', 'last_login', 'date_joined',
|
'is_active', 'is_staff', 'is_superuser', 'last_login', 'date_joined',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class GroupForm(BootstrapMixin, forms.ModelForm):
|
||||||
|
|
||||||
|
fieldsets = (
|
||||||
|
('User', ('username', 'first_name', 'last_name', 'email', )),
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = NetBoxUser
|
||||||
|
fields = [
|
||||||
|
'username', 'first_name', 'last_name', 'email', 'groups',
|
||||||
|
'is_active', 'is_staff', 'is_superuser', 'last_login', 'date_joined',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionForm(BootstrapMixin, forms.ModelForm):
|
||||||
|
|
||||||
|
fieldsets = (
|
||||||
|
('User', ('username', 'first_name', 'last_name', 'email', )),
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = NetBoxUser
|
||||||
|
fields = [
|
||||||
|
'username', 'first_name', 'last_name', 'email', 'groups',
|
||||||
|
'is_active', 'is_staff', 'is_superuser', 'last_login', 'date_joined',
|
||||||
|
]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Generated by Django 4.1.9 on 2023-06-02 16:55
|
# Generated by Django 4.1.9 on 2023-06-06 18:15
|
||||||
|
|
||||||
import django.contrib.auth.models
|
import django.contrib.auth.models
|
||||||
from django.db import migrations
|
from django.db import migrations
|
||||||
@ -11,6 +11,20 @@ class Migration(migrations.Migration):
|
|||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='NetBoxGroup',
|
||||||
|
fields=[],
|
||||||
|
options={
|
||||||
|
'verbose_name': 'Group',
|
||||||
|
'proxy': True,
|
||||||
|
'indexes': [],
|
||||||
|
'constraints': [],
|
||||||
|
},
|
||||||
|
bases=('auth.group',),
|
||||||
|
managers=[
|
||||||
|
('objects', django.contrib.auth.models.GroupManager()),
|
||||||
|
],
|
||||||
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='NetBoxUser',
|
name='NetBoxUser',
|
||||||
fields=[],
|
fields=[],
|
@ -20,6 +20,7 @@ from utilities.utils import flatten_dict
|
|||||||
from .constants import *
|
from .constants import *
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
'NetBoxGroup',
|
||||||
'NetBoxUser',
|
'NetBoxUser',
|
||||||
'ObjectPermission',
|
'ObjectPermission',
|
||||||
'Token',
|
'Token',
|
||||||
@ -58,6 +59,15 @@ class NetBoxUser(User):
|
|||||||
verbose_name = 'User'
|
verbose_name = 'User'
|
||||||
proxy = True
|
proxy = True
|
||||||
|
|
||||||
|
|
||||||
|
class NetBoxGroup(Group):
|
||||||
|
"""
|
||||||
|
Proxy contrib.auth.models.User for the UI
|
||||||
|
"""
|
||||||
|
class Meta:
|
||||||
|
verbose_name = 'Group'
|
||||||
|
proxy = True
|
||||||
|
|
||||||
#
|
#
|
||||||
# User preferences
|
# User preferences
|
||||||
#
|
#
|
||||||
|
@ -5,6 +5,8 @@ from netbox.tables import NetBoxTable, columns
|
|||||||
from users.models import NetBoxUser
|
from users.models import NetBoxUser
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
|
'GroupTable',
|
||||||
|
'ObjectPermissionTable',
|
||||||
'TokenTable',
|
'TokenTable',
|
||||||
'UserTable',
|
'UserTable',
|
||||||
)
|
)
|
||||||
@ -68,3 +70,31 @@ class UserTable(NetBoxTable):
|
|||||||
'pk', 'id', 'username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active'
|
'pk', 'id', 'username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active'
|
||||||
)
|
)
|
||||||
default_columns = ('pk', 'username', 'email', 'first_name', 'last_name', 'is_superuser')
|
default_columns = ('pk', 'username', 'email', 'first_name', 'last_name', 'is_superuser')
|
||||||
|
|
||||||
|
|
||||||
|
class GroupTable(NetBoxTable):
|
||||||
|
username = tables.LinkColumn('users:netboxuser', args=[A('pk')])
|
||||||
|
actions = columns.ActionsColumn(
|
||||||
|
actions=('edit', 'delete'),
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta(NetBoxTable.Meta):
|
||||||
|
model = NetBoxUser
|
||||||
|
fields = (
|
||||||
|
'pk', 'id', 'username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active'
|
||||||
|
)
|
||||||
|
default_columns = ('pk', 'username', 'email', 'first_name', 'last_name', 'is_superuser')
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionTable(NetBoxTable):
|
||||||
|
username = tables.LinkColumn('users:netboxuser', args=[A('pk')])
|
||||||
|
actions = columns.ActionsColumn(
|
||||||
|
actions=('edit', 'delete'),
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta(NetBoxTable.Meta):
|
||||||
|
model = NetBoxUser
|
||||||
|
fields = (
|
||||||
|
'pk', 'id', 'username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active'
|
||||||
|
)
|
||||||
|
default_columns = ('pk', 'username', 'email', 'first_name', 'last_name', 'is_superuser')
|
||||||
|
@ -12,14 +12,29 @@ urlpatterns = [
|
|||||||
path('password/', views.ChangePasswordView.as_view(), name='change_password'),
|
path('password/', views.ChangePasswordView.as_view(), name='change_password'),
|
||||||
|
|
||||||
# Users
|
# Users
|
||||||
path('users/', views.NetBoxUserListView.as_view(), name='user_list'),
|
path('users/', views.NetBoxUserListView.as_view(), name='netboxuser_list'),
|
||||||
path('users/add/', views.NetBoxUserEditView.as_view(), name='user_add'),
|
|
||||||
path('users/add/', views.NetBoxUserEditView.as_view(), name='netboxuser_add'),
|
path('users/add/', views.NetBoxUserEditView.as_view(), name='netboxuser_add'),
|
||||||
path('users/import/', views.NetBoxUserBulkImportView.as_view(), name='netboxuser_import'),
|
path('users/import/', views.NetBoxUserBulkImportView.as_view(), name='netboxuser_import'),
|
||||||
path('users/edit/', views.NetBoxUserBulkEditView.as_view(), name='netboxuser_bulk_edit'),
|
path('users/edit/', views.NetBoxUserBulkEditView.as_view(), name='netboxuser_bulk_edit'),
|
||||||
path('users/delete/', views.NetBoxUserBulkDeleteView.as_view(), name='netboxuser_bulk_delete'),
|
path('users/delete/', views.NetBoxUserBulkDeleteView.as_view(), name='netboxuser_bulk_delete'),
|
||||||
path('users/<int:pk>/', include(get_model_urls('users', 'netboxuser'))),
|
path('users/<int:pk>/', include(get_model_urls('users', 'netboxuser'))),
|
||||||
|
|
||||||
|
# Groups
|
||||||
|
path('groups/', views.NetBoxUserListView.as_view(), name='netboxgroup_list'),
|
||||||
|
path('groups/add/', views.NetBoxUserEditView.as_view(), name='netboxgroup_add'),
|
||||||
|
path('groups/import/', views.NetBoxUserBulkImportView.as_view(), name='netboxgroup_import'),
|
||||||
|
path('groups/edit/', views.NetBoxUserBulkEditView.as_view(), name='netboxgroup_bulk_edit'),
|
||||||
|
path('groups/delete/', views.NetBoxUserBulkDeleteView.as_view(), name='netboxgroup_bulk_delete'),
|
||||||
|
path('groups/<int:pk>/', include(get_model_urls('users', 'netboxgroup'))),
|
||||||
|
|
||||||
|
# Permissions
|
||||||
|
path('permissions/', views.NetBoxUserListView.as_view(), name='objectpermission_list'),
|
||||||
|
path('permissions/add/', views.NetBoxUserEditView.as_view(), name='objectpermission_add'),
|
||||||
|
path('permissions/import/', views.NetBoxUserBulkImportView.as_view(), name='objectpermission_import'),
|
||||||
|
path('permissions/edit/', views.NetBoxUserBulkEditView.as_view(), name='objectpermission_bulk_edit'),
|
||||||
|
path('permissions/delete/', views.NetBoxUserBulkDeleteView.as_view(), name='objectpermission_bulk_delete'),
|
||||||
|
path('permissions/<int:pk>/', include(get_model_urls('users', 'objectpermission'))),
|
||||||
|
|
||||||
# API tokens
|
# API tokens
|
||||||
path('api-tokens/', views.TokenListView.as_view(), name='token_list'),
|
path('api-tokens/', views.TokenListView.as_view(), name='token_list'),
|
||||||
path('api-tokens/add/', views.TokenEditView.as_view(), name='token_add'),
|
path('api-tokens/add/', views.TokenEditView.as_view(), name='token_add'),
|
||||||
|
@ -23,7 +23,7 @@ from netbox.views import generic
|
|||||||
from utilities.forms import ConfirmationForm
|
from utilities.forms import ConfirmationForm
|
||||||
from utilities.views import register_model_view
|
from utilities.views import register_model_view
|
||||||
from . import filtersets, forms, tables
|
from . import filtersets, forms, tables
|
||||||
from .models import Token, UserConfig, NetBoxUser
|
from .models import Token, UserConfig, NetBoxGroup, NetBoxUser, ObjectPermission
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -348,7 +348,7 @@ class NetBoxUserListView(generic.ObjectListView):
|
|||||||
|
|
||||||
@register_model_view(NetBoxUser)
|
@register_model_view(NetBoxUser)
|
||||||
class NetBoxUserView(generic.ObjectView):
|
class NetBoxUserView(generic.ObjectView):
|
||||||
queryset = get_user_model().objects.all()
|
queryset = NetBoxUser.objects.all()
|
||||||
template_name = 'users/user.html'
|
template_name = 'users/user.html'
|
||||||
|
|
||||||
def get_extra_context(self, request, instance):
|
def get_extra_context(self, request, instance):
|
||||||
@ -366,28 +366,120 @@ class NetBoxUserView(generic.ObjectView):
|
|||||||
|
|
||||||
@register_model_view(NetBoxUser, 'edit')
|
@register_model_view(NetBoxUser, 'edit')
|
||||||
class NetBoxUserEditView(generic.ObjectEditView):
|
class NetBoxUserEditView(generic.ObjectEditView):
|
||||||
queryset = get_user_model().objects.all()
|
queryset = NetBoxUser.objects.all()
|
||||||
form = forms.UserForm
|
form = forms.UserForm
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(NetBoxUser, 'delete')
|
@register_model_view(NetBoxUser, 'delete')
|
||||||
class NetBoxUserDeleteView(generic.ObjectDeleteView):
|
class NetBoxUserDeleteView(generic.ObjectDeleteView):
|
||||||
queryset = get_user_model().objects.all()
|
queryset = NetBoxUser.objects.all()
|
||||||
|
|
||||||
|
|
||||||
class NetBoxUserBulkImportView(generic.BulkImportView):
|
class NetBoxUserBulkImportView(generic.BulkImportView):
|
||||||
queryset = get_user_model().objects.all()
|
queryset = NetBoxUser.objects.all()
|
||||||
model_form = forms.UserImportForm
|
model_form = forms.UserImportForm
|
||||||
|
|
||||||
|
|
||||||
class NetBoxUserBulkEditView(generic.BulkEditView):
|
class NetBoxUserBulkEditView(generic.BulkEditView):
|
||||||
queryset = get_user_model().objects.all()
|
queryset = NetBoxUser.objects.all()
|
||||||
filterset = filtersets.UserFilterSet
|
filterset = filtersets.UserFilterSet
|
||||||
table = tables.UserTable
|
table = tables.UserTable
|
||||||
form = forms.UserBulkEditForm
|
form = forms.UserBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
class NetBoxUserBulkDeleteView(generic.BulkDeleteView):
|
class NetBoxUserBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = get_user_model().objects.all()
|
queryset = NetBoxUser.objects.all()
|
||||||
filterset = filtersets.UserFilterSet
|
filterset = filtersets.UserFilterSet
|
||||||
table = tables.UserTable
|
table = tables.UserTable
|
||||||
|
|
||||||
|
#
|
||||||
|
# Groups
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
class NetBoxGroupListView(generic.ObjectListView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
filterset = filtersets.GroupFilterSet
|
||||||
|
filterset_form = forms.GroupFilterForm
|
||||||
|
table = tables.GroupTable
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(NetBoxGroup)
|
||||||
|
class NetBoxGroupView(generic.ObjectView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
template_name = 'users/group.html'
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(NetBoxGroup, 'edit')
|
||||||
|
class NetBoxGroupEditView(generic.ObjectEditView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
form = forms.GroupForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(NetBoxGroup, 'delete')
|
||||||
|
class NetBoxGroupDeleteView(generic.ObjectDeleteView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
class NetBoxGroupBulkImportView(generic.BulkImportView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
model_form = forms.GroupImportForm
|
||||||
|
|
||||||
|
|
||||||
|
class NetBoxGroupBulkEditView(generic.BulkEditView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
filterset = filtersets.GroupFilterSet
|
||||||
|
table = tables.GroupTable
|
||||||
|
form = forms.GroupBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
class NetBoxGroupBulkDeleteView(generic.BulkDeleteView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
filterset = filtersets.GroupFilterSet
|
||||||
|
table = tables.GroupTable
|
||||||
|
|
||||||
|
#
|
||||||
|
# ObjectPermissions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionListView(generic.ObjectListView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
filterset = filtersets.ObjectPermissionFilterSet
|
||||||
|
filterset_form = forms.ObjectPermissionFilterForm
|
||||||
|
table = tables.ObjectPermissionTable
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(ObjectPermission)
|
||||||
|
class ObjectPermissionView(generic.ObjectView):
|
||||||
|
queryset = NetBoxGroup.objects.all()
|
||||||
|
template_name = 'users/objectpermission.html'
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(ObjectPermission, 'edit')
|
||||||
|
class ObjectPermissionEditView(generic.ObjectEditView):
|
||||||
|
queryset = ObjectPermission.objects.all()
|
||||||
|
form = forms.ObjectPermissionForm
|
||||||
|
|
||||||
|
|
||||||
|
@register_model_view(ObjectPermission, 'delete')
|
||||||
|
class ObjectPermissionDeleteView(generic.ObjectDeleteView):
|
||||||
|
queryset = ObjectPermission.objects.all()
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionBulkImportView(generic.BulkImportView):
|
||||||
|
queryset = ObjectPermission.objects.all()
|
||||||
|
model_form = forms.ObjectPermissionImportForm
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionBulkEditView(generic.BulkEditView):
|
||||||
|
queryset = ObjectPermission.objects.all()
|
||||||
|
filterset = filtersets.ObjectPermissionFilterSet
|
||||||
|
table = tables.ObjectPermissionTable
|
||||||
|
form = forms.ObjectPermissionBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
|
class ObjectPermissionBulkDeleteView(generic.BulkDeleteView):
|
||||||
|
queryset = ObjectPermission.objects.all()
|
||||||
|
filterset = filtersets.ObjectPermissionFilterSet
|
||||||
|
table = tables.ObjectPermissionTable
|
||||||
|
Loading…
Reference in New Issue
Block a user