From 4cff7691aba786e1e2e94c5a9c86a27f1be96b5b Mon Sep 17 00:00:00 2001 From: Yasin Date: Wed, 18 Dec 2013 13:35:16 +0100 Subject: [PATCH] Actions.py: created generic funtion for delete local:account --- portal/accountview.py | 26 +++++++++++--------------- portal/actions.py | 9 ++++++++- portal/templates/account-view.html | 14 +++++++------- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/portal/accountview.py b/portal/accountview.py index 06425a0a..1ddea18f 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -2,7 +2,7 @@ from unfold.loginrequired import LoginRequiredAutoLogoutView # from manifold.core.query import Query from manifold.manifoldapi import execute_query -from portal.actions import manifold_update_user, manifold_update_account, manifold_add_account +from portal.actions import manifold_update_user, manifold_update_account, manifold_add_account, manifold_delete_account # from ui.topmenu import topmenu_items, the_user # @@ -426,10 +426,8 @@ def account_process(request): 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) - + user_params = {'user_id':user_id} + manifold_delete_account(request,platform_id,user_params) messages.info(request, 'Reference Account is removed from Fuseco platform. You have no access to Fuseco resources anymore.') return HttpResponseRedirect("/portal/account/") @@ -437,9 +435,8 @@ def account_process(request): 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) + user_params = {'user_id':user_id} + manifold_delete_account(request,platform_id,user_params) messages.info(request, 'Reference Account is removed from PLE platform. You have no access to PLE resources anymore.') return HttpResponseRedirect("/portal/account/") @@ -447,9 +444,8 @@ def account_process(request): 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) + user_params = {'user_id':user_id} + manifold_delete_account(request,platform_id,user_params) messages.info(request, 'Reference Account is removed from OMF:Nitos platform. You have no access to OMF:Nitos resources anymore.') return HttpResponseRedirect("/portal/account/") @@ -457,7 +453,8 @@ def account_process(request): 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] + user_params = {'user_id':user_id} + manifold_delete_account(request,platform_id,user_params) 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.') @@ -467,9 +464,8 @@ def account_process(request): 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) + user_params = {'user_id':user_id} + manifold_delete_account(request,platform_id,user_params) messages.info(request, 'Reference Account is removed from IOTLab platform. You have no access to IOTLab resources anymore.') return HttpResponseRedirect("/portal/account/") diff --git a/portal/actions.py b/portal/actions.py index 3ad61fd4..97b8ac81 100644 --- a/portal/actions.py +++ b/portal/actions.py @@ -90,9 +90,16 @@ def manifold_update_account(request,account_params): #result, = results return results +#explicitly mention the platform_id +def manifold_delete_account(request, platform_id, account_params): + query = Query.delete('local:account').filter_by('platform_id', '==', platform_id).set(account_params).select('user_id') + results = execute_query(request,query) + return results + +#not tested def manifold_add_platform(request, platform_params): - query = Query.create('local:platform').set(account_params).select(['user', 'platform']) + query = Query.create('local:platform').set(platform_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']) diff --git a/portal/templates/account-view.html b/portal/templates/account-view.html index 1da1514c..81cca784 100644 --- a/portal/templates/account-view.html +++ b/portal/templates/account-view.html @@ -139,8 +139,8 @@ Platform Account Type - Account_delegation - user_hrn + Account Delegation + User hrn {% for row in principal_acc %} @@ -213,7 +213,7 @@ -

Testbed Accounts User accounts in other testbeds

+

Testbed Accounts Reference accounts in the following testbeds

@@ -229,7 +229,7 @@ {%endfor%} @@ -237,19 +237,19 @@ -

Add Accounts

+

Add Accounts Add ref. account to the following testbeds

{{ row.account_type }} {{ row.account_reference }} - +
- + {% for platform in platform_list %} {%endfor%} -- 2.43.0
PlatformsRequest AccessAdd Account
{{ platform.platform_no_access }} - +