X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fmanagementtabrequests.py;h=2c80e41f23573bd63e4f16bfbd5c84529cf7cbde;hb=0b7b5e384ee5826c65e49f81a70761855cdcc800;hp=7c0b222e13de181cc9ddc4bbb3027f6d8a73ea06;hpb=ea22db0e99695ec26e1481558af65e0a541572da;p=unfold.git diff --git a/portal/managementtabrequests.py b/portal/managementtabrequests.py index 7c0b222e..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('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: