From: Yasin Date: Tue, 17 Dec 2013 14:37:02 +0000 (+0100) Subject: MyAcc: Delete ref Acc directly from this page X-Git-Tag: myslice-0.3-0~55 X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=d67da4649a43042fc3c1b000b497e8395e93d192 MyAcc: Delete ref Acc directly from this page --- diff --git a/portal/accountview.py b/portal/accountview.py index 41e609f7..5975ae5e 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -44,11 +44,13 @@ class AccountView(LoginRequiredAutoLogoutView): account_type = '' account_usr_hrn = '' account_pub_key = '' + account_priv_key = '' account_reference = '' my_users = '' my_slices = '' my_auths = '' secondary_list = '' + lst = '' platform_name_list = [] platform_name_secondary_list = [] platform_access_list = [] @@ -418,6 +420,58 @@ def account_process(request): 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/") + + # delete reference platforms + elif 'delete_fuseco' in request.POST: + for platform_detail in platform_details: + if platform_detail['platform'] == "fuseco": + platform_id = platform_detail['platform_id'] + # generic function is not possible. [filter is not constant] + query = Query.delete('local:account').filter_by('platform_id','==',platform_id) + results = execute_query(request,query) + + messages.info(request, 'Reference Account is removed from Fuseco platform. You have no access to Fuseco resources anymore.') + return HttpResponseRedirect("/portal/account/") + + elif 'delete_ple' in request.POST: + for platform_detail in platform_details: + if platform_detail['platform'] == "ple": + platform_id = platform_detail['platform_id'] + # generic function is not possible. [filter is not constant] + query = Query.delete('local:account').filter_by('platform_id','==',platform_id) + results = execute_query(request,query) + messages.info(request, 'Reference Account is removed from PLE platform. You have no access to PLE resources anymore.') + return HttpResponseRedirect("/portal/account/") + + elif 'delete_omf' in request.POST: + for platform_detail in platform_details: + if platform_detail['platform'] == "omf": + platform_id = platform_detail['platform_id'] + # generic function is not possible. [filter is not constant] + query = Query.delete('local:account').filter_by('platform_id','==',platform_id) + results = execute_query(request,query) + messages.info(request, 'Reference Account is removed from OMF:Nitos platform. You have no access to OMF:Nitos resources anymore.') + return HttpResponseRedirect("/portal/account/") + + elif 'delete_wilab' in request.POST: + for platform_detail in platform_details: + if platform_detail['platform'] == "wilab": + platform_id = platform_detail['platform_id'] + # generic function is not possible. [filter is not constant] + query = Query.delete('local:account').filter_by('platform_id','==',platform_id) + results = execute_query(request,query) + messages.info(request, 'Reference Account is removed from Wilab platform. You have no access to Wilab resources anymore.') + return HttpResponseRedirect("/portal/account/") + + elif 'delete_iotlab' in request.POST: + for platform_detail in platform_details: + if platform_detail['platform'] == "iotlab": + platform_id = platform_detail['platform_id'] + # generic function is not possible. [filter is not constant] + query = Query.delete('local:account').filter_by('platform_id','==',platform_id) + results = execute_query(request,query) + messages.info(request, 'Reference Account is removed from IOTLab platform. You have no access to IOTLab resources anymore.') + return HttpResponseRedirect("/portal/account/") else: messages.info(request, 'Under Construction. Please try again later!') diff --git a/portal/actions.py b/portal/actions.py index bdb752fb..3ad61fd4 100644 --- a/portal/actions.py +++ b/portal/actions.py @@ -91,6 +91,15 @@ def manifold_update_account(request,account_params): return results +def manifold_add_platform(request, platform_params): + query = Query.create('local:platform').set(account_params).select(['user', 'platform']) + results = execute_admin_query(request,query) + if not results: + raise Exception, "Failed creating manifold platform %s for user: %s" % (platform_params['platform'], platform_params['user']) + result, = results + return result['platform_id'] + + def make_request_user(user): request = {} request['type'] = 'user' diff --git a/portal/templates/account-view.html b/portal/templates/account-view.html index b321c430..1a010ae1 100644 --- a/portal/templates/account-view.html +++ b/portal/templates/account-view.html @@ -229,7 +229,7 @@ {{ row.account_type }} {{ row.account_reference }} - + {%endfor%}