diff --git a/apimanager/apimanager/settings.py b/apimanager/apimanager/settings.py
index 3c648ec..e8a025b 100644
--- a/apimanager/apimanager/settings.py
+++ b/apimanager/apimanager/settings.py
@@ -48,6 +48,7 @@ INSTALLED_APPS = [
'obp',
'consumers',
'users',
+ 'entitlementrequests',
'customers',
'metrics',
'config',
diff --git a/apimanager/apimanager/urls.py b/apimanager/apimanager/urls.py
index 128369a..ea199bf 100644
--- a/apimanager/apimanager/urls.py
+++ b/apimanager/apimanager/urls.py
@@ -29,6 +29,7 @@ urlpatterns = [
url(r'^logout$',
LogoutView.as_view(), name='oauth-logout'),
url(r'^consumers/', include('consumers.urls')),
+ url(r'^entitlementrequests/', include('entitlementrequests.urls')),
url(r'^users/', include('users.urls')),
url(r'^customers/', include('customers.urls')),
url(r'^metrics/', include('metrics.urls')),
diff --git a/apimanager/base/templates/base.html b/apimanager/base/templates/base.html
index 4a62e4d..6db17fc 100644
--- a/apimanager/base/templates/base.html
+++ b/apimanager/base/templates/base.html
@@ -29,6 +29,8 @@
{% url "consumers-index" as consumers_index_url %}
- Consumers
+ {% url "entitlementrequests-index" as entitlementrequests_index_url %}
+ - Entitlement Requests
{% url "users-index" as users_index_url %}
{% url 'my-user-detail' API_USER_ID as url_users_detail %}
-
diff --git a/apimanager/entitlementrequests/__init__.py b/apimanager/entitlementrequests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/apimanager/entitlementrequests/apps.py b/apimanager/entitlementrequests/apps.py
new file mode 100644
index 0000000..b47ce82
--- /dev/null
+++ b/apimanager/entitlementrequests/apps.py
@@ -0,0 +1,11 @@
+# -*- coding: utf-8 -*-
+"""
+App config for consumers app
+"""
+
+from django.apps import AppConfig
+
+
+class AppsConfig(AppConfig):
+ """Config for entitlement requests"""
+ name = 'entitlementrequests'
diff --git a/apimanager/entitlementrequests/static/entitlementrequests/css/entitlementrequests.css b/apimanager/entitlementrequests/static/entitlementrequests/css/entitlementrequests.css
new file mode 100644
index 0000000..b994c07
--- /dev/null
+++ b/apimanager/entitlementrequests/static/entitlementrequests/css/entitlementrequests.css
@@ -0,0 +1,20 @@
+.entitlementrequests #entitlementrequests-list {
+ margin-top: 20px;
+}
+
+#entitlementrequests .btn-group-vertical.filter-enabled,
+#entitlementrequests .btn-group-vertical.filter-apptype {
+ margin-top: 10px;
+}
+
+#entitlementrequests-detail div {
+ margin: 5px 0;
+}
+
+#entitlementrequests .filter a {
+ font-size: 12px;
+}
+
+#entitlementrequests .actions .btn {
+ margin-bottom: 2px;
+}
diff --git a/apimanager/entitlementrequests/static/entitlementrequests/js/entitlementrequests.js b/apimanager/entitlementrequests/static/entitlementrequests/js/entitlementrequests.js
new file mode 100644
index 0000000..7295dbd
--- /dev/null
+++ b/apimanager/entitlementrequests/static/entitlementrequests/js/entitlementrequests.js
@@ -0,0 +1,2 @@
+$(document).ready(function($) {
+});
\ No newline at end of file
diff --git a/apimanager/entitlementrequests/templates/entitlementrequests/index.html b/apimanager/entitlementrequests/templates/entitlementrequests/index.html
new file mode 100644
index 0000000..46d6524
--- /dev/null
+++ b/apimanager/entitlementrequests/templates/entitlementrequests/index.html
@@ -0,0 +1,51 @@
+{% extends 'base.html' %}
+{% load humanize static %}
+
+{% block page_title %}{{ block.super }} / Entitlement Requests {% endblock page_title %}
+
+{% block content %}
+
+
Entitlement Requests
+
+
+
+
+ | Entitlement Request ID |
+ Role Name |
+ User ID |
+ Bank ID |
+
+
+
+ {% for entitlementrequest in entitlementrequests %}
+
+ | {{ entitlementrequest.entitlement_request_id }} |
+ {{ entitlementrequest.role_name }} |
+ {{ entitlementrequest.user_id }} |
+ {{ entitlementrequest.bank_id }} |
+
+ {% endfor %}
+
+
+
+
+
+
+
+{% endblock content %}
+
+
+
+{% block extrajs %}
+{% comment %}
+
+
+{% endcomment %}
+
+{% endblock extrajs %}
+
+
+{% block extracss %}
+
+{% endblock extracss %}
diff --git a/apimanager/entitlementrequests/urls.py b/apimanager/entitlementrequests/urls.py
new file mode 100644
index 0000000..fbce513
--- /dev/null
+++ b/apimanager/entitlementrequests/urls.py
@@ -0,0 +1,14 @@
+# -*- coding: utf-8 -*-
+"""
+URLs for entitlement requests app
+"""
+
+from django.conf.urls import url
+
+from .views import IndexView
+
+urlpatterns = [
+ url(r'^$',
+ IndexView.as_view(),
+ name='entitlementrequests-index'),
+]
diff --git a/apimanager/entitlementrequests/views.py b/apimanager/entitlementrequests/views.py
new file mode 100644
index 0000000..eefe161
--- /dev/null
+++ b/apimanager/entitlementrequests/views.py
@@ -0,0 +1,30 @@
+# -*- coding: utf-8 -*-
+"""
+Views of entitlement requests app
+"""
+
+from django.contrib import messages
+from django.contrib.auth.mixins import LoginRequiredMixin
+from django.views.generic import TemplateView, RedirectView
+from obp.api import API, APIError
+
+
+class IndexView(LoginRequiredMixin, TemplateView):
+ """Index view for entitlement requests"""
+ template_name = "entitlementrequests/index.html"
+
+ def get_context_data(self, **kwargs):
+ context = super(IndexView, self).get_context_data(**kwargs)
+ entitlement_requests = []
+ api = API(self.request.session.get('obp'))
+ try:
+ urlpath = '/entitlement-requests'
+ entitlement_requests = api.get(urlpath)
+ except APIError as err:
+ messages.error(self.request, err)
+
+ sorted_entitlement_requests = entitlement_requests['entitlement_requests']
+ context.update({
+ 'entitlementrequests': sorted_entitlement_requests,
+ })
+ return context