mirror of
https://github.com/OpenBankProject/API-Manager.git
synced 2026-02-06 13:06:45 +00:00
Fixed 500 on users page #29
This commit is contained in:
parent
919e70ddf3
commit
dc70e52d34
@ -40,25 +40,36 @@ class IndexView(LoginRequiredMixin, TemplateView):
|
||||
"""Index view for users"""
|
||||
template_name = "users/index.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(IndexView, self).get_context_data(**kwargs)
|
||||
role_names = []
|
||||
def get_users_rolenames(self):
|
||||
users = []
|
||||
try:
|
||||
urlpath = '/users'
|
||||
users = api.get(self.request, urlpath)
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
return [], []
|
||||
|
||||
role_names = []
|
||||
try:
|
||||
for user in users['users']:
|
||||
for entitlement in user['entitlements']['list']:
|
||||
role_names.append(entitlement['role_name'])
|
||||
role_names = list(set(role_names))
|
||||
role_names.sort()
|
||||
users = FilterRoleName(context, self.request.GET)\
|
||||
.apply(users['users'])
|
||||
users = FilterEmail(context, self.request.GET)\
|
||||
.apply(users)
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
# fail gracefully in case API provides new structure
|
||||
except KeyError as err:
|
||||
messages.error(self.request, 'KeyError: {}'.format(err))
|
||||
return [], []
|
||||
|
||||
role_names = list(set(role_names))
|
||||
role_names.sort()
|
||||
users = FilterRoleName(context, self.request.GET)\
|
||||
.apply(users['users'])
|
||||
users = FilterEmail(context, self.request.GET)\
|
||||
.apply(users)
|
||||
return users
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(IndexView, self).get_context_data(**kwargs)
|
||||
users, role_names = self.get_users_rolenames()
|
||||
context.update({
|
||||
'role_names': role_names,
|
||||
'statistics': {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user