X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fvalidationview.py;h=10471308fe7d92e851654ea376a86903a5c28926;hb=refs%2Fheads%2Ffibre;hp=e0f4ab1baacf5b6ae36d6d649a0f2e22beeb0c1d;hpb=6a26478f552d4ac522b796cec49f2ad3d7d0aa0c;p=unfold.git diff --git a/portal/validationview.py b/portal/validationview.py index e0f4ab1b..10471308 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 @@ -44,12 +44,13 @@ from portal.actions import get_requests from manifoldapi.manifoldapi import execute_query from manifold.core.query import Query from unfold.page import Page -from theme import ThemeView +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 @@ -153,8 +154,17 @@ class ValidatePendingView(FreeAccessView, 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,9 +257,12 @@ 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 + print auth_hrn context['my_authorities'] = ctx_my_authorities context['sub_authorities'] = ctx_sub_authorities context['delegation_authorities'] = ctx_delegation_authorities @@ -261,8 +274,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())