diff --git a/apimanager/consumers/static/consumers/css/consumers.css b/apimanager/consumers/static/consumers/css/consumers.css
index 037b660..27bb21c 100644
--- a/apimanager/consumers/static/consumers/css/consumers.css
+++ b/apimanager/consumers/static/consumers/css/consumers.css
@@ -2,28 +2,15 @@
margin-top: 20px;
}
-.consumers .consumer-row {
- cursor: pointer;
-}
-
-.consumers .consumer-enabled {
- background-color: rgba(0, 255, 0, 0.1);
-}
-
-.consumers .consumer-disabled {
- background-color: rgba(255, 0, 0, 0.1);
-}
-
-.consumers .table > tbody > tr.active > td {
- background-color: #fff;
-}
-
-
-.consumers .btn-group.filter-enabled {
+#consumers .btn-group.filter-enabled {
margin-left: 10px;
}
-.consumers .btn-group-vertical.filter-enabled,
-.consumers .btn-group-vertical.filter-apptype {
+#consumers .btn-group-vertical.filter-enabled,
+#consumers .btn-group-vertical.filter-apptype {
margin-top: 10px;
}
+
+#consumers-detail div {
+ margin: 10px 0;
+}
diff --git a/apimanager/consumers/static/consumers/js/consumers.js b/apimanager/consumers/static/consumers/js/consumers.js
index 38cf678..8da0463 100644
--- a/apimanager/consumers/static/consumers/js/consumers.js
+++ b/apimanager/consumers/static/consumers/js/consumers.js
@@ -1,35 +1,2 @@
$(document).ready(function($) {
- $('#consumer-detail').hide();
- $('.consumers .consumer-row td.select').click(function() {
- $('.consumers .consumer-row').removeClass('active');
- var tr = $(this).parent();
- tr.addClass('active');
- var consumer_id = tr.data('consumer-id');
- $.each(CONSUMERS, function (idx, consumer) {
- if (consumer['id'] == consumer_id) {
- $('#consumer-detail-id').val(consumer['id']);
- $('#consumer-detail-name').html(consumer['name']);
- $('#consumer-detail-developerEmail').html(consumer['developerEmail']);
- $('#consumer-detail-created').html(consumer['created']);
- $('#consumer-detail-description').html(consumer['description']);
- var isactive = $('#consumer-detail-isactive');
- var enableButton = $('#consumer-detail-enable');
- enableButton.removeClass('btn-green').removeClass('btn-red');
- if (consumer['enabled']) {
- enableButton.addClass('btn-red');
- enableButton.html('Disable');
- enableButton.attr('href',
- CONSUMERS_DISABLE.replace('0', consumer['id']));
- isactive.prop('checked', true);
- } else {
- enableButton.addClass('btn-green');
- enableButton.html('Enable');
- enableButton.attr('href',
- CONSUMERS_ENABLE.replace('0', consumer['id']));
- isactive.prop('checked', false);
- }
- $('#consumer-detail').modal('show');
- }
- });
- });
});
diff --git a/apimanager/consumers/templates/consumers/detail.html b/apimanager/consumers/templates/consumers/detail.html
new file mode 100644
index 0000000..c25e771
--- /dev/null
+++ b/apimanager/consumers/templates/consumers/detail.html
@@ -0,0 +1,63 @@
+{% extends 'base.html' %}
+{% load humanize static %}
+
+{% block page_title %}{{ block.super }} / {{ consumer.name }}{% endblock page_title %}
+
+{% block content %}
+
+
Consumer {{ consumer.name }}
+
+
+ ID
+ {{ consumer.id }}
+
+
+
+
+ Developer Email
+ {{ consumer.developerEmail }}
+
+
+
+ Created
+ {{ consumer.created|naturaltime }}
+
+
+
+
Description
+
{{ consumer.description }}
+
+
+
+ {% if consumer.enabled %}
+ {% url 'consumers-disable' consumer.id as url_action %}
+ {% else %}
+ {% url 'consumers-enable' consumer.id as url_action %}
+ {% endif %}
+
+
+
+{% endblock %}
+
+{% block extrajs %}
+{% comment %}
+
+
+{% endcomment %}
+{% endblock extrajs %}
+
+
+{% block extracss %}
+
+{% endblock extracss %}
diff --git a/apimanager/consumers/templates/consumers/includes/filter_apptype.html b/apimanager/consumers/templates/consumers/includes/filter_apptype.html
index 80f3ec6..287e380 100644
--- a/apimanager/consumers/templates/consumers/includes/filter_apptype.html
+++ b/apimanager/consumers/templates/consumers/includes/filter_apptype.html
@@ -1,3 +1,3 @@
Web
Mobile
-All
+All
diff --git a/apimanager/consumers/templates/consumers/includes/filter_enabled.html b/apimanager/consumers/templates/consumers/includes/filter_enabled.html
index 63592f8..2aaa7fc 100644
--- a/apimanager/consumers/templates/consumers/includes/filter_enabled.html
+++ b/apimanager/consumers/templates/consumers/includes/filter_enabled.html
@@ -1,3 +1,3 @@
Enabled
Disabled
-All
+All
diff --git a/apimanager/consumers/templates/consumers/includes/filter_time.html b/apimanager/consumers/templates/consumers/includes/filter_time.html
index ba2fac8..6f25d5f 100644
--- a/apimanager/consumers/templates/consumers/includes/filter_time.html
+++ b/apimanager/consumers/templates/consumers/includes/filter_time.html
@@ -4,4 +4,4 @@
Last Week
Last Month
Last Year
-All
+All
diff --git a/apimanager/consumers/templates/consumers/index.html b/apimanager/consumers/templates/consumers/index.html
index c64e608..861e131 100644
--- a/apimanager/consumers/templates/consumers/index.html
+++ b/apimanager/consumers/templates/consumers/index.html
@@ -4,7 +4,7 @@
{% block page_title %}{{ block.super }} / Consumers{% endblock page_title %}
{% block content %}
-
+
Consumers
@@ -30,13 +30,13 @@
Statistics
- - Total number of consumers: {{ consumers_num }}
+ - Total number of consumers: {{ statistics.consumers_num }}
- | No |
+ # |
Name |
Developer Email |
Created |
@@ -45,11 +45,17 @@
{% for consumer in consumers %}
+ {% url 'consumers-detail' consumer.id as url_detail %}
| {{ forloop.counter }} |
- {{ consumer.name }} |
+ {{ consumer.name }} |
{{ consumer.developerEmail }} |
{{ consumer.created|naturaltime }} |
- {% if consumer.enabled %}Disable{% else %}Enable{% endif %} |
+
+
+ |
{% endfor %}
@@ -57,50 +63,17 @@
-
-
-
-
-
-
- Developer Email
-
-
-
-
- Created
-
-
-
-
- Description
-
-
-
-
-
-
-
-
-
{% endblock content %}
{% block extrajs %}
+{% comment %}
+{% endcomment %}
{% endblock extrajs %}
diff --git a/apimanager/consumers/urls.py b/apimanager/consumers/urls.py
index adf5a34..dbb1b80 100644
--- a/apimanager/consumers/urls.py
+++ b/apimanager/consumers/urls.py
@@ -1,9 +1,10 @@
from django.conf.urls import url
-from .views import IndexView, EnableView, DisableView
+from .views import IndexView, DetailView, EnableView, DisableView
urlpatterns = [
url(r'^$', IndexView.as_view(), name='consumers-index'),
- url(r'^enable/(?P[0-9]+)$', EnableView.as_view(), name='consumers-enable'),
- url(r'^disable/(?P[0-9]+)$', DisableView.as_view(), name='consumers-disable'),
+ url(r'^(?P[0-9]+)$', DetailView.as_view(), name='consumers-detail'),
+ url(r'^(?P[0-9]+)/enable$', EnableView.as_view(), name='consumers-enable'),
+ url(r'^(?P[0-9]+)/disable$', DisableView.as_view(), name='consumers-disable'),
]
diff --git a/apimanager/consumers/views.py b/apimanager/consumers/views.py
index 2421503..1ee1f2a 100644
--- a/apimanager/consumers/views.py
+++ b/apimanager/consumers/views.py
@@ -18,7 +18,7 @@ class FilterAppType(BaseFilter):
filter_type = 'apptype'
def _apply(self, data, filter_value):
- filtered = [x for x in data if x['appType'].lower() == filter_value]
+ filtered = [x for x in data if x['appType'] == filter_value]
return filtered
@@ -62,8 +62,33 @@ class IndexView(LoginRequiredMixin, TemplateView):
context.update({
'consumers': filtered,
- 'consumers_num': len(filtered),
'consumers_json': json.dumps(filtered, default=json_serial),
+ 'statistics': {
+ 'consumers_num': len(filtered),
+ },
+ })
+ return context
+
+
+
+class DetailView(LoginRequiredMixin, TemplateView):
+ template_name = "consumers/detail.html"
+
+ def get_context_data(self, **kwargs):
+ context = super(DetailView, self).get_context_data(**kwargs)
+ urlpath = '/management/consumers/{}'.format(kwargs['consumer_id'])
+ consumer = api_get(self.request, urlpath)
+
+ if not isinstance(consumer, dict):
+ messages.error(self.request, consumer)
+ elif 'error' in consumer:
+ messages.error(self.request, consumer['error'])
+ else:
+ consumer['created'] = datetime.strptime(
+ consumer['created'], settings.API_DATETIMEFORMAT)
+
+ context.update({
+ 'consumer': consumer,
})
return context
@@ -78,9 +103,11 @@ class EnableDisableView(LoginRequiredMixin, RedirectView):
messages.error(self.request, result['error'])
else:
messages.success(self.request, self.success)
+ urlpath = self.request.POST.get('next', reverse('consumers-index'))
query = self.request.GET.urlencode()
- url = '{}?{}'.format(reverse('consumers-index'), query)
- return url
+ redirect_url = '{}?{}'.format(urlpath, query)
+ return redirect_url
+
class EnableView(EnableDisableView):