X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fmanagementtabrequests.py;h=66f9991f23d746d7f9f1890b8f0cf14950a9b87f;hb=6a3f5d4949171451d5df2df5d0f96e9eb396f29c;hp=31cbb0d7a46be0307e8e5f6d93d036fc67745dc8;hpb=dd52272efad5e899f074a3274ef279745c372456;p=myslice.git diff --git a/portal/managementtabrequests.py b/portal/managementtabrequests.py index 31cbb0d7..66f9991f 100644 --- a/portal/managementtabrequests.py +++ b/portal/managementtabrequests.py @@ -18,6 +18,7 @@ from portal.actions import get_requests from myslice.theme import ThemeView import json +import ast class ManagementRequestsView (LoginRequiredView, ThemeView): template_name = "management-tab-requests.html" @@ -28,15 +29,21 @@ class ManagementRequestsView (LoginRequiredView, ThemeView): ctx_delegation_authorities = {} ctx_sub_authorities = {} dest = {} - + user_username = '' + user_authority = '' # The user need to be logged in if (self.request.user): - user_query = Query().get('local:user').filter_by('email', '==', self.request.user.email).select('user_id') + user_query = Query().get('local:user').filter_by('email', '==', self.request.user.username).select('user_id') user, = execute_query(self.request, user_query) user_id = user['user_id'] - + user_query = Query().get('local:user').filter_by('email', '==', self.request.user.username).select('config') + user, = execute_query(self.request, user_query) + user_config = user['config'] + user_config = ast.literal_eval(user_config) + user_authority = user_config['authority'] + user_username = self.request.user.username # Query manifold to learn about available SFA platforms for more information # In general we will at least have the portal # For now we are considering all registries @@ -120,8 +127,9 @@ class ManagementRequestsView (LoginRequiredView, ThemeView): # iterate on the requests and check if the authority matches a prefix # startswith an authority on which the user is PI requests = get_requests() - for r in requests: - auth_hrn = r['authority_hrn'] + auth_hrn = '' + for r in requests: + auth_hrn = r['authority_hrn'] for my_auth in pi_my_authorities: if auth_hrn.startswith(my_auth): dest = ctx_my_authorities @@ -156,10 +164,24 @@ class ManagementRequestsView (LoginRequiredView, ThemeView): # env['pi'] = "is_pi" # env['theme'] = self.theme # env['section'] = "Requests" - +# auth_hrn = user_authority + '.' + user_username.split("@")[1] + ctx_list = [ctx_my_authorities, ctx_sub_authorities, ctx_delegation_authorities] + for ctx in ctx_list: + if ctx: + for authorities in ctx: + for requests in ctx[authorities]: + try: + requests['object_auth'] = requests['user_hrn'].split('.')[0] + '.' + requests['user_hrn'].split('@')[1] + except: + print "This object has no user_hrn" + + pi_authority = user_authority + '.' + user_username.split("@")[1] context = super(ManagementRequestsView, self).get_context_data(**kwargs) - - + #print "testing" + #print ctx_my_authorities + #print auth_hrn + #print user_username + #print pi_authority context['my_authorities'] = ctx_my_authorities context['sub_authorities'] = ctx_sub_authorities context['delegation_authorities'] = ctx_delegation_authorities @@ -174,6 +196,7 @@ class ManagementRequestsView (LoginRequiredView, ThemeView): context['pi'] = "is_pi" context['theme'] = self.theme context['section'] = "Requests" + context['pi_authority'] = pi_authority # XXX We need to prepare the page for queries #context.update(page.prelude_env())