Merge branch 'master' of ssh://git.onelab.eu/git/myslice
authorJordan Augé <jordan.auge@lip6.fr>
Fri, 6 Dec 2013 15:28:59 +0000 (16:28 +0100)
committerJordan Augé <jordan.auge@lip6.fr>
Fri, 6 Dec 2013 15:28:59 +0000 (16:28 +0100)
portal/accountview.py
portal/templates/account-view.html
ui/topmenu.py

index f7fa1b8..f0e7a4a 100644 (file)
@@ -60,12 +60,15 @@ class AccountView(LoginRequiredAutoLogoutView):
                     account_type_list.append(account_type)
                     usr_hrn_list.append(account_usr_hrn)
                     pub_key_list.append(account_pub_key)
+            
+                # to hide private key row if it doesn't exist    
+                if 'myslice' in platform_detail['platform']:
+                    account_config = json.loads(account_detail['config'])
+                    account_priv_key = account_config.get('user_private_key','N/A')
         
         # combining 4 lists into 1 [to render in the template] 
         lst = [{'platform_name': t[0], 'account_type': t[1], 'usr_hrn':t[2], 'usr_pubkey':t[3]} 
                for t in zip(platform_name_list, account_type_list, usr_hrn_list, pub_key_list)]
-        #print "test"
-        #print lst
 
         context = super(AccountView, self).get_context_data(**kwargs)
         context['data'] = lst
@@ -74,7 +77,7 @@ class AccountView(LoginRequiredAutoLogoutView):
         context ['lastname'] = config.get('lastname',"?")
         context ['fullname'] = context['firstname'] +' '+ context['lastname']
         context ['authority'] = config.get('authority',"Unknown Authority")
-        #context['users'] = userlist.render(self.request)
+        context['user_private_key'] = account_priv_key
         
         # XXX This is repeated in all pages
         # more general variables expected in the template
index 4b04246..1133452 100644 (file)
                                                <button id="upload_file" type="button" title="Upload a public key"> Upload </button>       
                                </td>
                        </tr>
-                       <tr class="even" id="pkey_row" display="none">
-                               <td class="key">Private Key </td>
+                       <tr class="even" id="pkey_row">
+                                {%if 'N/A' not in user_private_key%}
+                               <td class="key">Private Key </td> <!-- Hide if priv_key doesn't exist in myslice platform   -->
                                <td class="value">********<a href="#">
                                        <button type="submit" name="dl_pkey" class="download" title="Download your privaye key" id="dl_pkey"> Download </button>
                                        <button id="delete" name="delete" type="submit" title="Delete your private key">Delete </button>
                                </td>
+                                {%endif%}              
                                </tr>
                                <tr class="odd">
                                <td colspan="2">
index 1fc3b4b..de44555 100644 (file)
@@ -1,3 +1,6 @@
+from pprint import pprint
+from manifold.manifoldapi       import execute_query
+from manifold.core.query        import Query
 # a set of utilities to help make the global layout consistent across views
 
 # dropdowns are kind of ad hoc for now, and limited to one level
@@ -15,7 +18,16 @@ def topmenu_items (current,request=None):
     if has_user:
         result.append({'label':'Dashboard', 'href': '/portal/dashboard/'})
         result.append({'label':'Request a slice', 'href': '/portal/slice_request/'})
-        result.append({'label':'Validation', 'href': '/portal/validate/'})
+        # ** Where am I a PI **
+        # For this we need to ask SFA (of all authorities) = PI function
+        pi_authorities_query = Query.get('ple:user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities')
+        pi_authorities_tmp = execute_query(request, pi_authorities_query)
+        pi_authorities = set()
+        for pa in pi_authorities_tmp:
+            pi_authorities |= set(pa['pi_authorities'])
+        print "pi_authorities =", pi_authorities
+        if len(pi_authorities) > 0:
+            result.append({'label':'Validation', 'href': '/portal/validate/'})
         dropdown = []
         dropdown.append({'label':'Platforms', 'href': '/portal/platforms/'})
         dropdown.append({'label':'My Account', 'href': '/portal/account/'})