Slice-user-tab: add user button visible only to PIs
authorYasin <mohammed-yasin.rahman@lip6.fr>
Wed, 23 Apr 2014 09:48:19 +0000 (11:48 +0200)
committerYasin <mohammed-yasin.rahman@lip6.fr>
Wed, 23 Apr 2014 09:48:19 +0000 (11:48 +0200)
portal/slicetabusers.py
portal/templates/slice-tab-users-view.html

index 49a2d76..51623cf 100644 (file)
@@ -22,7 +22,7 @@ class SliceUserView (LoginRequiredView, ThemeView):
     
     def get(self, request, slicename):
         if request.user.is_authenticated():
-            #user_query  = Query().get('user').select('user_hrn','parent_authority').filter_by('user_hrn','==','$user_hrn')
+           user_query  = Query().get('user').select('user_hrn','parent_authority').filter_by('user_hrn','==','$user_hrn')
             #user_details = execute_query(self.request, user_query)
             # if sfa returns None
             #if user_details[0]['parent_authority'] is None:
@@ -33,6 +33,24 @@ class SliceUserView (LoginRequiredView, ThemeView):
                         config = json.loads(user_config['config'])
                         config['authority'] = config.get('authority')
                         user_details[0]['parent_authority'] = config['authority']
-                    
-             
-        return render_to_response(self.template, {"slice": slicename, "user_details":user_details[0], "theme": self.theme, "username": request.user, "section":"users"}, context_instance=RequestContext(request))
+
+        ## check user is pi or not
+        platform_query  = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled')
+        account_query  = Query().get('local:account').select('user_id','platform_id','auth_type','config')
+        platform_details = execute_query(self.request, platform_query)
+        account_details = execute_query(self.request, account_query)
+        for platform_detail in platform_details:
+            for account_detail in account_details:
+                if platform_detail['platform_id'] == account_detail['platform_id']:
+                    if 'config' in account_detail and account_detail['config'] is not '':
+                        account_config = json.loads(account_detail['config'])
+                        if 'myslice' in platform_detail['platform']:
+                            acc_auth_cred = account_config.get('delegated_authority_credentials','N/A')
+
+        # assigning values
+        if acc_auth_cred == {}:
+            pi = "is_not_pi"
+        else:
+            pi = "is_pi"
+
+        return render_to_response(self.template, {"slice": slicename, "user_details":user_details[0], "pi":pi, "theme": self.theme, "username": request.user, "section":"users"}, context_instance=RequestContext(request))
index 7d3dcbb..daefe94 100644 (file)
@@ -31,7 +31,9 @@
                        <th>Enabled</th>
                        </tr>
                </table>
-                               <button id="addusers" type="button" class="btn btn-default"><span class="glyphicon glyphicon-refresh"></span>Add users</button>
+                               {% if 'is_pi'  in pi %}
+                               <button id="addusers" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span>Add users</button>
+                               {%endif%}
                </div>
 <script>
     $(document).ready(function() {