SFA = Validation of Slices add user to slice & Update User keys, email and other...
[myslice.git] / portal / slicerequestview.py
index ee94738..4975a92 100644 (file)
@@ -30,12 +30,17 @@ class SliceRequestView (LoginRequiredAutoLogoutView):
         # Using cache manifold-tables to get the list of authorities faster
         authorities_query = Query.get('authority').select('name', 'authority_hrn')
         authorities = execute_admin_query(request, authorities_query)
-        authorities = sorted(authorities)
+        if authorities is not None:
+            authorities = sorted(authorities)
 
         user_query  = Query().get('local:user').select('email')
         user_email = execute_query(self.request, user_query)
         self.user_email = user_email[0].get('email')
 
+        user_query  = Query().get('user').select('user_hrn').filter_by('user_hrn','==','$user_hrn')
+        user_hrn = execute_query(self.request, user_query)
+        self.user_hrn = user_hrn[0].get('user_hrn')
+
         page = Page(request)
         page.add_css_files ( [ "http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" ] )
 
@@ -48,6 +53,7 @@ class SliceRequestView (LoginRequiredAutoLogoutView):
             number_of_nodes = request.POST.get('number_of_nodes', '')
             purpose = request.POST.get('purpose', '')
             email = self.user_email
+            user_hrn = self.user_hrn
             cc_myself = True
             
             if (authority_hrn is None or authority_hrn == ''):
@@ -69,6 +75,7 @@ class SliceRequestView (LoginRequiredAutoLogoutView):
                 }            
                 s = PendingSlice(
                     slice_name      = slice_name,
+                    user_hrn        = user_hrn,
                     authority_hrn   = authority_hrn,
                     number_of_nodes = number_of_nodes,
                     purpose         = purpose
@@ -94,6 +101,7 @@ class SliceRequestView (LoginRequiredAutoLogoutView):
           'number_of_nodes': request.POST.get('number_of_nodes', ''),
           'purpose': request.POST.get('purpose', ''),
           'email': self.user_email,
+          'user_hrn': self.user_hrn,
           'cc_myself': True,
           'authorities': authorities,
         }