mirror of
https://github.com/OpenBankProject/API-Manager.git
synced 2026-02-06 14:56:47 +00:00
Merge pull request #160 from hongwei1/master
feature/added the unlock user button
This commit is contained in:
commit
ddf4af5a3f
@ -55,7 +55,7 @@ class API(object):
|
||||
if payload:
|
||||
response = session.request(method, url, json=payload, verify=settings.VERIFY)
|
||||
else:
|
||||
response = session.request(method, url, verify=settings.VERIFY)
|
||||
response = session.request(method, url, json={}, verify=settings.VERIFY)
|
||||
except ConnectionError as err:
|
||||
raise APIError(err)
|
||||
time_end = time.time()
|
||||
|
||||
@ -27,26 +27,31 @@
|
||||
<span>{{ apiuser.provider_id }}</span>
|
||||
</div>
|
||||
|
||||
|
||||
{% if apiuser.is_deleted %}
|
||||
<div id="users-detail-deleted">
|
||||
<strong>Deleted</strong><br />
|
||||
<span>{{ apiuser.is_deleted }}</span>
|
||||
</div>
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
<form action="{% url 'users-delete-user' apiuser.user_id %}" method="post">
|
||||
<div id="users-detail-locked">
|
||||
<strong>Locked</strong><br />
|
||||
<span>{{ apiuser.is_locked }}</span>
|
||||
</div>
|
||||
|
||||
<form action="{% url 'user-status-update' apiuser.user_id apiuser.username %}" method="post">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="next" value="{{ request.path }}" />
|
||||
<input type="hidden" name="role_name" value="{{ entitlement.role_name }}" />
|
||||
{% if apiuser.is_deleted %}
|
||||
|
||||
{% else %}
|
||||
<button type="submit" class="btn btn-primary btn-red" >Delete User</button>
|
||||
<button type="submit" class="btn btn-primary btn-red" value ="Delete" name ="Delete">Delete User</button>
|
||||
{% endif %}
|
||||
|
||||
{% if apiuser.is_locked %}
|
||||
<button type="submit" class="btn btn-primary btn-green" value ="Unlock" name ="Unlock">Unlock User</button>
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
@ -5,7 +5,7 @@ URLs for users app
|
||||
|
||||
from django.conf.urls import url
|
||||
|
||||
from .views import IndexView, DetailView, MyDetailView, DeleteEntitlementView, InvitationView, DeleteUserView, \
|
||||
from .views import IndexView, DetailView, MyDetailView, DeleteEntitlementView, InvitationView, UserStatusUpdateView, \
|
||||
ExportCsvView
|
||||
|
||||
urlpatterns = [
|
||||
@ -24,9 +24,9 @@ urlpatterns = [
|
||||
url(r'^(?P<user_id>[\w-]+)/entitlement/delete/(?P<entitlement_id>[\w-]+)$',
|
||||
DeleteEntitlementView.as_view(),
|
||||
name='users-delete-entitlement'),
|
||||
url(r'^(?P<user_id>[\w-]+)/delete$',
|
||||
DeleteUserView.as_view(),
|
||||
name='users-delete-user'),
|
||||
url(r'^(?P<user_id>[\w-]+)/userStatusUpdateView/(?P<username>[\w\@\.\+-]+)$',
|
||||
UserStatusUpdateView.as_view(),
|
||||
name='user-status-update'),
|
||||
url(r'^export_csv$',
|
||||
ExportCsvView.as_view(),
|
||||
name='export-csv')
|
||||
|
||||
@ -352,21 +352,29 @@ class DeleteEntitlementView(LoginRequiredMixin, View):
|
||||
return HttpResponseRedirect(redirect_url)
|
||||
|
||||
|
||||
class DeleteUserView(LoginRequiredMixin, View):
|
||||
class UserStatusUpdateView(LoginRequiredMixin, View):
|
||||
"""View to delete a user"""
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
"""Deletes a user via API"""
|
||||
api = API(self.request.session.get('obp'))
|
||||
try:
|
||||
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'])
|
||||
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)
|
||||
else:
|
||||
msg = 'User with ID {} has been deleted.'.format(kwargs['user_id'])
|
||||
messages.success(request, msg)
|
||||
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:
|
||||
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:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user