#
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
#
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/")
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/")
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/")
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.')
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/")
#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'])
<tr class="odd">
<th>Platform</th>
<th>Account Type</th>
- <th>Account_delegation</th>
- <th>user_hrn</th>
+ <th>Account Delegation</th>
+ <th>User hrn</th>
<!--<th>Pub Key</th> -->
</tr>
{% for row in principal_acc %}
-<h3>Testbed Accounts <small>User accounts in other testbeds</small></h3>
+<h3>Testbed Accounts <small>Reference accounts in the following testbeds</small></h3>
<div id="middle" align="center">
<div class="well">
<table class="mytable table table-bordered table-hover">
<td class="odd"> {{ row.account_type }} </td>
<td class="odd"> {{ row.account_reference }} </td>
<td class="odd">
- <button class="btn btn-danger btn-xs" name="delete_{{row.platform_name}}" type="submit" title="Delete account from this platform">Delete {{row.platform_name}}</button>
+ <button class="btn btn-danger btn-xs" name="delete_{{row.platform_name}}" type="submit" title="Delete account from this platform">Delete</button>
</td>
</tr>
{%endfor%}
</div>
</div>
-<h3>Add Accounts</h3>
+<h3>Add Accounts <small>Add ref. account to the following testbeds</small></h3>
<div id="middle" align="center">
<div class="well">
<table class="mytable table table-bordered table-hover">
<tr class="odd">
<th>Platforms</th>
- <th>Request Access</th>
+ <th>Add Account</th>
</tr>
{% for platform in platform_list %}
<tr class="border_bottom">
<td class="odd"> {{ platform.platform_no_access }} </td>
<td class="odd">
- <button class="btn btn-default btn-xs" name= "add_{{platform.platform_no_access}}" type="submit" title="Add account to this platform">Add {{platform.platform_no_access}}</button>
+ <button class="btn btn-success btn-xs" name= "add_{{platform.platform_no_access}}" type="submit" title="Add account to this platform">Add</button>
</td>
</tr>
{%endfor%}