diff --git a/gbpui/client.py b/gbpui/client.py index 835b13c..5ac1678 100644 --- a/gbpui/client.py +++ b/gbpui/client.py @@ -439,7 +439,7 @@ def update_externalconnectivity(request, external_connectivity_id, **kwargs): body = {'external_segment': kwargs} ec = gbpclient(request).update_external_segment( external_connectivity_id, body).get('external_segment') - return NetworkServicePolicy(ec) + return ExternalConnectivity(ec) def create_networkservice_policy(request, **kwargs): diff --git a/gbpui/panels/network_policy/views.py b/gbpui/panels/network_policy/views.py index b246e4e..d230f31 100644 --- a/gbpui/panels/network_policy/views.py +++ b/gbpui/panels/network_policy/views.py @@ -114,15 +114,15 @@ class L3PolicyDetailsView(tables.MultiTableView): return self.get(request, *args, **kwargs) def get_l2policy_table_data(self): - policies = [] + l2_policies = [] try: - policies = client.l2policy_list(self.request, - tenant_id=self.request.user.tenant_id) + condition = {'l3_policy_id': self.kwargs['l3policy_id']} + l2_policies = client.l2policy_list(self.request, + tenant_id=self.request.user.tenant_id, **condition) except Exception: - policies = [] - exceptions.handle(self.tab_group.request, + exceptions.handle(self.request, _('Unable to retrieve l2 policy list.')) - return policies + return l2_policies def get_context_data(self, **kwargs): context = super(L3PolicyDetailsView, self).get_context_data(**kwargs) diff --git a/gbpui/panels/policytargets/tabs.py b/gbpui/panels/policytargets/tabs.py index 4f81292..69efec4 100644 --- a/gbpui/panels/policytargets/tabs.py +++ b/gbpui/panels/policytargets/tabs.py @@ -86,22 +86,24 @@ class PTGDetailsTab(tabs.Tab): def get_context_data(self, request): policy_targetid = self.tab_group.kwargs['policy_target_id'] + nsp = '' try: policy_target = client.policy_target_get(request, policy_targetid) - l3list = client.l3policy_list(request, - tenant_id=request.user.tenant_id) - l2list = client.l2policy_list(request, - tenant_id=request.user.tenant_id) - l2list = [ - item for item in l2list - if item.id == policy_target.l2_policy_id] + l2_policy = client.l2policy_get(request, + policy_target["l2_policy_id"]) + l3_policy = client.l3policy_get(request, + l2_policy["l3_policy_id"]) + if policy_target['network_service_policy_id']: + nsp_id = policy_target['network_service_policy_id'] + nsp = client.get_networkservice_policy(request, nsp_id) except Exception: exceptions.handle( request, _('Unable to retrieve group details.'), redirect=self.failure_url) return {'policy_target': policy_target, - 'l3list': l3list, - 'l2list': l2list} + 'l3_policy': l3_policy, + 'l2_policy': l2_policy, + 'nsp': nsp} class PTGDetailsTabs(tabs.TabGroup): diff --git a/gbpui/panels/policytargets/templates/policytargets/_policy_target_details.html b/gbpui/panels/policytargets/templates/policytargets/_policy_target_details.html index 7adda46..f38d132 100644 --- a/gbpui/panels/policytargets/templates/policytargets/_policy_target_details.html +++ b/gbpui/panels/policytargets/templates/policytargets/_policy_target_details.html @@ -15,28 +15,32 @@
{% trans "Project ID" %}
{{ policy_target.tenant_id }}
+ +
{% trans "Network Service Policy" %}
+
{% if nsp %} + {{nsp.name}} + {% else %} + {{ _("-") }} + {% endif %} +
- {% if l3list %} + {% if l3_policy %}
{% trans "L3 Policies" %}
{% endif %} - {% if l2list %} + + {% if l2_policy %}
{% trans "L2 Policies" %}