From 4da0842a970cc71ca7affdd452d88ae308f4d356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Savignan?= Date: 2017年7月11日 17:06:20 +0200 Subject: [PATCH] dashboard: clean code in forms.py Patch 476532 has removed some lines but everything was not removed. It's useless now to get the bgpvpn_id and the tenant_id. These data was useful only when we were (uselessly) checking if the name of BGPVPN was already used by an other BGPBPN. Change-Id: I587077744968ab08b0b5b359a4ec8efa51963c34 --- .../dashboards/project/bgpvpn/forms.py | 26 ++++--------------- bgpvpn_dashboard/test/project/test_forms.py | 11 -------- 2 files changed, 5 insertions(+), 32 deletions(-) diff --git a/bgpvpn_dashboard/dashboards/project/bgpvpn/forms.py b/bgpvpn_dashboard/dashboards/project/bgpvpn/forms.py index 3afcd797..6fcc0d66 100755 --- a/bgpvpn_dashboard/dashboards/project/bgpvpn/forms.py +++ b/bgpvpn_dashboard/dashboards/project/bgpvpn/forms.py @@ -18,6 +18,7 @@ import logging from django.core.urlresolvers import reverse_lazy from django.utils.translation import ugettext_lazy as _ + from horizon import exceptions from horizon import forms from horizon import messages @@ -44,27 +45,6 @@ class CommonData(forms.SelfHandlingForm): self.fields = collections.OrderedDict( (k, self.fields[k]) for k in self.fields_order) - def clean(self): - cleaned_data = super(CommonData, self).clean() - name = cleaned_data.get('name') - try: - if self.request.user.is_superuser: - # if an admin user use the bgpvpn panel project - # tenant_id field doesn't exist - if not cleaned_data.get('tenant_id'): - tenant_id = self.request.user.tenant_id - else: - tenant_id = cleaned_data.get('tenant_id') - bgpvpn_api.bgpvpns_list( - self.request, name=name, tenant_id=tenant_id) - else: - bgpvpn_api.bgpvpns_list(self.request, name=name) - except Exception: - msg = _('Unable to get BGPVPN with name %s') % name - exceptions.check_message(["Connection", "refused"], msg) - raise - return cleaned_data - @staticmethod def _del_attributes(attributes, data): for attribute in attributes: @@ -78,8 +58,12 @@ class CommonData(forms.SelfHandlingForm): params.update(data) try: if self.action == 'update': + # attribute tenant_id is required in request when admin user is + # logged and bgpvpn form from admin menu is used if request.user.is_superuser and data.get('tenant_id'): attributes = ('bgpvpn_id', 'type', 'tenant_id') + # attribute tenant_id does not exist in request + # when non-admin user is logged else: attributes = ('bgpvpn_id', 'type') self._del_attributes(attributes, params) diff --git a/bgpvpn_dashboard/test/project/test_forms.py b/bgpvpn_dashboard/test/project/test_forms.py index 4deb48f3..b955f1b0 100644 --- a/bgpvpn_dashboard/test/project/test_forms.py +++ b/bgpvpn_dashboard/test/project/test_forms.py @@ -29,17 +29,6 @@ class TestEditDataBgpVpn(helpers.APITestCase): self.bgpvpn_form = bgpvpn_form.EditDataBgpVpn(self.mock_request) self.bgpvpn_form.action = "update" - @mock.patch.object(bgpvpn_form, 'bgpvpn_api') - def test_clean(self, mock_bgpvpn_api): - expected_result = {"bgpvpn_id": "foo-id", - "name": "foo-updated"} - list_bgpvpns = [bgpvpn_api.Bgpvpn({"id": "foo-id", "name": "foo"})] - mock_bgpvpn_api.bgpvpns_list.return_value = list_bgpvpns - self.bgpvpn_form.cleaned_data = expected_result - result = self.bgpvpn_form.clean() - - self.assertEqual(expected_result, result) - @mock.patch.object(bgpvpn_form, 'bgpvpn_api') def test_handle(self, mock_bgpvpn_api): self.bgpvpn_form.request.user.is_superuser = False

AltStyle によって変換されたページ (->オリジナル) /