1 from django.template import RequestContext
2 from django.shortcuts import render_to_response
4 from manifold.core.query import Query, AnalyzedQuery
5 from manifoldapi.manifoldapi import execute_query
7 from django.views.generic.base import TemplateView
9 from unfold.loginrequired import LoginRequiredView
10 from django.http import HttpResponse
11 from django.shortcuts import render
13 from unfold.page import Page
14 from manifold.core.query import Query, AnalyzedQuery
15 from manifoldapi.manifoldapi import execute_query
17 from myslice.theme import ThemeView
20 class SliceUserView (LoginRequiredView, ThemeView):
21 template_name = "slice-tab-users-view.html"
23 def get(self, request, slicename):
24 if request.user.is_authenticated():
25 # user_query = Query().get('user').select('user_hrn','parent_authority').filter_by('user_hrn','==','$user_hrn')
26 #user_details = execute_query(self.request, user_query)
28 #if user_details[0]['parent_authority'] is None:
30 user_query = Query().get('local:user').select('config')
31 user_details = execute_query(request, user_query)
32 for user_config in user_details:
33 config = json.loads(user_config['config'])
34 config['authority'] = config.get('authority')
35 user_details[0]['parent_authority'] = config['authority']
37 ## check user is pi or not
38 platform_query = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled')
39 account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config')
40 platform_details = execute_query(self.request, platform_query)
41 account_details = execute_query(self.request, account_query)
42 for platform_detail in platform_details:
43 for account_detail in account_details:
44 if platform_detail['platform_id'] == account_detail['platform_id']:
45 if 'config' in account_detail and account_detail['config'] is not '':
46 account_config = json.loads(account_detail['config'])
47 if 'myslice' in platform_detail['platform']:
48 acc_auth_cred = account_config.get('delegated_authority_credentials','N/A')
51 if acc_auth_cred == {}:
56 return render_to_response(self.template, {"slice": slicename, "user_details":user_details[0], "pi":pi, "theme": self.theme, "username": request.user, "section":"users"}, context_instance=RequestContext(request))