REG: create local:user+local:account
[myslice.git] / portal / actions.py
index 5699562..bdb752f 100644 (file)
@@ -1,11 +1,13 @@
 from django.http                 import HttpResponse
 from manifold.core.query         import Query
-from manifold.manifoldapi        import execute_query
+from manifold.manifoldapi        import execute_query,execute_admin_query
 from portal.models               import PendingUser, PendingSlice
 import json
 
-# XXX sfa dependency, should be moved to SFA gateway
-from sfa.util.xrn                import Xrn 
+# Thierry: moving this right into the code so 
+# most people can use myslice without having to install sfa
+# XXX tmp sfa dependency, should be moved to SFA gateway
+#from sfa.util.xrn                import Xrn 
 
 
 # Get the list of authorities
@@ -52,7 +54,7 @@ def sfa_add_slice(request, slice_params):
 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(request, query)
+    results = execute_admin_query(request, query)
     if not results:
         raise Exception, "Failed creating manifold user: %s" % user_params['email']
     result, = results
@@ -71,11 +73,11 @@ def manifold_update_user(request, user_params):
 
 def manifold_add_account(request, account_params):
     query = Query.create('local:account').set(account_params).select(['user', 'platform'])
-    results = execute_query(request,query)
+    results = execute_admin_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'])
+    return result['user_id']
 
 def manifold_update_account(request,account_params):
     # account_params: config
@@ -172,6 +174,8 @@ def portal_validate_request(wsgi_request, request_ids):
 
             try:
                 hrn = "%s.%s" % (request['authority_hrn'], request['login'])
+                # XXX tmp sfa dependency
+                from sfa.util.xrn import Xrn 
                 urn = Xrn(hrn, request['type']).get_urn()
 
                 sfa_user_params = {
@@ -215,6 +219,8 @@ def portal_validate_request(wsgi_request, request_ids):
         elif request['type'] == 'slice':
             try:
                 hrn = "%s.%s" % (request['authority_hrn'], request['slice_name'])
+                # XXX tmp sfa dependency
+                from sfa.util.xrn import Xrn 
                 urn = Xrn(hrn, request['type']).get_urn()
 
                 sfa_slice_params = {