Fixed cognitive complexity issues reported by SonarQube.

This commit is contained in:
Rahul Shirsat 2020-07-10 11:44:33 +05:30 committed by Akshay Joshi
parent 7420673a0f
commit e8b81db977
2 changed files with 80 additions and 61 deletions

View File

@ -295,13 +295,14 @@ class ServerNode(PGChildNodeView):
required_ssl_fields_server_mode = ['sslcert', 'sslkey']
for field in ssl_fields:
if field not in data:
if field in data:
continue
elif config.SERVER_MODE and \
field in required_ssl_fields_server_mode:
# In Server mode,
# we will set dummy SSL certificate file path which will
# prevent using default SSL certificates from web servers
if config.SERVER_MODE and \
field in required_ssl_fields_server_mode:
# Set file manager directory from preference
import os
file_extn = '.key' if field.endswith('key') else '.crt'
@ -534,28 +535,10 @@ class ServerNode(PGChildNodeView):
conn = manager.connection()
connected = conn.connected()
if connected:
for arg in (
'hostaddr', 'db', 'sslmode',
'role', 'service'
):
if arg in data:
return forbidden(
errmsg=gettext(
"'{0}' is not allowed to modify, "
"when server is connected."
).format(disp_lbl[arg])
)
self._server_modify_disallowed_when_connected(
connected, data, disp_lbl)
for arg in config_param_map:
if arg in data:
value = data[arg]
# sqlite3 do not have boolean type so we need to convert
# it manually to integer
if arg == 'sslcompression':
value = 1 if value else 0
setattr(server, config_param_map[arg], value)
idx += 1
idx = self._set_valid_attr_value(data, config_param_map, server)
if idx == 0:
return make_json_response(
@ -591,6 +574,37 @@ class ServerNode(PGChildNodeView):
)
)
def _set_valid_attr_value(self, data, config_param_map, server):
idx = 0
for arg in config_param_map:
if arg in data:
value = data[arg]
# sqlite3 do not have boolean type so we need to convert
# it manually to integer
if arg == 'sslcompression':
value = 1 if value else 0
setattr(server, config_param_map[arg], value)
idx += 1
return idx
def _server_modify_disallowed_when_connected(
self, connected, data, disp_lbl):
if connected:
for arg in (
'hostaddr', 'db', 'sslmode',
'role', 'service'
):
if arg in data:
return forbidden(
errmsg=gettext(
"'{0}' is not allowed to modify, "
"when server is connected."
).format(disp_lbl[arg])
)
@login_required
def list(self, gid):
"""

View File

@ -623,6 +623,11 @@ class EventTriggerView(PGChildNodeView):
data=data, o_data=old_data
)
else:
sql = self._get_create_with_grant_sql(data)
return sql
def _get_create_with_grant_sql(self, data):
required_args = {
'name': 'Name',
'eventowner': 'Owner',