account_pub_key = ''
platform_name_list = []
account_type_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']
+ if 'reference' in account_detail['auth_type']:
+ account_type = 'Reference'
+ delegation = 'N/A'
+ elif 'managed' in account_detail['auth_type']:
+ account_type = 'Principal'
+ delegation = 'Automatic'
+ else:
+ account_type = 'Principal'
+ delegation = 'Manual'
account_config = json.loads(account_detail['config'])
# a bit more pythonic
account_usr_hrn = account_config.get('user_hrn','N/A')
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)
+
+ # 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')
+ print "testing"
+ print account_priv_key
+ #break
- # 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
+ # 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)]
context = super(AccountView, self).get_context_data(**kwargs)
context['data'] = lst
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
# private_key = k.as_pem()
# private_key = ''.join(private_key.split())
# public_key = "ssh-rsa " + public_key
- keypair = '{"user_public_key":'+ public_key + ', "user_private_key":'+ private_key + '}'
+ # now we overwrite the config field with keypair
+ # once there will be user_hrn, we need to keep user_hrn and change only the keypair
+ # see submit_name section for implementing this
# keypair = re.sub("\r", "", keypair)
# keypair = re.sub("\n", "\\n", keypair)
# #keypair = keypair.rstrip('\r\n')
# keypair = ''.join(keypair.split())
# updating maniolf local:account table
+ account_config = json.loads(account_detail['config'])
+ # preserving user_hrn
+ user_hrn = account_config.get('user_hrn','N/A')
+ keypair = '{"user_public_key":'+ public_key + ', "user_private_key":'+ private_key + ', "user_hrn":"'+ user_hrn + '"}'
+ updated_config = json.dumps(account_config)
+
user_params = { 'config': keypair, 'auth_type':'managed'}
manifold_update_account(request,user_params)
messages.success(request, 'Sucess: New Keypair Generated!')
file_extension = os.path.splitext(file_name)[1]
allowed_extension = ['.pub','.txt']
if file_extension in allowed_extension and re.search(r'ssh-rsa',file_content):
- file_content = '{"user_public_key":"'+ file_content +'"}'
+ account_config = json.loads(account_detail['config'])
+ # preserving user_hrn
+ user_hrn = account_config.get('user_hrn','N/A')
+ file_content = '{"user_public_key":"'+ file_content + '", "user_hrn":"'+ user_hrn +'"}'
#file_content = re.sub("\r", "", file_content)
#file_content = re.sub("\n", "\\n",file_content)
file_content = ''.join(file_content.split())