diff --git a/apps/terminal/api/endpoint.py b/apps/terminal/api/endpoint.py index d612db4a8..494dacbe8 100644 --- a/apps/terminal/api/endpoint.py +++ b/apps/terminal/api/endpoint.py @@ -2,7 +2,7 @@ from rest_framework.decorators import action from rest_framework.response import Response from rest_framework import status from common.drf.api import JMSBulkModelViewSet -from common.utils import get_object_or_none +from django.utils.translation import ugettext_lazy as _ from django.shortcuts import get_object_or_404 from assets.models import Asset from orgs.utils import tmp_to_root_org diff --git a/apps/terminal/models/endpoint.py b/apps/terminal/models/endpoint.py index 39f275f9a..71b79c0e3 100644 --- a/apps/terminal/models/endpoint.py +++ b/apps/terminal/models/endpoint.py @@ -31,8 +31,11 @@ class Endpoint(JMSModel): def get_port(self, protocol): return getattr(self, f'{protocol}_port', 0) + def is_default(self): + return self.id == self.default_id + def delete(self, using=None, keep_parents=False): - if self.id == self.default_id: + if self.is_default(): return return super().delete(using, keep_parents) @@ -78,6 +81,8 @@ class EndpointRule(JMSModel): continue if not endpoint_rule.endpoint: continue + if endpoint_rule.endpoint.is_default(): + return endpoint_rule if not endpoint_rule.endpoint.host: continue if endpoint_rule.endpoint.get_port(protocol) == 0: