fix(forms): Fix owner field placement in PowerOutlet and Service forms
Move owner field from fieldsets to Meta.fields in PowerOutletForm and add it to ServiceCreateForm Meta.fields. Ensures owner field appears in forms and can be properly saved. Adds test coverage with Owner creation. Fixes #23052
This commit is contained in:
parent
6437626d6d
commit
88f90dc8ca
|
|
@ -1517,7 +1517,7 @@ class PowerOutletForm(ModularDeviceComponentForm):
|
|||
fieldsets = (
|
||||
FieldSet(
|
||||
'device', 'module', 'name', 'label', 'type', 'status', 'color', 'power_port', 'feed_leg', 'mark_connected',
|
||||
'description', 'owner', 'tags',
|
||||
'description', 'tags',
|
||||
),
|
||||
)
|
||||
|
||||
|
|
@ -1525,7 +1525,7 @@ class PowerOutletForm(ModularDeviceComponentForm):
|
|||
model = PowerOutlet
|
||||
fields = [
|
||||
'device', 'module', 'name', 'label', 'type', 'status', 'color', 'power_port', 'feed_leg', 'mark_connected',
|
||||
'description', 'tags',
|
||||
'description', 'owner', 'tags',
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ from extras.models import ConfigContext, ConfigTemplate
|
|||
from ipam.models import ASN, RIR, VLAN, VRF
|
||||
from netbox.choices import CSVDelimiterChoices, ImportFormatChoices, WeightUnitChoices
|
||||
from tenancy.models import Tenant
|
||||
from users.models import ObjectPermission, User
|
||||
from users.models import ObjectPermission, Owner, User
|
||||
from utilities.testing import ViewTestCases, create_tags, create_test_device, post_data
|
||||
from wireless.models import WirelessLAN
|
||||
|
||||
|
|
@ -3240,6 +3240,8 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||
)
|
||||
PowerOutlet.objects.bulk_create(power_outlets)
|
||||
|
||||
owner = Owner.objects.create(name='Owner 1')
|
||||
|
||||
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
||||
|
||||
cls.form_data = {
|
||||
|
|
@ -3250,6 +3252,7 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||
'power_port': powerports[1].pk,
|
||||
'feed_leg': PowerOutletFeedLegChoices.FEED_LEG_B,
|
||||
'description': 'A power outlet',
|
||||
'owner': owner.pk,
|
||||
'tags': [t.pk for t in tags],
|
||||
}
|
||||
|
||||
|
|
@ -3261,6 +3264,7 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||
'power_port': powerports[1].pk,
|
||||
'feed_leg': PowerOutletFeedLegChoices.FEED_LEG_B,
|
||||
'description': 'A power outlet',
|
||||
'owner': owner.pk,
|
||||
'tags': [t.pk for t in tags],
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -910,7 +910,7 @@ class ServiceCreateForm(ServiceForm):
|
|||
|
||||
class Meta(ServiceForm.Meta):
|
||||
fields = [
|
||||
'service_template', 'name', 'protocol', 'ports', 'ipaddresses', 'description',
|
||||
'service_template', 'name', 'protocol', 'ports', 'ipaddresses', 'description', 'owner',
|
||||
'comments', 'tags', 'parent_object_type',
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ from ipam.utils import AvailableIPSpace
|
|||
from ipam.views import AggregatePrefixesView, PrefixPrefixesView
|
||||
from netbox.choices import CSVDelimiterChoices, ImportFormatChoices
|
||||
from tenancy.models import Tenant
|
||||
from users.models import Group, ObjectPermission
|
||||
from users.models import Group, ObjectPermission, Owner
|
||||
from utilities.testing import ViewTestCases, create_tags
|
||||
|
||||
|
||||
|
|
@ -2561,6 +2561,8 @@ class ServiceTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|||
)
|
||||
IPAddress.objects.bulk_create(ip_addresses)
|
||||
|
||||
owner = Owner.objects.create(name='Owner 1')
|
||||
|
||||
tags = create_tags('Alpha', 'Bravo', 'Charlie')
|
||||
|
||||
cls.form_data = {
|
||||
|
|
@ -2571,6 +2573,7 @@ class ServiceTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|||
'ports': '104,105',
|
||||
'ipaddresses': [],
|
||||
'description': 'A new service',
|
||||
'owner': owner.pk,
|
||||
'tags': [t.pk for t in tags],
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue