X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fvalidationview.py;h=65506e3eccd45947332c763285c245671160811c;hb=7be57c9d8e23d9829bc54bc98ec74b8345786b7a;hp=3cfa528560e6c874314dcaa4b0816d2d539697f0;hpb=448eb28000efc949e8150330e038bb6c806ccabf;p=myslice.git diff --git a/portal/validationview.py b/portal/validationview.py index 3cfa5285..65506e3e 100644 --- a/portal/validationview.py +++ b/portal/validationview.py @@ -153,8 +153,17 @@ class ValidatePendingView(LoginRequiredAutoLogoutView, ThemeView): pi_authorities_query = Query.get('user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities') pi_authorities_tmp = execute_query(self.request, pi_authorities_query) pi_authorities = set() - for pa in pi_authorities_tmp: - pi_authorities |= set(pa['pi_authorities']) + try: + for pa in pi_authorities_tmp: + pi_authorities |= set(pa['pi_authorities']) + except: + print 'No pi_authorities' +# TODO: exception if no parent_authority +# try: +# for pa in pi_authorities_tmp: +# pi_authorities |= set(pa['pi_authorities']) +# except: + # # include all sub-authorities of the PI # # if PI on ple, include all sub-auths ple.upmc, ple.inria and so on... @@ -247,7 +256,25 @@ class ValidatePendingView(LoginRequiredAutoLogoutView, ThemeView): if not auth_hrn in dest: dest[auth_hrn] = [] - dest[auth_hrn].append(request) + dest[auth_hrn].append(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" context = super(ValidatePendingView, self).get_context_data(**kwargs) context['my_authorities'] = ctx_my_authorities @@ -261,7 +288,7 @@ class ValidatePendingView(LoginRequiredAutoLogoutView, ThemeView): context['topmenu_items'] = topmenu_items_live('Validation', page) # so we can sho who is logged context['username'] = the_user(self.request) - + context['pi'] = pi context['theme'] = self.theme context['section'] = "Requests" # XXX We need to prepare the page for queries