Просмотр исходного кода

Fixes #6517: Fix assignment of user when creating rack reservations via REST API

jeremystretch 4 лет назад
Родитель
Сommit
1935f8b27f
3 измененных файлов с 13 добавлено и 20 удалено
  1. 1 0
      docs/release-notes/version-2.11.md
  2. 0 4
      netbox/dcim/api/views.py
  3. 12 16
      netbox/dcim/tests/test_api.py

+ 1 - 0
docs/release-notes/version-2.11.md

@@ -14,6 +14,7 @@
 * [#6284](https://github.com/netbox-community/netbox/issues/6284) - Avoid sending redundant webhooks when adding/removing tags
 * [#6284](https://github.com/netbox-community/netbox/issues/6284) - Avoid sending redundant webhooks when adding/removing tags
 * [#6496](https://github.com/netbox-community/netbox/issues/6496) - Fix upgrade script when Python installed in nonstandard path
 * [#6496](https://github.com/netbox-community/netbox/issues/6496) - Fix upgrade script when Python installed in nonstandard path
 * [#6502](https://github.com/netbox-community/netbox/issues/6502) - Correct permissions evaluation for running a report via the REST API
 * [#6502](https://github.com/netbox-community/netbox/issues/6502) - Correct permissions evaluation for running a report via the REST API
+* [#6517](https://github.com/netbox-community/netbox/issues/6517) - Fix assignment of user when creating rack reservations via REST API
 * [#6525](https://github.com/netbox-community/netbox/issues/6525) - Paginate related IPs table under IP address view
 * [#6525](https://github.com/netbox-community/netbox/issues/6525) - Paginate related IPs table under IP address view
 
 
 ---
 ---

+ 0 - 4
netbox/dcim/api/views.py

@@ -246,10 +246,6 @@ class RackReservationViewSet(ModelViewSet):
     serializer_class = serializers.RackReservationSerializer
     serializer_class = serializers.RackReservationSerializer
     filterset_class = filtersets.RackReservationFilterSet
     filterset_class = filtersets.RackReservationFilterSet
 
 
-    # Assign user from request
-    def perform_create(self, serializer):
-        serializer.save(user=self.request.user)
-
 
 
 #
 #
 # Manufacturers
 # Manufacturers

+ 12 - 16
netbox/dcim/tests/test_api.py

@@ -349,40 +349,36 @@ class RackReservationTest(APIViewTestCases.APIViewTestCase):
         user = User.objects.create(username='user1', is_active=True)
         user = User.objects.create(username='user1', is_active=True)
         site = Site.objects.create(name='Test Site 1', slug='test-site-1')
         site = Site.objects.create(name='Test Site 1', slug='test-site-1')
 
 
-        cls.racks = (
+        racks = (
             Rack(site=site, name='Rack 1'),
             Rack(site=site, name='Rack 1'),
             Rack(site=site, name='Rack 2'),
             Rack(site=site, name='Rack 2'),
         )
         )
-        Rack.objects.bulk_create(cls.racks)
+        Rack.objects.bulk_create(racks)
 
 
         rack_reservations = (
         rack_reservations = (
-            RackReservation(rack=cls.racks[0], units=[1, 2, 3], user=user, description='Reservation #1'),
-            RackReservation(rack=cls.racks[0], units=[4, 5, 6], user=user, description='Reservation #2'),
-            RackReservation(rack=cls.racks[0], units=[7, 8, 9], user=user, description='Reservation #3'),
+            RackReservation(rack=racks[0], units=[1, 2, 3], user=user, description='Reservation #1'),
+            RackReservation(rack=racks[0], units=[4, 5, 6], user=user, description='Reservation #2'),
+            RackReservation(rack=racks[0], units=[7, 8, 9], user=user, description='Reservation #3'),
         )
         )
         RackReservation.objects.bulk_create(rack_reservations)
         RackReservation.objects.bulk_create(rack_reservations)
 
 
-    def setUp(self):
-        super().setUp()
-
-        # We have to set creation data under setUp() because we need access to the test user.
-        self.create_data = [
+        cls.create_data = [
             {
             {
-                'rack': self.racks[1].pk,
+                'rack': racks[1].pk,
                 'units': [10, 11, 12],
                 'units': [10, 11, 12],
-                'user': self.user.pk,
+                'user': user.pk,
                 'description': 'Reservation #4',
                 'description': 'Reservation #4',
             },
             },
             {
             {
-                'rack': self.racks[1].pk,
+                'rack': racks[1].pk,
                 'units': [13, 14, 15],
                 'units': [13, 14, 15],
-                'user': self.user.pk,
+                'user': user.pk,
                 'description': 'Reservation #5',
                 'description': 'Reservation #5',
             },
             },
             {
             {
-                'rack': self.racks[1].pk,
+                'rack': racks[1].pk,
                 'units': [16, 17, 18],
                 'units': [16, 17, 18],
-                'user': self.user.pk,
+                'user': user.pk,
                 'description': 'Reservation #6',
                 'description': 'Reservation #6',
             },
             },
         ]
         ]