user_hrn = request.get('user_hrn', None)
user_hrns = list([user_hrn]) if user_hrn else list()
- user_email = request.get
+ user_query = Query().get('user').select('user_hrn','user_email').filter_by('user_hrn','==',user_hrn)
+ user_details_sfa = execute_admin_query(wsgi_request, user_query)
+ if not user_details_sfa:
+ raise Exception, "User %s doesn't exist, validate user before validating slice" % user_hrn
+ for user in user_details_sfa:
+ user_email = user['user_email']
# XXX We should create a slice with Manifold terminology
slice_params = {
results = execute_query(wsgi_request, query)
if not results:
raise Exception, "Could not create %s. Already exists ?" % slice_params['hrn']
- ## We do not store the email in pendingslice table. As a result receiver's email is unknown ##
- ## Need modification in pendingslice table ###
- #else:
- # subject = 'Slice created'
- # msg = 'A manager of your institution has validated your slice request. You can now add resources to the slice and start experimenting.'
- # send_mail(subject, msg, 'support@onelab.eu',['yasin.upmc@gmail.com'], fail_silently=False)
+ else:
+ clear_user_creds(wsgi_request,user_email)
+ subject = 'Slice created'
+ msg = 'A manager of your institution has validated your slice request. You can now add resources to the slice and start experimenting.'
+ send_mail(subject, msg, 'support@onelab.eu',[user_email], fail_silently=False)
return results
}
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) :
'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_query(wsgi_request, query)
+ else:
+ results = execute_admin_query(wsgi_request, query)
+
if not results:
raise Exception, "Could not create %s. Already exists ?" % sfa_user_params['user_hrn']
else:
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
# 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})