Demo OpenLab Debug off in manifold/static/js/manifold.js
[unfold.git] / portal / slicerequestview.py
index e42619e..e8c80d8 100644 (file)
@@ -1,23 +1,33 @@
 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)
+        onelab_enabled = True
+        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 +59,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 = authority_get_pi_emails(request,authority_hrn)
             #recipients = ['yasin.upmc@gmail.com','jordan.auge@lip6.fr']
             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 +75,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)