views that do *not* require authentication need to inherit FreeAccessView
[myslice.git] / portal / contactview.py
index de6a317..796c8b0 100644 (file)
@@ -1,15 +1,17 @@
 from django.shortcuts           import render
-
+from django.template.loader     import render_to_string
 from django.views.generic       import View
+from django.core.mail           import send_mail
 
-from myslice.viewutils          import topmenu_items, the_user
+from unfold.loginrequired       import FreeAccessView
+from ui.topmenu                 import topmenu_items, the_user
 
 from portal.forms               import ContactForm
 
 # splitting the 2 functions done here
 # GET is for displaying the empty form
 # POST is to process it once filled - or show the form again if anything is missing
-class ContactView (View):
+class ContactView (FreeAccessView):
     def post (self, request):
         form = ContactForm(request.POST) # A form bound to the POST data
         if form.is_valid(): # All validation rules pass
@@ -27,8 +29,8 @@ class ContactView (View):
             if cc_myself:
                 recipients.append(email)
 
-            from django.core.mail import send_mail
-            send_mail("Onelab user submitted a query ", [first_name,last_name,affiliation,subject,message], email, recipients)
+            msg = render_to_string('slice-request-email.txt', form.cleaned_data)
+            send_mail("Onelab user %s submitted a query "%email, msg, email, recipients)
             return render(request,'contact_sent.html') # Redirect after POST
         else:
             return self._display (request, form)
@@ -39,6 +41,6 @@ class ContactView (View):
     def _display (self, request, form):
         return render(request, 'contact.html', {
                 'form': form,
-                'topmenu_items': topmenu_items('Contact Us', request),
+                'topmenu_items': topmenu_items('Contact', request),
                 'username': the_user (request)
                 })