Merge branch 'develop' into feature

This commit is contained in:
jeremystretch
2021-05-04 14:25:53 -04:00
53 changed files with 1172 additions and 1309 deletions

View File

@@ -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
#

View File

@@ -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',

View File

@@ -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)