1 from manifold.core.query import Query
2 from unfold.page import Page
4 from ui.topmenu import topmenu_items_live, the_user
5 from manifold.manifoldapi import execute_admin_query
7 from plugins.querytable import QueryTable
8 from unfold.loginrequired import LoginRequiredAutoLogoutView
12 class AdminView(LoginRequiredAutoLogoutView):
13 template_name = "adminview.html"
15 def get_context_data(self, **kwargs):
16 page = Page(self.request)
17 page.add_js_files ( [ "js/common.functions.js" ] )
18 #platform_query = Query().get('local:platform').filter_by('disabled', '==', '0').select('platform','platform_longname','gateway_type')
19 #platform_query = Query().get('local:platform').select('platform','platform_longname','gateway_type')
22 user_query = Query().get('local:user').select('email','status')
23 user_details = execute_admin_query(self.request, user_query)
24 for user in user_details:
25 email_list.append(user['email'])
26 status_list.append(user['status'])
28 user_list = [{'email': t[0], 'status': t[1]}
29 for t in zip(email_list, status_list)]
32 #page.enqueue_query(user_query)
34 #page.expose_js_metadata()
35 #userlist = QueryTable(
38 # domid = 'checkboxes',
39 # # this is the query at the core of the slice list
41 # query_all = user_query,
44 # datatables_options = {
45 # 'iDisplayLength': 10,
46 # 'bLengthChange' : True,
47 # 'bAutoWidth' : True,
51 context = super(AdminView, self).get_context_data(**kwargs)
52 context['person'] = self.request.user
53 context['user_list'] = user_list
55 # XXX This is repeated in all pages
56 # more general variables expected in the template
57 context['title'] = 'Users in MySlice'
58 # the menu items on the top
59 context['topmenu_items'] = topmenu_items_live('Admin', page)
60 # so we can sho who is logged
61 context['username'] = the_user(self.request)
63 context.update(page.prelude_env())
65 context['layout_1_or_2']="layout-unfold2.html" if not context['username'] else "layout-unfold1.html"