Merge branch 'fibre' of ssh://git.onelab.eu/git/myslice into fibre
[unfold.git] / portal / validationview.py
index e0f4ab1..1047130 100644 (file)
@@ -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())