mirror of
https://github.com/OpenBankProject/API-Manager.git
synced 2026-02-06 13:06:45 +00:00
FIX: sonarcloud fix products, users, webui
This commit is contained in:
parent
82dc76559f
commit
a508f0ea33
@ -5,7 +5,7 @@ URLs for metrics app
|
||||
|
||||
from django.conf.urls import url
|
||||
|
||||
from .views import IndexProductView, UpdateProductView, createList
|
||||
from .views import IndexProductView, UpdateProductView, create_list
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^create',
|
||||
@ -15,6 +15,6 @@ urlpatterns = [
|
||||
UpdateProductView.as_view(),
|
||||
name='products_update'),
|
||||
url(r'^createProductList',
|
||||
createList,
|
||||
create_list,
|
||||
name = 'create-product-list'),
|
||||
]
|
||||
|
||||
@ -36,8 +36,8 @@ class IndexProductView(LoginRequiredMixin, FormView):
|
||||
fields['bank_id'].choices = self.api.get_bank_id_choices()
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except:
|
||||
messages.error(self.request, "Unknown Error")
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
return form
|
||||
|
||||
def form_valid(self, form):
|
||||
@ -91,8 +91,8 @@ class UpdateProductView(LoginRequiredMixin, FormView):
|
||||
fields['bank_id'].choices = self.api.get_bank_id_choices()
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except:
|
||||
messages.error(self.request, "Unknown Error")
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
try:
|
||||
result = self.api.get(urlpath)
|
||||
fields['parent_product_code'].initial = self.kwargs['parent_product_code']
|
||||
@ -155,7 +155,7 @@ class UpdateProductView(LoginRequiredMixin, FormView):
|
||||
|
||||
@exception_handle
|
||||
@csrf_exempt
|
||||
def createList(request):
|
||||
def create_list(request):
|
||||
print(request.POST, "createProductList listt")
|
||||
return HttpResponse("<h1>View 1</h1>")
|
||||
|
||||
|
||||
@ -100,14 +100,15 @@ class IndexView(LoginRequiredMixin, TemplateView):
|
||||
users = response
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except:
|
||||
messages.error(self.request, 'Unknown Error')
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
|
||||
role_names = self.get_users_rolenames(context)
|
||||
try:
|
||||
users = FilterRoleName(context, self.request.GET) \
|
||||
.apply([users] if username else users['users'])
|
||||
except:
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
users = []
|
||||
context.update({
|
||||
'role_names': role_names,
|
||||
@ -137,8 +138,8 @@ class DetailView(LoginRequiredMixin, FormView):
|
||||
form.fields['bank_id'].choices = self.api.get_bank_id_choices()
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except:
|
||||
messages.error(self.request, 'Unknown Error')
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
return form
|
||||
|
||||
def form_valid(self, form):
|
||||
@ -154,8 +155,8 @@ class DetailView(LoginRequiredMixin, FormView):
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
return super(DetailView, self).form_invalid(form)
|
||||
except:
|
||||
messages.error(self.request, 'Unknown Error')
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
return super(DetailView, self).form_invalid(form)
|
||||
if 'code' in entitlement and entitlement['code']>=400:
|
||||
messages.error(self.request, entitlement['message'])
|
||||
@ -181,8 +182,8 @@ class DetailView(LoginRequiredMixin, FormView):
|
||||
context['form'].fields['user_id'].initial = user['user_id']
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except:
|
||||
messages.error(self.request, 'Unknown Error')
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
|
||||
context.update({
|
||||
'apiuser': user, # 'user' is logged-in user in template context
|
||||
@ -205,8 +206,8 @@ class MyDetailView(LoginRequiredMixin, FormView):
|
||||
form.fields['bank_id'].choices = self.api.get_bank_id_choices()
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except:
|
||||
messages.error(self.request, 'Unknown Error')
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
return form
|
||||
|
||||
def form_valid(self, form):
|
||||
@ -229,7 +230,7 @@ class MyDetailView(LoginRequiredMixin, FormView):
|
||||
messages.error(self.request, err)
|
||||
return super(MyDetailView, self).form_invalid(form)
|
||||
except Exception as err:
|
||||
messages.error(self.request, 'Unknown Error. {}'.format(err))
|
||||
messages.error(self.request, err)
|
||||
return super(MyDetailView, self).form_invalid(form)
|
||||
else:
|
||||
return super(MyDetailView, self).form_valid(form)
|
||||
@ -246,9 +247,7 @@ class MyDetailView(LoginRequiredMixin, FormView):
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except Exception as err:
|
||||
messages.error(self.request, 'Unknown Error')
|
||||
#print(user,"This is ")
|
||||
#entitlements=user["entitlements"]["list"]
|
||||
messages.error(self.request, err)
|
||||
user["entitlements"]["list"] = sorted(user["entitlements"]["list"], key=lambda d: d['role_name'])
|
||||
context.update({
|
||||
'apiuser': user, # 'user' is logged-in user in template context
|
||||
@ -274,8 +273,8 @@ class InvitationView(LoginRequiredMixin, FormView):
|
||||
fields['bank_id'].choices = self.api.get_bank_id_choices()
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except:
|
||||
messages.error(self.request, "Unknown Error")
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
return form
|
||||
|
||||
def form_valid(self, form, **kwargs):
|
||||
@ -306,7 +305,7 @@ class InvitationView(LoginRequiredMixin, FormView):
|
||||
messages.error(self.request, err)
|
||||
return super(InvitationView, self).form_invalid(form)
|
||||
except Exception as err:
|
||||
messages.error(self.request, "Unknown Error:{}".format(str(err)))
|
||||
messages.error(self.request, err)
|
||||
return super(InvitationView, self).form_invalid(form)
|
||||
|
||||
def get_invitations(self, context, get_url_path, invitations):
|
||||
@ -338,8 +337,8 @@ class DeleteEntitlementView(LoginRequiredMixin, View):
|
||||
messages.success(request, msg)
|
||||
except APIError as err:
|
||||
messages.error(request, err)
|
||||
except:
|
||||
messages.error(self.request, 'Unknown Error')
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
|
||||
# from sonarcloud: Change this code to not perform redirects based on user-controlled data.
|
||||
redirect_url_from_gui = request.POST.get('next', reverse('users-index'))
|
||||
@ -361,39 +360,16 @@ class UserStatusUpdateView(LoginRequiredMixin, View):
|
||||
api = API(self.request.session.get('obp'))
|
||||
try:
|
||||
if(request.POST.get("Delete")):
|
||||
urlpath = '/users/{}'.format(kwargs['user_id'])
|
||||
result = api.delete(urlpath)
|
||||
if result is not None and 'code' in result and result['code'] >= 400:
|
||||
messages.error(request, result['message'])
|
||||
else:
|
||||
msg = 'User with ID {} has been deleted.'.format(kwargs['user_id'])
|
||||
messages.success(request, msg)
|
||||
self._delete_user(api, request, args, kwargs)
|
||||
elif(request.POST.get("Lock")):
|
||||
urlpath = '/users/{}/locks'.format(kwargs['username'])
|
||||
result = api.post(urlpath, None)
|
||||
if result is not None and 'code' in result and result['code'] >= 400:
|
||||
messages.error(request, result['message'])
|
||||
else:
|
||||
msg = 'User {} has been lock.'.format(kwargs['username'])
|
||||
messages.success(request, msg)
|
||||
self._lock_user(api, request, args, kwargs)
|
||||
else:
|
||||
urlpath = '/users/{}/lock-status'.format(kwargs['username'])
|
||||
result = api.put(urlpath, None)
|
||||
print("result", result)
|
||||
#if result is not None and 'code' in result and result['code'] >= 400:
|
||||
if 'code' in result and result['code'] == 404:
|
||||
msg = 'User {} has been unlocked.'.format(kwargs['username'])
|
||||
messages.success(request, msg)
|
||||
else:
|
||||
messages.error(request, result['message'])
|
||||
#else:
|
||||
# msg = 'User {} has been unlocked.'.format(kwargs['username'])
|
||||
# messages.success(request, msg)
|
||||
self._lock_status_user(api, request, args, kwargs)
|
||||
|
||||
except APIError as err:
|
||||
messages.error(request, err)
|
||||
except Exception as e:
|
||||
messages.error(self.request, 'Unknown Error' + str(e))
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
|
||||
# from sonarcloud: Change this code to not perform redirects based on user-controlled data.
|
||||
redirect_url_from_gui = request.POST.get('next', reverse('users-index'))
|
||||
@ -406,6 +382,36 @@ class UserStatusUpdateView(LoginRequiredMixin, View):
|
||||
|
||||
return HttpResponseRedirect(redirect_url)
|
||||
|
||||
def _delete_user(self, api, request, *args, **kwargs):
|
||||
urlpath = '/users/{}'.format(kwargs['user_id'])
|
||||
result = api.delete(urlpath)
|
||||
if result is not None and 'code' in result and result['code'] >= 400:
|
||||
messages.error(request, result['message'])
|
||||
else:
|
||||
msg = 'User with ID {} has been deleted.'.format(kwargs['user_id'])
|
||||
messages.success(request, msg)
|
||||
|
||||
def _lock_user(self, api, request, *args, **kwargs):
|
||||
urlpath = '/users/{}/locks'.format(kwargs['username'])
|
||||
result = api.post(urlpath, None)
|
||||
if result is not None and 'code' in result and result['code'] >= 400:
|
||||
messages.error(request, result['message'])
|
||||
else:
|
||||
msg = 'User {} has been lock.'.format(kwargs['username'])
|
||||
messages.success(request, msg)
|
||||
|
||||
def _lock_status_user(self, api, request, *args, **kwargs):
|
||||
urlpath = '/users/{}/lock-status'.format(kwargs['username'])
|
||||
result = api.put(urlpath, None)
|
||||
#if result is not None and 'code' in result and result['code'] >= 400:
|
||||
if 'code' in result and result['code'] == 404:
|
||||
msg = 'User {} has been unlocked.'.format(kwargs['username'])
|
||||
messages.success(request, msg)
|
||||
else:
|
||||
messages.error(request, result['message'])
|
||||
#else:
|
||||
# msg = 'User {} has been unlocked.'.format(kwargs['username'])
|
||||
# messages.success(request, msg)
|
||||
|
||||
class ExportCsvView(LoginRequiredMixin, View):
|
||||
"""View to export the user to csv"""
|
||||
@ -433,8 +439,8 @@ class ExportCsvView(LoginRequiredMixin, View):
|
||||
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except:
|
||||
messages.error(self.request, 'Unknown Error')
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
response = HttpResponse(content_type = 'text/csv')
|
||||
response['Content-Disposition'] = 'attachment;filename= Users'+ str(datetime.datetime.now())+'.csv'
|
||||
writer = csv.writer(response)
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
$(document).ready(function($) {
|
||||
$('.runner button.forSave').click(function(e) {
|
||||
e.preventDefault();
|
||||
var t = $(this);
|
||||
var runner = t.parent().parent().parent();
|
||||
var web_ui_props_name = $(runner).find('.web_ui_props_name').text();
|
||||
var web_ui_props_value = $(runner).find('.web_ui_props_value').val();
|
||||
const t = $(this);
|
||||
const runner = t.parent().parent().parent();
|
||||
const web_ui_props_name = $(runner).find('.web_ui_props_name').text();
|
||||
const web_ui_props_value = $(runner).find('.web_ui_props_value').val();
|
||||
$('.runner button.forSave').attr("disabled", "disabled");
|
||||
$('.runner button.forDelete').attr("disabled", "disabled");
|
||||
$.post('save/method', {
|
||||
@ -17,13 +17,10 @@ $(document).ready(function($) {
|
||||
|
||||
$('.runner button.forDelete').click(function(e) {
|
||||
e.preventDefault();
|
||||
var t = $(this);
|
||||
var runner = t.parent().parent().parent();
|
||||
var web_ui_props_name = $(runner).find('.web_ui_props_name').text();
|
||||
var textArea = runner.find('.web_ui_props_value');
|
||||
var props_id = $(runner).find('.web_ui_props_id');
|
||||
var web_ui_props_id = props_id.val();
|
||||
var webui = $('#webui');
|
||||
const t = $(this);
|
||||
const runner = t.parent().parent().parent();
|
||||
const props_id = $(runner).find('.web_ui_props_id');
|
||||
const web_ui_props_id = props_id.val();
|
||||
$('.runner button.forSave').attr("disabled", "disabled");
|
||||
$('.runner button.forDelete').attr("disabled", "disabled");
|
||||
$.post('delete/method', {
|
||||
@ -32,4 +29,4 @@ $(document).ready(function($) {
|
||||
location.reload();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -38,8 +38,8 @@ class IndexView(LoginRequiredMixin, FormView):
|
||||
context.update(response)
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except BaseException as err:
|
||||
messages.error(self.request, (Exception("Unknown Error. Details:" + str(err))))
|
||||
except Exception as err:
|
||||
messages.error(self.request, err)
|
||||
return context
|
||||
|
||||
def get_form(self, *args, **kwargs):
|
||||
@ -65,7 +65,6 @@ def webui_save(request):
|
||||
@csrf_exempt
|
||||
def webui_delete(request):
|
||||
web_ui_props_id = request.POST.get('web_ui_props_id')
|
||||
web_ui_props_name = request.POST.get('web_ui_props_name')
|
||||
if web_ui_props_id == 'default' or web_ui_props_id == '' or web_ui_props_id is None:
|
||||
return {'code':403,'message':'Cann\'t delete web_ui_props_id default'}
|
||||
else:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user