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
This commit is contained in:
Cédric Savignan
2017年07月11日 17:06:20 +02:00
parent 53e8451b9e
commit 4da0842a97

View File

@@ -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)

View File

@@ -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
Reference in New Issue
openstack/networking-bgpvpn
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.

The note is not visible to the blocked user.