X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fvalidationview.py;h=b87a250fd8d612a454b32bc5d7be58ce0d1798d7;hb=refs%2Fheads%2Ff4f-review;hp=9ecd9627bdb32250b4b98ac3c185e64498460260;hpb=5a40dbe074a307538769ae873e446323d6a75f39;p=myslice.git diff --git a/portal/validationview.py b/portal/validationview.py index 9ecd9627..b87a250f 100644 --- a/portal/validationview.py +++ b/portal/validationview.py @@ -28,7 +28,7 @@ from django.http import HttpResponseRedirect, HttpResponse from django.shortcuts import render from django.template.loader import render_to_string -from unfold.loginrequired import FreeAccessView +from unfold.loginrequired import LoginRequiredAutoLogoutView from ui.topmenu import topmenu_items_live, the_user from portal.event import Event @@ -46,10 +46,11 @@ from manifold.core.query import Query from unfold.page import Page from myslice.theme import ThemeView -class ValidatePendingView(FreeAccessView, ThemeView): +class ValidatePendingView(LoginRequiredAutoLogoutView, ThemeView): template_name = "validate_pending.html" def get_context_data(self, **kwargs): + pi = "" # We might have slices on different registries with different user accounts # We note that this portal could be specific to a given registry, to which we register users, but i'm not sure that simplifies things # Different registries mean different identities, unless we identify via SFA HRN or have associated the user email to a single hrn @@ -150,11 +151,20 @@ class ValidatePendingView(FreeAccessView, ThemeView): # ** 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('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,9 +257,11 @@ class ValidatePendingView(FreeAccessView, ThemeView): if not auth_hrn in dest: dest[auth_hrn] = [] - dest[auth_hrn].append(request) + dest[auth_hrn].append(request) context = super(ValidatePendingView, self).get_context_data(**kwargs) + print "testing" + print ctx_my_authorities context['my_authorities'] = ctx_my_authorities context['sub_authorities'] = ctx_sub_authorities context['delegation_authorities'] = ctx_delegation_authorities @@ -261,8 +273,9 @@ class ValidatePendingView(FreeAccessView, ThemeView): context['topmenu_items'] = topmenu_items_live('Validation', page) # so we can sho who is logged context['username'] = the_user(self.request) - + context['pi'] = "is_pi" context['theme'] = self.theme + context['section'] = "Requests" # XXX We need to prepare the page for queries #context.update(page.prelude_env())