--- /dev/null
+from manifold.core.query import Query
+from unfold.page import Page
+
+from ui.topmenu import topmenu_items_live, the_user
+from manifold.manifoldapi import execute_admin_query
+
+from plugins.querytable import QueryTable
+from unfold.loginrequired import LoginRequiredAutoLogoutView
+
+
+# View for platforms
+class AdminView(LoginRequiredAutoLogoutView):
+ template_name = "adminview.html"
+
+ def get_context_data(self, **kwargs):
+ page = Page(self.request)
+ page.add_js_files ( [ "js/common.functions.js" ] )
+ #platform_query = Query().get('local:platform').filter_by('disabled', '==', '0').select('platform','platform_longname','gateway_type')
+ #platform_query = Query().get('local:platform').select('platform','platform_longname','gateway_type')
+ email_list = []
+ status_list = []
+ user_query = Query().get('local:user').select('email','status')
+ user_details = execute_admin_query(self.request, user_query)
+ for user in user_details:
+ email_list.append(user['email'])
+ status_list.append(user['status'])
+
+ user_list = [{'email': t[0], 'status': t[1]}
+ for t in zip(email_list, status_list)]
+
+
+ #page.enqueue_query(user_query)
+
+ #page.expose_js_metadata()
+ #userlist = QueryTable(
+ # page = page,
+ # title = 'List',
+ # domid = 'checkboxes',
+ # # this is the query at the core of the slice list
+ # query = user_query,
+ # query_all = user_query,
+ # checkboxes = False,
+ # init_key = 'user',
+ # datatables_options = {
+ # 'iDisplayLength': 10,
+ # 'bLengthChange' : True,
+ # 'bAutoWidth' : True,
+ # },
+ #)
+
+ context = super(AdminView, self).get_context_data(**kwargs)
+ context['person'] = self.request.user
+ context['user_list'] = user_list
+
+ # XXX This is repeated in all pages
+ # more general variables expected in the template
+ context['title'] = 'Users in MySlice'
+ # the menu items on the top
+ context['topmenu_items'] = topmenu_items_live('Admin', page)
+ # so we can sho who is logged
+ context['username'] = the_user(self.request)
+
+ context.update(page.prelude_env())
+
+ context['layout_1_or_2']="layout-unfold2.html" if not context['username'] else "layout-unfold1.html"
+
+ return context
--- /dev/null
+{# fine for either layout-unfold1.html (logged in) or layout-unfold2.html (needs a login prompt) #}
+{% extends layout_1_or_2 %}
+
+{% block unfold_margin %}
+{% include 'widget-login.html' %}
+{% endblock unfold_margin %}
+
+{% block head %}
+<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}/css/dashboard.css" />
+{% endblock %}
+
+{% block unfold_main %}
+
+<h1>Users</h1>
+<div id="middle" align="center">
+ <div class="well">
+ <table class="mytable table table-bordered table-hover">
+ <tr class="odd">
+ <th>Email</th>
+ <th>Status</th>
+ </tr>
+ {% for user in user_list %}
+ <tr class="border_bottom">
+ <td class="odd"> {{ user.email }} </td>
+ <td class="even"> {{ user.status }} </td>
+
+ </tr>
+ {%endfor%}
+ </table>
+ </div>
+</div>
+</div>
+
+{% endblock %}
from django.views.generic.base import TemplateView
from django.conf.urls import patterns, include, url
+from portal.adminview import AdminView
from portal.platformsview import PlatformsView
from portal.platformview import PlatformView
from portal.resourceview import ResourceView
url(r'^dashboard/?$', DashboardView.as_view(), name='dashboard'),
#url(r'^my_account/?$', MyAccountView.as_view(), name='my_account'),
url(r'^account/?$', AccountView.as_view(), name='account'),
+ url(r'^admin/?$', AdminView.as_view(), name='admin'),
url(r'^platforms/?$', PlatformsView.as_view(), name='platforms'),
url(r'^platform/(?P<platformname>[\w\.\-]+)/?$', PlatformView.as_view(), name='platform'),
url(r'^resource/(?P<urn>[\w\.\-\+\:]+)/?$', ResourceView.as_view(), name='resource'),