mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-23 13:52:17 -06:00
Merge branch 'develop' into feature
This commit is contained in:
@@ -6,7 +6,7 @@ from rest_framework.routers import APIRootView
|
||||
from rest_framework.viewsets import ViewSet
|
||||
|
||||
from netbox.api.views import ModelViewSet
|
||||
from users import filters
|
||||
from users import filtersets
|
||||
from users.models import ObjectPermission, UserConfig
|
||||
from utilities.querysets import RestrictedQuerySet
|
||||
from utilities.utils import deepmerge
|
||||
@@ -28,13 +28,13 @@ class UsersRootView(APIRootView):
|
||||
class UserViewSet(ModelViewSet):
|
||||
queryset = RestrictedQuerySet(model=User).prefetch_related('groups').order_by('username')
|
||||
serializer_class = serializers.UserSerializer
|
||||
filterset_class = filters.UserFilterSet
|
||||
filterset_class = filtersets.UserFilterSet
|
||||
|
||||
|
||||
class GroupViewSet(ModelViewSet):
|
||||
queryset = RestrictedQuerySet(model=Group).annotate(user_count=Count('user')).order_by('name')
|
||||
serializer_class = serializers.GroupSerializer
|
||||
filterset_class = filters.GroupFilterSet
|
||||
filterset_class = filtersets.GroupFilterSet
|
||||
|
||||
|
||||
#
|
||||
@@ -44,7 +44,7 @@ class GroupViewSet(ModelViewSet):
|
||||
class ObjectPermissionViewSet(ModelViewSet):
|
||||
queryset = ObjectPermission.objects.prefetch_related('object_types', 'groups', 'users')
|
||||
serializer_class = serializers.ObjectPermissionSerializer
|
||||
filterset_class = filters.ObjectPermissionFilterSet
|
||||
filterset_class = filtersets.ObjectPermissionFilterSet
|
||||
|
||||
|
||||
#
|
||||
|
||||
@@ -2,8 +2,8 @@ import django_filters
|
||||
from django.contrib.auth.models import Group, User
|
||||
from django.db.models import Q
|
||||
|
||||
from netbox.filtersets import BaseFilterSet
|
||||
from users.models import ObjectPermission
|
||||
from utilities.filters import BaseFilterSet
|
||||
|
||||
__all__ = (
|
||||
'GroupFilterSet',
|
||||
@@ -2,11 +2,12 @@ from django.contrib.auth.models import Group, User
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.test import TestCase
|
||||
|
||||
from users.filters import GroupFilterSet, ObjectPermissionFilterSet, UserFilterSet
|
||||
from users.filtersets import GroupFilterSet, ObjectPermissionFilterSet, UserFilterSet
|
||||
from users.models import ObjectPermission
|
||||
from utilities.testing import BaseFilterSetTests
|
||||
|
||||
|
||||
class UserTestCase(TestCase):
|
||||
class UserTestCase(TestCase, BaseFilterSetTests):
|
||||
queryset = User.objects.all()
|
||||
filterset = UserFilterSet
|
||||
|
||||
@@ -59,10 +60,6 @@ class UserTestCase(TestCase):
|
||||
users[1].groups.set([groups[1]])
|
||||
users[2].groups.set([groups[2]])
|
||||
|
||||
def test_id(self):
|
||||
params = {'id': self.queryset.values_list('pk', flat=True)[:2]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_username(self):
|
||||
params = {'username': ['User1', 'User2']}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
@@ -95,7 +92,7 @@ class UserTestCase(TestCase):
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
|
||||
class GroupTestCase(TestCase):
|
||||
class GroupTestCase(TestCase, BaseFilterSetTests):
|
||||
queryset = Group.objects.all()
|
||||
filterset = GroupFilterSet
|
||||
|
||||
@@ -109,16 +106,12 @@ class GroupTestCase(TestCase):
|
||||
)
|
||||
Group.objects.bulk_create(groups)
|
||||
|
||||
def test_id(self):
|
||||
params = {'id': self.queryset.values_list('pk', flat=True)[:2]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_name(self):
|
||||
params = {'name': ['Group 1', 'Group 2']}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
|
||||
class ObjectPermissionTestCase(TestCase):
|
||||
class ObjectPermissionTestCase(TestCase, BaseFilterSetTests):
|
||||
queryset = ObjectPermission.objects.all()
|
||||
filterset = ObjectPermissionFilterSet
|
||||
|
||||
@@ -160,10 +153,6 @@ class ObjectPermissionTestCase(TestCase):
|
||||
permissions[i].users.set([users[i]])
|
||||
permissions[i].object_types.set([object_types[i]])
|
||||
|
||||
def test_id(self):
|
||||
params = {'id': self.queryset.values_list('pk', flat=True)[:2]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_name(self):
|
||||
params = {'name': ['Permission 1', 'Permission 2']}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
Reference in New Issue
Block a user