X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Faccountview.py;h=25eb15a2d7dac6b806082bb11e1b8e4334a9fc74;hb=dfdc8ce3be8c9381e91169dba7ee87444280b0c5;hp=f7fa1b8d342d524d5b1a5d3779d1d498afe39c61;hpb=e617801d26f11513b71b0fcd5a7385938d1915ef;p=myslice.git diff --git a/portal/accountview.py b/portal/accountview.py index f7fa1b8d..25eb15a2 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -42,39 +42,67 @@ class AccountView(LoginRequiredAutoLogoutView): account_type = '' account_usr_hrn = '' account_pub_key = '' + account_reference = '' platform_name_list = [] + platform_name_secondary_list = [] account_type_list = [] + account_type_secondary_list = [] + account_reference_list = [] + delegation_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']) # a bit more pythonic account_usr_hrn = account_config.get('user_hrn','N/A') account_pub_key = account_config.get('user_public_key','N/A') + account_reference = account_config.get ('reference_platform','N/A') + + if 'reference' in account_detail['auth_type']: + account_type = 'Reference' + delegation = 'N/A' + platform_name_secondary_list.append(platform_name) + account_type_secondary_list.append(account_type) + account_reference_list.append(account_reference) + secondary_list = [{'platform_name': t[0], 'account_type': t[1], 'account_reference': t[2]} + for t in zip(platform_name_secondary_list, account_type_secondary_list, account_reference_list)] + + elif 'managed' in account_detail['auth_type']: + account_type = 'Principal' + delegation = 'Automatic' + else: + account_type = 'Principal' + delegation = 'Manual' + + if 'reference' not in account_detail['auth_type']: + platform_name_list.append(platform_name) + account_type_list.append(account_type) + delegation_type_list.append(delegation) + usr_hrn_list.append(account_usr_hrn) + pub_key_list.append(account_pub_key) + # combining 5 lists into 1 [to render in the template] + lst = [{'platform_name': t[0], 'account_type': t[1], 'delegation_type': t[2], 'usr_hrn':t[3], 'usr_pubkey':t[4]} + for t in zip(platform_name_list, account_type_list, delegation_type_list, usr_hrn_list, pub_key_list)] + # to hide private key row if it doesn't exist + if 'myslice' in platform_detail['platform']: + account_config = json.loads(account_detail['config']) + account_priv_key = account_config.get('user_private_key','N/A') + - 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 ['ref_acc'] = secondary_list context['person'] = self.request.user context ['firstname'] = config.get('firstname',"?") context ['lastname'] = config.get('lastname',"?") context ['fullname'] = context['firstname'] +' '+ context['lastname'] context ['authority'] = config.get('authority',"Unknown Authority") - #context['users'] = userlist.render(self.request) + context['user_private_key'] = account_priv_key # XXX This is repeated in all pages # more general variables expected in the template