+
+ elif 'delete' 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']:
+ account_config = json.loads(account_detail['config'])
+ if 'user_private_key' in account_config:
+ 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/")
+
+ else:
+ messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
+ return HttpResponseRedirect("/portal/account/")
+
+
+ # add reference platforms
+ elif 'add_fuseco' in request.POST:
+ for platform_detail in platform_details:
+ if platform_detail['platform'] == "fuseco":
+ platform_id = platform_detail['platform_id']
+
+ user_params = {'platform_id': platform_id, 'user_id': user_id, 'auth_type': "reference", 'config': '{"reference_platform": "myslice"}'}
+ manifold_add_account(request,user_params)
+
+ messages.info(request, 'Reference Account added on Fuseco platform. You have now access to Fuseco resources.')
+ return HttpResponseRedirect("/portal/account/")
+
+ elif 'add_ple' in request.POST:
+ for platform_detail in platform_details:
+ if platform_detail['platform'] == "ple":
+ platform_id = platform_detail['platform_id']
+ user_params = {'platform_id': platform_id, 'user_id': user_id, 'auth_type': "reference", 'config': '{"reference_platform": "myslice"}'}
+ manifold_add_account(request,user_params)
+ messages.info(request, 'Reference Account added on PLE platform. You have now access to PLE resources.')
+ return HttpResponseRedirect("/portal/account/")
+
+ elif 'add_omf' in request.POST:
+ for platform_detail in platform_details:
+ if platform_detail['platform'] == "omf":
+ platform_id = platform_detail['platform_id']
+ user_params = {'platform_id': platform_id, 'user_id': user_id, 'auth_type': "reference", 'config': '{"reference_platform": "myslice"}'}
+ manifold_add_account(request,user_params)
+ messages.info(request, 'Reference Account added on OMF:Nitos platform. You have now access to OMF:Nitos resources.')
+ return HttpResponseRedirect("/portal/account/")
+
+ elif 'add_wilab' in request.POST:
+ for platform_detail in platform_details:
+ if platform_detail['platform'] == "wilab":
+ platform_id = platform_detail['platform_id']
+ user_params = {'platform_id': platform_id, 'user_id': user_id, 'auth_type': "reference", 'config': '{"reference_platform": "myslice"}'}
+ manifold_add_account(request,user_params)
+ messages.info(request, 'Reference Account added on Wilab platform. You have now access to Wilab resources.')
+ return HttpResponseRedirect("/portal/account/")
+
+ elif 'iotlab' in request.POST:
+ for platform_detail in platform_details:
+ if platform_detail['platform'] == "iotlab":
+ platform_id = platform_detail['platform_id']
+ user_params = {'platform_id': platform_id, 'user_id': user_id, 'auth_type': "reference", 'config': '{"reference_platform": "myslice"}'}
+ manifold_add_account(request,user_params)
+ messages.info(request, 'Reference Account added on IOTLab platform. You have now access to IOTLab resources.')
+ return HttpResponseRedirect("/portal/account/")
+