Add user account returns user_id and is used in actions.py, fixed session in manage...
[unfold.git] / portal / actions.py
index 0375874..aaa13b5 100644 (file)
@@ -16,6 +16,8 @@ from myslice.configengine           import ConfigEngine
 
 from myslice.settings import logger
 
+from rest.sfa_api import sfa_client
+
 theme = ThemeView()
 
 import activity.slice
@@ -78,6 +80,14 @@ def get_jfed_identity(request):
         print e
         return None
 
+def getAuthorities(request, admin = False):
+    result = sfa_client(request,'List',hrn='onelab',object_type='authority',platforms=['myslice'],admin=admin)
+    authorities = list()
+    for item in result['myslice']:
+        authorities.append({'authority_hrn':item['hrn']})    
+    return sorted(authorities)
+
+
 # Get the list of pis in a given authority
 def authority_get_pis(request, authority_hrn):
     # CACHE PB with fields
@@ -382,7 +392,7 @@ def manifold_add_user(wsgi_request, request):
     if not results:
         raise Exception, "Failed creating manifold user: %s" % user_params['email']
     result = results[0]
-    return result['email']
+    return result['user_id']
 
 def manifold_update_user(request, email, user_params):
     # user_params: password, config e.g., 
@@ -445,7 +455,8 @@ def delete_local_user(wsgi_request, user_email):
         user_config = json.loads(user[0]['config'])
         authority_hrn = user_config.get('authority', None)
         
-        if is_pi(wsgi_request, '$user_hrn', authority_hrn):
+        #if is_pi(wsgi_request, '$user_hrn', authority_hrn):
+        try:
             # removing from Django auth_user
             UserModel = get_user_model()
             UserModel._default_manager.filter(email__iexact = user_email).delete()
@@ -455,9 +466,9 @@ def delete_local_user(wsgi_request, user_email):
                      
             # removing manifold user
             manifold_delete_user(wsgi_request, user_id)
-        else:
-            return False
-            #raise Exception, "No sufficient rights on authority = ",authority_hrn
+        except Exception, e:
+            #return False
+            print "No sufficient rights on authority = ",authority_hrn
 
     return True      
 
@@ -908,7 +919,7 @@ def send_status_email(request, ctx, user_email, obj_type, status):
         sender =  render_to_string(theme.template, ctx)
         sender = sender.replace('\n', '')
                        
-        subject = obj_type + ' request '+ status +'.'
+        subject = obj_type.title() + ' request '+ status
     
         msg = EmailMultiAlternatives(subject, text_content, sender, [user_email])
         msg.attach_alternative(html_content, "text/html")
@@ -1283,8 +1294,6 @@ def create_pending_user(wsgi_request, request, user_detail):
     if request['private_key']:
         account_config['user_private_key'] = request['private_key']
 
-    user_id = user_detail['user_id'] + 1 # the user_id for the newly created user in local:user
-
     # XXX TODO: Require a myslice platform
     # ALERT: this will disapear with ROUTERV2 of Manifold
     # We have to consider the case where several registries can be used