X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Factions.py;h=21b2563e3e571ba3b4d3cf9f8998c81df176dacb;hb=5abab265d806d9de899ead6e896feb4afdf20540;hp=16ddaa188757874f8b15762b350a53921d77b05a;hpb=d7fd4a2f12d405812f6a0de5c1a3625d9affe701;p=myslice.git diff --git a/portal/actions.py b/portal/actions.py index 16ddaa18..21b2563e 100644 --- a/portal/actions.py +++ b/portal/actions.py @@ -6,19 +6,22 @@ import json # Get the list of authorities -def authority_get_pis(authority_hrn): +def authority_get_pis(request, authority_hrn): query = Query.get('authority').filter_by('authority_hrn', '==', authority_hrn).select('pi_users') - results = execute_query(query) - if not results: - raise Exception, "Authority not found: %s" % authority_hrn - result, = results - return result['pi_users'] - -def authority_get_pi_emails(authority_hrn): - user_hrns = authority_get_pis(authority_hrn) + results = execute_query(request, query) + # NOTE: temporarily commented. Because results is giving empty list. + # Needs more debugging + #if not results: + # raise Exception, "Authority not found: %s" % authority_hrn + #result, = results + #return result['pi_users'] + return results + +def authority_get_pi_emails(request,authority_hrn): + user_hrns = authority_get_pis(request,authority_hrn) query = Query.get('user').filter_by('user_hrn', 'included', user_hrns).select('user_email') - results = execute_query(query) + results = execute_query(request,query) return [result['user_email'] for result in results] @@ -39,23 +42,46 @@ def sfa_add_slice(slice_params): # Propose hrn -def manifold_add_user(user_params): - # user_params: email, password +def manifold_add_user(request, user_params): + # user_params: email, password e.g., user_params = {'email':'aa@aa.com','password':'demo'} query = Query.create('local:user').set(user_params).select('email') - results = execute_query(query) + results = execute_query(request,query) if not results: raise Exception, "Failed creating manifold user: %s" % user_params['email'] result, = results return result['email'] -def manifold_add_account(account_params): +def manifold_update_user(request, user_params): + # user_params: password, config e.g., + query = Query.update('local:user').filter_by('email', '==', request.user.email).set(user_params).select('email') + results = execute_query(request,query) + # NOTE: results remains empty and goes to Exception. However, it updates the manifold DB. + # That's why I commented the exception part. -- Yasin + #if not results: + # raise Exception, "Failed updating manifold user: %s" % user_params['email'] + #result, = results + return results + +def manifold_add_account(request, account_params): query = Query.create('local:account').set(account_params).select(['user', 'platform']) - results = execute_query(query) + results = execute_query(request,query) if not results: raise Exception, "Failed creating manifold account on platform %s for user: %s" % (account_params['platform'], account_params['user']) result, = results return (result['user'], result['platform']) +def manifold_update_account(request,account_params): + # account_params: config + query = Query.update('local:account').filter_by('platform', '==', 'myslice').set(account_params).select('user_id') + results = execute_query(request,query) + # NOTE: results remains empty and goes to Exception. However, it updates the manifold DB. + # That's why I commented the exception part. -- Yasin + #if not results: + # raise Exception, "Failed updating manifold account: config %s" % account_params['config'] + #result, = results + return results + + def make_request_user(user): request = {} request['type'] = 'user'