Skip to content

Commit 1ccbf8f

Browse files
authored
Update for 4.1 (#19)
2 parents 38d6b09 + 1186ae4 commit 1ccbf8f

File tree

13 files changed

+51
-144
lines changed

13 files changed

+51
-144
lines changed

netbox_lifecycle/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ class NetBoxLifeCycle(PluginConfig):
1313
author = metadata.get('Author')
1414
author_email = metadata.get('Author-email')
1515
base_url = 'lifecycle'
16-
min_version = '3.5.0'
17-
max_version = '4.0.99'
16+
min_version = '4.1.0'
17+
max_version = '4.1.99'
1818
required_settings = []
1919
default_settings = {}
2020
queues = []

netbox_lifecycle/api/_serializers/__init__.py

Whitespace-only changes.

netbox_lifecycle/api/serializers/contract.py renamed to netbox_lifecycle/api/_serializers/contract.py

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,22 @@
11
from rest_framework import serializers
22

3-
from dcim.api.nested_serializers import NestedManufacturerSerializer, NestedDeviceSerializer
3+
from dcim.api.serializers_.devices import DeviceSerializer
4+
from dcim.api.serializers_.manufacturers import ManufacturerSerializer
45
from netbox.api.serializers import NetBoxModelSerializer
5-
from netbox_lifecycle.api.nested_serializers import NestedVendorSerializer, NestedSupportContractSerializer, \
6-
NestedLicenseAssignmentSerializer
6+
from netbox_lifecycle.api._serializers.license import LicenseAssignmentSerializer
7+
from netbox_lifecycle.api._serializers.vendor import VendorSerializer
78
from netbox_lifecycle.models import Vendor, SupportContract, SupportContractAssignment, SupportSKU
89

910
__all__ = (
10-
'VendorSerializer',
1111
'SupportSKUSerializer',
1212
'SupportContractSerializer',
1313
'SupportContractAssignmentSerializer',
1414
)
1515

16-
from utilities.api import get_serializer_for_model
17-
18-
19-
class VendorSerializer(NetBoxModelSerializer):
20-
url = serializers.HyperlinkedIdentityField(view_name='plugins-api:netbox_lifecycle-api:hardwarelifecycle-detail')
21-
22-
class Meta:
23-
model = Vendor
24-
fields = ('url', 'id', 'display', 'name')
25-
2616

2717
class SupportSKUSerializer(NetBoxModelSerializer):
2818
url = serializers.HyperlinkedIdentityField(view_name='plugins-api:netbox_lifecycle-api:hardwarelifecycle-detail')
29-
manufacturer = NestedManufacturerSerializer()
19+
manufacturer = ManufacturerSerializer(nested=True)
3020

3121
class Meta:
3222
model = SupportSKU
@@ -35,7 +25,7 @@ class Meta:
3525

3626
class SupportContractSerializer(NetBoxModelSerializer):
3727
url = serializers.HyperlinkedIdentityField(view_name='plugins-api:netbox_lifecycle-api:hardwarelifecycle-detail')
38-
vendor = NestedVendorSerializer()
28+
vendor = VendorSerializer(nested=True)
3929
start = serializers.DateField()
4030
renewal = serializers.DateField()
4131
end = serializers.DateField()
@@ -47,10 +37,10 @@ class Meta:
4737

4838
class SupportContractAssignmentSerializer(NetBoxModelSerializer):
4939
url = serializers.HyperlinkedIdentityField(view_name='plugins-api:netbox_lifecycle-api:licenseassignment-detail')
50-
contract = NestedSupportContractSerializer()
40+
contract = SupportContractSerializer(nested=True)
5141

52-
device = NestedDeviceSerializer()
53-
license = NestedLicenseAssignmentSerializer()
42+
device = DeviceSerializer(nested=True)
43+
license = LicenseAssignmentSerializer(nested=True)
5444

5545
class Meta:
5646
model = SupportContractAssignment

netbox_lifecycle/api/serializers/hardware.py renamed to netbox_lifecycle/api/_serializers/hardware.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
from netbox.api.fields import ContentTypeField
66
from netbox.api.serializers import NetBoxModelSerializer
7-
from netbox.constants import NESTED_SERIALIZER_PREFIX
87
from netbox_lifecycle.models import HardwareLifecycle
98
from utilities.api import get_serializer_for_model
109

@@ -36,6 +35,6 @@ class Meta:
3635

3736
@extend_schema_field(serializers.JSONField(allow_null=True))
3837
def get_assigned_object(self, instance):
39-
serializer = get_serializer_for_model(instance.assigned_object, prefix=NESTED_SERIALIZER_PREFIX)
38+
serializer = get_serializer_for_model(instance.assigned_object)
4039
context = {'request': self.context['request']}
41-
return serializer(instance.assigned_object, context=context).data
40+
return serializer(instance.assigned_object, context=context, nested=True).data

netbox_lifecycle/api/serializers/license.py renamed to netbox_lifecycle/api/_serializers/license.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
from rest_framework import serializers
22

3-
from dcim.api.nested_serializers import NestedManufacturerSerializer, NestedDeviceSerializer
3+
from dcim.api.serializers_.devices import DeviceSerializer
4+
from dcim.api.serializers_.manufacturers import ManufacturerSerializer
45
from netbox.api.serializers import NetBoxModelSerializer
5-
from netbox_lifecycle.api.nested_serializers import NestedVendorSerializer
6-
from netbox_lifecycle.api.nested_serializers.license import NestedLicenseSerializer
6+
from netbox_lifecycle.api._serializers.vendor import VendorSerializer
77
from netbox_lifecycle.models import License, LicenseAssignment
88

99
__all__ = (
@@ -14,7 +14,7 @@
1414

1515
class LicenseSerializer(NetBoxModelSerializer):
1616
url = serializers.HyperlinkedIdentityField(view_name='plugins-api:netbox_lifecycle-api:license-detail')
17-
manufacturer = NestedManufacturerSerializer()
17+
manufacturer = ManufacturerSerializer(nested=True)
1818

1919
class Meta:
2020
model = License
@@ -23,9 +23,9 @@ class Meta:
2323

2424
class LicenseAssignmentSerializer(NetBoxModelSerializer):
2525
url = serializers.HyperlinkedIdentityField(view_name='plugins-api:netbox_lifecycle-api:licenseassignment-detail')
26-
license = NestedLicenseSerializer()
27-
vendor = NestedVendorSerializer()
28-
device = NestedDeviceSerializer()
26+
license = LicenseSerializer(nested=True)
27+
vendor = VendorSerializer(nested=True)
28+
device = DeviceSerializer(nested=True)
2929

3030
class Meta:
3131
model = LicenseAssignment
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from rest_framework import serializers
2+
3+
from netbox.api.serializers import NetBoxModelSerializer
4+
from netbox_lifecycle.models import Vendor
5+
6+
__all__ = (
7+
'VendorSerializer',
8+
)
9+
10+
11+
class VendorSerializer(NetBoxModelSerializer):
12+
url = serializers.HyperlinkedIdentityField(view_name='plugins-api:netbox_lifecycle-api:hardwarelifecycle-detail')
13+
14+
class Meta:
15+
model = Vendor
16+
fields = ('url', 'id', 'display', 'name')

netbox_lifecycle/api/nested_serializers/__init__.py

Lines changed: 0 additions & 3 deletions
This file was deleted.

netbox_lifecycle/api/nested_serializers/contract.py

Lines changed: 0 additions & 47 deletions
This file was deleted.

netbox_lifecycle/api/nested_serializers/hardware.py

Lines changed: 0 additions & 26 deletions
This file was deleted.

netbox_lifecycle/api/nested_serializers/license.py

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)