X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fmanagementtabrequests.py;h=2c80e41f23573bd63e4f16bfbd5c84529cf7cbde;hb=dcfd7d72e5440dc28afdafa1466742a14624d9dd;hp=dcbe8a0ffe220da18d8a0f525058c79968e6f8d5;hpb=f14b01877d399b176e18a44f1d265358ad27de89;p=unfold.git diff --git a/portal/managementtabrequests.py b/portal/managementtabrequests.py index dcbe8a0f..2c80e41f 100644 --- a/portal/managementtabrequests.py +++ b/portal/managementtabrequests.py @@ -7,6 +7,8 @@ from manifoldapi.manifoldapi import execute_query from django.views.generic.base import TemplateView from unfold.loginrequired import LoginRequiredView +from unfold.page import Page + from django.http import HttpResponse from django.shortcuts import render @@ -85,9 +87,15 @@ class ManagementRequestsView (LoginRequiredView, ThemeView): for authority_hrn, credential in config['delegated_authority_credentials'].items(): credential_authorities.add(authority_hrn) + # CACHE PB with fields + page = Page(self.request) + metadata = page.get_metadata() + user_md = metadata.details_by_object('user') + user_fields = [column['name'] for column in user_md['column']] + # ** Where am I a PI ** # For this we need to ask SFA (of all authorities) = PI function - pi_authorities_query = Query.get('myslice:user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities') + pi_authorities_query = Query.get('myslice:user').filter_by('user_hrn', '==', '$user_hrn').select(user_fields) pi_authorities_tmp = execute_query(self.request, pi_authorities_query) pi_authorities = set() try: