X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fslicerequestview.py;h=82c66551202ca226d0338cd9574bdb40b53d8050;hb=ad016322ae3f21b27cda0e942fa48a10c3c728a3;hp=f11603fe9452b4c60fe38404f9c4eab99374f261;hpb=9f80229afb54725f42b1e7420e898f3ea1bf176d;p=myslice.git diff --git a/portal/slicerequestview.py b/portal/slicerequestview.py index f11603fe..82c66551 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 @@ -133,10 +140,10 @@ class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView): 'email' : user_email, 'timestamp' : time.time(), 'authority_hrn' : authority_hrn, - 'organization' : wsgi_request.POST.get('org_name', ''), + 'organization' : request.POST.get('org_name', ''), 'slice_name' : slice_name, - 'url' : wsgi_request.POST.get('url', ''), - 'purpose' : wsgi_request.POST.get('purpose', ''), + 'url' : request.POST.get('url', ''), + 'purpose' : request.POST.get('purpose', ''), 'current_site' : current_site } @@ -178,25 +185,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, @@ -210,8 +217,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)