X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fslicerequestview.py;h=da8e667c02fc5a0f91b6bc96df8c3771830c5370;hb=491bd4d5497b5c431ab35716425f4c95fd2c3696;hp=e42619e83cb1cd193011e2353b007540065e1ca2;hpb=0b28b9a05826740f82decbd9e29662bf008e3b5c;p=myslice.git diff --git a/portal/slicerequestview.py b/portal/slicerequestview.py index e42619e8..da8e667c 100644 --- a/portal/slicerequestview.py +++ b/portal/slicerequestview.py @@ -1,23 +1,32 @@ from django.template.loader import render_to_string from django.shortcuts import render +from django.core.mail import send_mail from manifold.core.query import Query -from manifold.manifoldapi import execute_query +from manifold.manifoldapi import execute_admin_query, execute_query from portal.models import PendingSlice from portal.actions import authority_get_pi_emails from portal.forms import SliceRequestForm -from portal.templateviews import LoginRequiredAutoLogoutView -from myslice.viewutils import topmenu_items, the_user +from unfold.loginrequired import LoginRequiredAutoLogoutView +from ui.topmenu import topmenu_items, the_user class SliceRequestView (LoginRequiredAutoLogoutView): def authority_hrn_initial (self, request): - authorities_query = Query.get('authority').filter_by('authority_hrn', 'included', ['ple.inria', 'ple.upmc']).select('name', 'authority_hrn') -# authorities_query = Query.get('authority').select('authority_hrn') - authorities = execute_query(request, authorities_query) + authorities_query = Query.get('authority').\ + select('name', 'authority_hrn') - authority_hrn_tuples = [ (authority['authority_hrn'], authority['name'],) for authority in authorities ] + onelab_enabled_query = Query.get('local:platform').filter_by('platform', '==', 'ple-onelab').filter_by('disabled', '==', 'False') + onelab_enabled = not not execute_admin_query(request, onelab_enabled_query) + if onelab_enabled: + authorities_query = authorities_query.filter_by('authority_hrn', 'included', ['ple.inria', 'ple.upmc', 'ple.ibbtple']) + + authorities = execute_admin_query(request, authorities_query) + #authorities = sorted(authorities) + + authority_hrn_tuples = [ (authority['authority_hrn'], authority['name'] if authority['name'] else authority['authority_hrn'],) for authority in authorities ] + print "authority_hrn_tuples=", authority_hrn_tuples return {'authority_hrn': authority_hrn_tuples} # because we inherit LoginRequiredAutoLogoutView that is implemented by redefining 'dispatch' @@ -49,14 +58,15 @@ class SliceRequestView (LoginRequiredAutoLogoutView): cc_myself = form.cleaned_data['cc_myself'] # The recipients are the PI of the authority - recipients = authority_get_pi_emails(authority_hrn) - #recipients = ['yasin.upmc@gmail.com','jordan.auge@lip6.fr'] + recipients = authority_get_pi_emails(request, authority_hrn) + if cc_myself: recipients.append(email) - msg = render_to_string('slice_request_email.txt', form.cleaned_data) - send_mail("Onelab New Slice request form submitted", msg, email, recipients) + msg = render_to_string('slice-request-email.txt', form.cleaned_data) + print "email, msg, email, recipients", email , msg, email, recipients + send_mail("Onelab user %s requested a slice"%email , msg, email, recipients) - return render(request,'slicereq_recvd.html') # Redirect after POST + return render(request,'slice-request-ack-view.html') # Redirect after POST else: return self._display (request, form) @@ -64,7 +74,7 @@ class SliceRequestView (LoginRequiredAutoLogoutView): return self._display (request, SliceRequestForm(initial=self.authority_hrn_initial(request))) def _display (self, request, form): - return render(request, 'slice_request.html', { + return render(request, 'slice-request-view.html', { 'form': form, 'topmenu_items': topmenu_items('Request a slice', request), 'username': the_user (request)