mirror of
https://github.com/OpenBankProject/API-Manager.git
synced 2026-02-06 18:36:51 +00:00
Add User role list in USer
This commit is contained in:
parent
b2610abf44
commit
c13e173bb9
@ -47,6 +47,19 @@ def get_api_versions(request):
|
||||
messages.error(self.request, err)
|
||||
return []
|
||||
|
||||
def get_role_list(request):
|
||||
api = API(request.session.get('obp'))
|
||||
try:
|
||||
urlpath = '/roles'
|
||||
result = api.get(urlpath)
|
||||
if 'roles' in result:
|
||||
return [role['role'] for role in sorted(result['roles'], key=lambda d: d['role'])]
|
||||
else:
|
||||
return []
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
return []
|
||||
|
||||
class HomeView(TemplateView):
|
||||
"""View for home page"""
|
||||
template_name = "home.html"
|
||||
|
||||
@ -176,6 +176,13 @@ class API(object):
|
||||
choices.append((version['API_VERSION'], version['API_VERSION']))
|
||||
return choices
|
||||
|
||||
def get_user_role_choices(self):
|
||||
"""Gets a list of APIs roles and APIs roles as used by form choices"""
|
||||
choices = [('', _('Choose ...'))]
|
||||
result = self.get('/roles')
|
||||
for role in sorted(result['roles'], key=lambda d: d['role']) :
|
||||
choices.append((role['role'], role['role']))
|
||||
return choices
|
||||
|
||||
def get_user_id_choices(self):
|
||||
"""Gets a list of user ids and usernames as used by form choices"""
|
||||
|
||||
@ -11,14 +11,15 @@ class AddEntitlementForm(forms.Form):
|
||||
widget=forms.HiddenInput(),
|
||||
required=True,
|
||||
)
|
||||
role_name = forms.CharField(
|
||||
role_name = forms.ChoiceField(
|
||||
label=_('Role name'),
|
||||
widget=forms.TextInput(
|
||||
widget=forms.Select(
|
||||
attrs={
|
||||
'class': 'form-control',
|
||||
}
|
||||
),
|
||||
required=True,
|
||||
choices=[],
|
||||
required=False,
|
||||
)
|
||||
bank_id = forms.ChoiceField(
|
||||
label=_('Bank'),
|
||||
|
||||
@ -64,13 +64,13 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-4">
|
||||
<div class="form-group">
|
||||
<strong>{% trans "Role name" %}</strong>
|
||||
<strong>{% trans "Role Name" %}</strong>
|
||||
{{ form.role_name }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-8">
|
||||
<div class="form-group">
|
||||
<strong>{% trans "bank id" %}</strong>
|
||||
<strong>{% trans "Bank Id" %}</strong>
|
||||
{{ form.bank_id }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -12,6 +12,7 @@ from django.views.generic import FormView, TemplateView, View
|
||||
from base.filters import BaseFilter
|
||||
from obp.api import API, APIError
|
||||
from .forms import AddEntitlementForm,CreateInvitationForm
|
||||
from base.views import get_role_list
|
||||
import csv
|
||||
|
||||
class FilterRoleName(BaseFilter):
|
||||
@ -204,6 +205,7 @@ class MyDetailView(LoginRequiredMixin, FormView):
|
||||
form = super(MyDetailView, self).get_form(*args, **kwargs)
|
||||
try:
|
||||
form.fields['bank_id'].choices = self.api.get_bank_id_choices()
|
||||
form.fields['role_name'].choices = self.api.get_user_role_choices()
|
||||
except APIError as err:
|
||||
messages.error(self.request, err)
|
||||
except Exception as err:
|
||||
@ -250,6 +252,7 @@ class MyDetailView(LoginRequiredMixin, FormView):
|
||||
messages.error(self.request, err)
|
||||
context.update({
|
||||
'apiuser': user, # 'user' is logged-in user in template context
|
||||
'role': get_role_list(self.request)
|
||||
})
|
||||
return context
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user