from ui.topmenu import topmenu_items, the_user
from django.core.mail import EmailMultiAlternatives, send_mail
from portal.forms import ContactForm
+from manifold.core.query import Query
+from manifoldapi.manifoldapi import execute_query
+import json
from myslice.theme import ThemeView
+
+import activity.user
+
theme = ThemeView()
# 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 (FreeAccessView, ThemeView):
+ template_name = 'contact.html'
def post (self, request):
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
- first_name = form.cleaned_data['first_name']
- last_name = form.cleaned_data['last_name']
- authority = form.cleaned_data['authority']
+ #first_name = form.cleaned_data['first_name']
+ #last_name = form.cleaned_data['last_name']
+ #authority = form.cleaned_data['authority']
subject = form.cleaned_data['subject']
description = form.cleaned_data['description']
email = form.cleaned_data['email'] # email of the sender
- cc_myself = form.cleaned_data['cc_myself']
+ #cc_myself = form.cleaned_data['cc_myself']
#try:
# Send an email: the support recipients
- #theme.template_name = 'email_support.txt'
- #recipients = render_to_string(theme.template, form.cleaned_data)
- #recipients = subject.replace('\n', '')
+ theme.template_name = 'email_default_recipients.txt'
+ recipients = render_to_string(theme.template, form.cleaned_data)
+ recipients = recipients.replace('\n', '')
+ #recipients = ['support@onelab.eu']
+ ## removed it cz recipients is not a list so append doesn't work ###
+ ## we don't need it cz the new ticketing systems sends a confirmation email ###
#if cc_myself:
# recipients.append(email)
- recipients = ['support@myslice.info']
theme.template_name = 'contact_support_email.html'
html_content = render_to_string(theme.template, form.cleaned_data)
# else:
sender = email
- msg = EmailMultiAlternatives(subject, text_content, sender, recipients)
+ msg = EmailMultiAlternatives(subject, text_content, sender, [recipients])
msg.attach_alternative(html_content, "text/html")
msg.send()
#except Exception, e:
username = request.user.email
else :
username = None
- return render(request,'contact_sent.html', { 'theme' : self.theme, 'username': username}) # Redirect after POST
+ # log user activity
+ activity.user.contact(self.request)
+ return render(request,'contact_sent.html', { 'theme' : self.theme, 'username': username, 'request':request}) # Redirect after POST
else:
return self._display (request, form)
return self._display (request, ContactForm()) # A fresh unbound form
def _display (self, request, form):
- if request.user.is_authenticated() :
+ if request.user.is_authenticated():
username = request.user.email
else :
username = None
- return render(request, 'contact.html', {
+ pi = "is_not_pi"
+ return render(request, self.template, {
'form': form,
'topmenu_items': topmenu_items('Contact', request),
'theme' : self.theme,
'username': username,
- 'section': "Contact"
+ 'section': "Contact",
+ 'request': request,
})