X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fviews.py;h=05ca958919fd0f3da5fd2e1537468e9a6e20c0fc;hb=4d631eaaa0936add1c71b7e9ac2601c8533556fd;hp=d4fa22ea5a7991af9f9a58a3cb28885b570622ff;hpb=8eafc93dfc03b2671a99921f61f0779ec61a623c;p=myslice.git diff --git a/portal/views.py b/portal/views.py index d4fa22ea..05ca9589 100644 --- a/portal/views.py +++ b/portal/views.py @@ -609,28 +609,58 @@ class AccountView(TemplateView): def get_context_data(self, **kwargs): #page = Page(self.request) - user_query = Query().get('local:user').select('config') - user_accounts = execute_query(self.request, user_query) + user_query = Query().get('local:user').select('config','email') + user_details = execute_query(self.request, user_query) - for user_account in user_accounts: - config = json.loads(user_account['config']) - - #print "THis is a test" - #print config['firstname'] + 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) - #page.enqueue_query(network_query) - - #page.expose_js_metadata() - #page.expose_queries() - - #userlist = SimpleList( - # title = None, - # page = page, - # key = 'user_id', - # query = network_query, - #) + # 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 ['fullname'] = config['firstname'] +' '+ config['lastname'] context ['firstname'] = config['firstname']