from manifold.manifoldapi import execute_query
from portal.actions import manifold_update_user, manifold_update_account
#
-from myslice.viewutils import topmenu_items, the_user
+from ui.topmenu import topmenu_items, the_user
#
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib import messages
messages.success(request, 'Sucess: Password Updated.')
return HttpResponseRedirect("/portal/account/")
+# XXX TODO: Factorize with portal/registrationview.py
+
elif 'generate' in request.POST:
for account_detail in account_details:
for platform_detail in platform_details:
if platform_detail['platform_id'] == account_detail['platform_id']:
if 'myslice' in platform_detail['platform']:
+ from Crypto.PublicKey import RSA
+ private = RSA.generate(1024)
+ private_key = json.dumps(private.exportKey())
+ public = private.publickey()
+ public_key = json.dumps(public.exportKey(format='OpenSSH'))
# Generate public and private keys using SFA Library
- from sfa.trust.certificate import Keypair
- k = Keypair(create=True)
- public_key = k.get_pubkey_string()
- 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 + '"}'
+# from sfa.trust.certificate import Keypair
+# k = Keypair(create=True)
+# public_key = k.get_pubkey_string()
+# 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 + '}'
# keypair = re.sub("\r", "", keypair)
# keypair = re.sub("\n", "\\n", keypair)
# #keypair = keypair.rstrip('\r\n')
if 'myslice' in platform_detail['platform']:
account_config = json.loads(account_detail['config'])
if 'user_private_key' in account_config:
- pass
+ for key in account_config.keys():
+ if key== 'user_private_key':
+ del account_config[key]
+
+ updated_config = json.dumps(account_config)
+ user_params = { 'config': updated_config, 'auth_type':'user'}
+ manifold_update_account(request,user_params)
+ messages.success(request, 'Private Key deleted. You need to delegate credentials manually once it expires.')
+ return HttpResponseRedirect("/portal/account/")
else:
messages.error(request, 'Delete error: Private key is not stored in the server')
return HttpResponseRedirect("/portal/account/")
-
- #messages.success(request, 'delete key en cours')
- #return HttpResponseRedirect("/portal/account/")
+ else:
+ messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
+ return HttpResponseRedirect("/portal/account/")
else: