bugfix/ username in Lock/unlock

This commit is contained in:
Reena-cell 2023-01-31 11:50:31 +01:00
parent 965a76c5ed
commit 5948163164
3 changed files with 31 additions and 39 deletions

View File

@ -66,7 +66,7 @@
<hr class="dropdown-hr">
<li {% if accounts_create_url in request.path %} class="active" {% endif %}><a href="{{ accounts_create_url }}">{% trans "Account Create" %}</a></li>
<li {% if accounts_list_url in request.path %} class="active" {% endif %}><a href="{{ accounts_list_url }}">{% trans "Account List" %}</a></li>
<li {% if customers_create_url in request.path %} class="active" {% endif %}><a href="{{ customers_create_url }}">{% trans "Customers" %}</a></li>
<li {% if customers_create_url in request.path %} class="active" {% endif %}><a href="{{ customers_create_url }}">{% trans "Customer Create" %}</a></li>
<li {% if customer_list_url in request.path %} class="active" {% endif %}><a href="{{ customer_list_url }}">{% trans "Customer List" %}</a></li>
<li {% if branches_list_url in request.path %} class="active" {% endif %}><a href="{{ branches_list_url }}">{% trans "Branches" %}</a></li>
<li {% if atms_create_url in request.path %} class="active" {% endif %}><a href="{{ atms_create_url }}">{% trans "ATM Create" %}</a></li>

View File

@ -38,14 +38,14 @@
<div class="col-xs-6 col-sm-3">
{% if form.from_date_custom.errors %}<div class="alert alert-danger">{{ form.from_date_custom.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "from_date_custom" %} </strong>
<strong>{% trans "From Date Custom" %} </strong>
{{ form.from_date_custom }}
</div>
</div>
<div class="col-xs-6 col-sm-3">
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
<div class="form-group">
<strong>{% trans "to_date" %} </strong>
<strong>{% trans "To Date Custom" %} </strong>
{{ form.to_date }}
</div>
</div>

View File

@ -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,16 +360,38 @@ class UserStatusUpdateView(LoginRequiredMixin, View):
api = API(self.request.session.get('obp'))
try:
if(request.POST.get("Delete")):
self._delete_user(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)
elif(request.POST.get("Lock")):
self._lock_user(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)
else:
self._lock_status_user(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)
except APIError as err:
messages.error(request, err)
except Exception as err:
messages.error(self.request, err)
except Exception as e:
messages.error(self.request, 'Unknown Error' + str(e))
# 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'))
@ -382,36 +404,6 @@ 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"""