X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fslicerequestview.py;h=6d7801d5b2d788cd722b901d902cce43fac2a53a;hb=81e73becc2f47d96de6cf9f94ba4c86f710a18ba;hp=f0643e22e2b9c3b1970923b4f39138247edcc179;hpb=a8104de58940697d33f0f38cb3c866b7ecf6f4f4;p=myslice.git diff --git a/portal/slicerequestview.py b/portal/slicerequestview.py index f0643e22..6d7801d5 100644 --- a/portal/slicerequestview.py +++ b/portal/slicerequestview.py @@ -3,6 +3,8 @@ import time import re from django.shortcuts import render +from django.shortcuts import render_to_response +from django.template import RequestContext from django.contrib.sites.models import Site from unfold.page import Page @@ -32,9 +34,14 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): def get (self, request): return self.get_or_post (request, 'GET') - def get_or_post (self, wsgi_request, method): + def get_or_post (self, request, method): """ """ + from django.conf import settings + print "_"*80 + print settings.TEMPLATE_CONTEXT_PROCESSORS + print "_"*80 + errors = [] slice_name ='' purpose='' @@ -43,14 +50,14 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): authority_name = None # Retrieve the list of authorities authorities_query = Query.get('authority').select('name', 'authority_hrn') - authorities = execute_admin_query(wsgi_request, authorities_query) + authorities = execute_admin_query(request, authorities_query) if authorities is not None: authorities = sorted(authorities, key=lambda k: k['authority_hrn']) authorities = sorted(authorities, key=lambda k: k['name']) # Get user_email (XXX Would deserve to be simplified) user_query = Query().get('local:user').select('email','config') - user_details = execute_query(wsgi_request, user_query) + user_details = execute_query(request, user_query) user_email = user_details[0].get('email') # getting user_hrn for user_detail in user_details: @@ -66,10 +73,10 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): authority_name = user_authority account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config') - account_details = execute_query(wsgi_request, account_query) + account_details = execute_query(request, account_query) platform_query = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled') - platform_details = execute_query(wsgi_request, platform_query) + platform_details = execute_query(request, platform_query) user_hrn = None #getting user_hrn from local:account for account_detail in account_details: @@ -89,11 +96,11 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): #else: # pi = "is_pi" - pi = authority_check_pis (wsgi_request, user_email) + pi = authority_check_pis (request, user_email) logger.debug("SLICEREQUESTVIEW.PY ----- pi= {}".format(pi)) # Page rendering - page = Page(wsgi_request) + page = Page(request) page.add_js_files ( [ "js/jquery.validate.js", "js/jquery-ui.js" ] ) page.add_css_files ( [ "css/jquery-ui.css" ] ) page.expose_js_metadata() @@ -107,15 +114,15 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): # getting the authority_hrn from the selected organization for authority in authorities: - if authority['name'] == wsgi_request.POST.get('org_name', ''): + if authority['name'] == request.POST.get('org_name', ''): authority_hrn = authority['authority_hrn'] # Handle the case when we use only hrn and not name if authority_hrn is None: - authority_hrn = wsgi_request.POST.get('org_name', '') + authority_hrn = request.POST.get('org_name', '') # Handle project if used - project = wsgi_request.POST.get('project', None) + project = request.POST.get('project', None) if project is not None and project != '': authority_hrn = project @@ -126,10 +133,10 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): 'email' : user_email, 'timestamp' : time.time(), 'authority_hrn' : authority_hrn, - 'organization' : wsgi_request.POST.get('org_name', ''), - 'slice_name' : wsgi_request.POST.get('slice_name', ''), - 'url' : wsgi_request.POST.get('url', ''), - 'purpose' : wsgi_request.POST.get('purpose', ''), + 'organization' : request.POST.get('org_name', ''), + 'slice_name' : request.POST.get('slice_name', ''), + 'url' : request.POST.get('url', ''), + 'purpose' : request.POST.get('purpose', ''), 'current_site' : current_site } @@ -137,7 +144,7 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): slice_name = slice_request['slice_name'] # slice name is unique among all authorities slice_query = Query().get('myslice:slice').select('slice_hrn') - slice_details_sfa = execute_admin_query(wsgi_request, slice_query) + slice_details_sfa = execute_admin_query(request, slice_query) for _slice in slice_details_sfa: split_list = _slice['slice_hrn'].split('.') sfa_slice_name = split_list[-1] @@ -173,25 +180,25 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): url = slice_request['url'] if not errors: - if is_pi(wsgi_request, user_hrn, authority_hrn): + if is_pi(request, user_hrn, authority_hrn): # PIs can directly create slices in their own authority... - create_slice(wsgi_request, slice_request) - clear_user_creds(wsgi_request, user_email) + create_slice(request, slice_request) + clear_user_creds(request, user_email) self.template_name = 'slice-request-done-view.html' else: - # Otherwise a wsgi_request is sent to the PI - create_pending_slice(wsgi_request, slice_request, user_email) + # Otherwise a request is sent to the PI + create_pending_slice(request, slice_request, user_email) self.template_name = 'slice-request-ack-view.html' # log user activity - activity.user.slice(wsgi_request) - - return render(wsgi_request, self.template, {'theme': self.theme}) # Redirect after POST + activity.user.slice(request) + return render_to_response(self.template, {'theme': self.theme, 'request':request}, context_instance=RequestContext(request)) + #return render(request, self.template, {'theme': self.theme}) # Redirect after POST else: slice_request = {} template_env = { - 'username': wsgi_request.user.email, + 'username': request.user.email, 'topmenu_items': topmenu_items_live('Request a slice', page), 'errors': errors, 'slice_name': slice_name, @@ -205,8 +212,11 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): 'cc_myself': True, 'authorities': authorities, 'theme': self.theme, - 'section': "Slice request" + 'section': "Slice request", + 'request': request, } template_env.update(slice_request) template_env.update(page.prelude_env()) - return render(wsgi_request, self.template, template_env) + + return render_to_response(self.template,template_env, context_instance=RequestContext(request)) + #return render(request, self.template, template_env)