X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Factions.py;h=8ca3acff6b936df9b43cc58548b8f5a8d1ed7406;hb=2842fc88e027493dd9ae00e0f8a69a86f3d50680;hp=3f8301355810d0afecddbc6ea806c3f722f14906;hpb=a7e39005063e624c4d12122beb052ff1fa2890cb;p=myslice.git diff --git a/portal/actions.py b/portal/actions.py index 3f830135..8ca3acff 100644 --- a/portal/actions.py +++ b/portal/actions.py @@ -71,7 +71,8 @@ def clear_user_creds(request, user_email): if platform_detail['platform_id'] == account_detail['platform_id']: if 'myslice' in platform_detail['platform']: account_config = json.loads(account_detail['config']) - user_cred = account_config.get('delegated_user_credential','N/A') + #user_cred = account_config.get('delegated_user_credential','N/A') + user_cred = account_config.get('user_credential','N/A') if 'N/A' not in user_cred: user_hrn = account_config.get('user_hrn','N/A') user_pub_key = json.dumps(account_config.get('user_public_key','N/A')) @@ -526,7 +527,7 @@ def manifold_add_reference_user_accounts(wsgi_request, request): } manifold_add_account(wsgi_request, manifold_account_params) -def sfa_create_user(wsgi_request, request): +def sfa_create_user(wsgi_request, request, namespace = None, as_admin = False): """ Arguments: wsgi_request (~ WSGIRequest) : @@ -553,8 +554,16 @@ def sfa_create_user(wsgi_request, request): 'user_enabled' : True } - query = Query.create('user').set(sfa_user_params).select('user_hrn') - results = execute_query(wsgi_request, query) + if namespace is not None: + query = Query.create('%s:user' % namespace).set(sfa_user_params).select('user_hrn') + else: + query = Query.create('user').set(sfa_user_params).select('user_hrn') + + if as_admin: + results = execute_admin_query(wsgi_request, query) + else: + results = execute_query(wsgi_request, query) + if not results: raise Exception, "Could not create %s. Already exists ?" % sfa_user_params['user_hrn'] else: @@ -563,8 +572,7 @@ def sfa_create_user(wsgi_request, request): send_mail(subject, msg, 'support@onelab.eu',[request['email']], fail_silently=False) return results -def create_user(wsgi_request, request): - +def create_user(wsgi_request, request, namespace = None, as_admin = False): # XXX This has to be stored centrally USER_STATUS_ENABLED = 2 @@ -572,7 +580,7 @@ def create_user(wsgi_request, request): # we would have to perform the steps in create_pending_user too # Add the user to the SFA registry - sfa_create_user(wsgi_request, request) + sfa_create_user(wsgi_request, request, namespace, as_admin) # Update Manifold user status manifold_update_user(wsgi_request, request['email'], {'status': USER_STATUS_ENABLED})