From: Jordan Augé Date: Fri, 6 Dec 2013 15:28:59 +0000 (+0100) Subject: Merge branch 'master' of ssh://git.onelab.eu/git/myslice X-Git-Tag: myslice-0.3-0~91^2~7 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=f26eeb7c431cecfbd3ba6cba4d5dab6eeccc2753;hp=7e483a038eb61377f8f738ad7cb3b35d8dce5f37;p=unfold.git Merge branch 'master' of ssh://git.onelab.eu/git/myslice --- diff --git a/portal/accountview.py b/portal/accountview.py index f7fa1b8d..f0e7a4a6 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -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 diff --git a/portal/templates/account-view.html b/portal/templates/account-view.html index 4b042468..11334526 100644 --- a/portal/templates/account-view.html +++ b/portal/templates/account-view.html @@ -110,12 +110,14 @@ - - Private Key + + {%if 'N/A' not in user_private_key%} + Private Key ******** + {%endif%} diff --git a/ui/topmenu.py b/ui/topmenu.py index 1fc3b4b2..de445556 100644 --- a/ui/topmenu.py +++ b/ui/topmenu.py @@ -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/'})