mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-17 06:29:53 +02:00
Merge branch 'develop' into feature
This commit is contained in:
@@ -108,6 +108,8 @@ class TunnelTerminationSerializer(NetBoxModelSerializer):
|
||||
|
||||
@extend_schema_field(serializers.JSONField(allow_null=True))
|
||||
def get_termination(self, obj):
|
||||
if not obj.termination:
|
||||
return None
|
||||
serializer = get_serializer_for_model(obj.termination)
|
||||
context = {'request': self.context['request']}
|
||||
return serializer(obj.termination, nested=True, context=context).data
|
||||
|
||||
@@ -147,6 +147,17 @@ class IKEProposalFilterSet(NetBoxModelFilterSet):
|
||||
group = django_filters.MultipleChoiceFilter(
|
||||
choices=DHGroupChoices
|
||||
)
|
||||
ike_policy_id = django_filters.ModelMultipleChoiceFilter(
|
||||
field_name='ike_policies',
|
||||
queryset=IKEPolicy.objects.all(),
|
||||
label=_('IKE policy (ID)'),
|
||||
)
|
||||
ike_policy = django_filters.ModelMultipleChoiceFilter(
|
||||
field_name='ike_policies__name',
|
||||
queryset=IKEPolicy.objects.all(),
|
||||
to_field_name='name',
|
||||
label=_('IKE policy (name)'),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = IKEProposal
|
||||
|
||||
@@ -92,7 +92,7 @@ class TunnelCreateForm(TunnelForm):
|
||||
termination1_termination = DynamicModelChoiceField(
|
||||
queryset=Interface.objects.all(),
|
||||
required=False,
|
||||
label=_('Interface'),
|
||||
label=_('Tunnel interface'),
|
||||
query_params={
|
||||
'device_id': '$termination1_parent',
|
||||
}
|
||||
@@ -127,7 +127,7 @@ class TunnelCreateForm(TunnelForm):
|
||||
termination2_termination = DynamicModelChoiceField(
|
||||
queryset=Interface.objects.all(),
|
||||
required=False,
|
||||
label=_('Interface'),
|
||||
label=_('Tunnel interface'),
|
||||
query_params={
|
||||
'device_id': '$termination2_parent',
|
||||
}
|
||||
@@ -237,7 +237,7 @@ class TunnelTerminationForm(NetBoxModelForm):
|
||||
)
|
||||
termination = DynamicModelChoiceField(
|
||||
queryset=Interface.objects.all(),
|
||||
label=_('Interface'),
|
||||
label=_('Tunnel interface'),
|
||||
query_params={
|
||||
'device_id': '$parent',
|
||||
}
|
||||
|
||||
@@ -75,6 +75,7 @@ class L2VPNIndex(SearchIndex):
|
||||
fields = (
|
||||
('name', 100),
|
||||
('slug', 110),
|
||||
('identifier', 200),
|
||||
('description', 500),
|
||||
('comments', 5000),
|
||||
)
|
||||
|
||||
@@ -88,7 +88,7 @@ class TunnelTerminationTable(TenancyColumnsMixin, NetBoxTable):
|
||||
verbose_name=_('Host')
|
||||
)
|
||||
termination = tables.Column(
|
||||
verbose_name=_('Interface'),
|
||||
verbose_name=_('Tunnel interface'),
|
||||
linkify=True
|
||||
)
|
||||
ip_addresses = tables.ManyToManyColumn(
|
||||
|
||||
@@ -385,6 +385,13 @@ class IKEProposalTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||
params = {'sa_lifetime': [1000, 2000]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_ike_policy(self):
|
||||
ike_policies = IKEPolicy.objects.all()[:2]
|
||||
params = {'ike_policy_id': [ike_policies[0].pk, ike_policies[1].pk]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
params = {'ike_policy': [ike_policies[0].name, ike_policies[1].name]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
|
||||
class IKEPolicyTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||
queryset = IKEPolicy.objects.all()
|
||||
|
||||
Reference in New Issue
Block a user