X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fviews.py;h=05ca958919fd0f3da5fd2e1537468e9a6e20c0fc;hb=4d631eaaa0936add1c71b7e9ac2601c8533556fd;hp=a29beaedfc6a4265ae278deb0a49cf19188ab16d;hpb=d7fd4a2f12d405812f6a0de5c1a3625d9affe701;p=myslice.git diff --git a/portal/views.py b/portal/views.py index a29beaed..05ca9589 100644 --- a/portal/views.py +++ b/portal/views.py @@ -607,25 +607,66 @@ class AccountView(TemplateView): def get_context_data(self, **kwargs): - page = Page(self.request) + #page = Page(self.request) - #network_query = Query().get('local:platform').filter_by('disabled', '==', '0').select('platform','platform_longname','gateway_type') - network_query = Query().get('local:user').select('user_id','email','config') - page.enqueue_query(network_query) - - page.expose_js_metadata() - page.expose_queries() - - userlist = SimpleList( - title = None, - page = page, - key = 'user_id', - query = network_query, - ) + user_query = Query().get('local:user').select('config','email') + user_details = execute_query(self.request, user_query) + + for user_detail in user_details: + #email = user_detail['email'] + if user_detail['config']: + config = json.loads(user_detail['config']) + + platform_query = Query().get('local:platform').select('platform_id','platform') + account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config') + platform_details = execute_query(self.request, platform_query) + account_details = execute_query(self.request, account_query) + + # initial assignment needed for users having no account + platform_name = '' + account_type = '' + account_usr_hrn = '' + account_pub_key = '' + platform_name_list = [] + account_type_list = [] + usr_hrn_list = [] + pub_key_list = [] + for account_detail in account_details: + for platform_detail in platform_details: + if platform_detail['platform_id'] == account_detail['platform_id']: + platform_name = platform_detail['platform'] + account_type = account_detail['auth_type'] + account_config = json.loads(account_detail['config']) + + if 'user_hrn' in account_config: + account_usr_hrn = account_config['user_hrn'] + else: + account_usr_hrn = 'N/A' + if 'user_public_key' in account_config: + account_pub_key = account_config['user_public_key'] + else: + account_pub_key = 'N/A' + #print "THis is a test" + #print account_pub_key + + platform_name_list.append(platform_name) + account_type_list.append(account_type) + usr_hrn_list.append(account_usr_hrn) + pub_key_list.append(account_pub_key) + + # combining 4 lists into 1 [to render in the template] + lst = [{'platform_name': t[0], 'account_type': t[1], 'usr_hrn':t[2], 'usr_pubkey':t[3]} for t in zip(platform_name_list, account_type_list, usr_hrn_list, pub_key_list)] + #print "test" + #print lst context = super(AccountView, self).get_context_data(**kwargs) + context['data'] = lst context['person'] = self.request.user - context['users'] = userlist.render(self.request) + context ['fullname'] = config['firstname'] +' '+ config['lastname'] + context ['firstname'] = config['firstname'] + context ['lastname'] = config['lastname'] + context ['affiliation'] = config['affiliation'] + #context['users'] = userlist.render(self.request) # XXX This is repeated in all pages # more general variables expected in the template @@ -634,8 +675,8 @@ class AccountView(TemplateView): context['topmenu_items'] = topmenu_items('My Account', self.request) # so we can sho who is logged context['username'] = the_user(self.request) - - context.update(page.prelude_env()) + context ['firstname'] = config['firstname'] + #context.update(page.prelude_env()) return context