mirror of
https://github.com/OpenBankProject/API-Manager.git
synced 2026-02-06 17:16:49 +00:00
bugfix/ username in Lock/unlock
This commit is contained in:
parent
eb7c34ee17
commit
965a76c5ed
@ -248,7 +248,7 @@ class MyDetailView(LoginRequiredMixin, FormView):
|
||||
messages.error(self.request, err)
|
||||
except Exception as err:
|
||||
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
|
||||
})
|
||||
@ -360,38 +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)
|
||||
#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'))
|
||||
@ -404,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"""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user