refine contact api
This commit is contained in:
parent
47685b87fe
commit
40beeacf3f
2 changed files with 27 additions and 9 deletions
|
@ -1,4 +1,5 @@
|
||||||
Hi {{sitename}} admin,
|
{{name}} <{{email}}> sent a contact message:
|
||||||
|
|
||||||
someone sent you a message:
|
|
||||||
{{message}}
|
{{message}}
|
||||||
|
|
||||||
|
--
|
||||||
|
{{sitename}}
|
||||||
|
|
|
@ -534,21 +534,38 @@ def contact(request):
|
||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
data = json.loads(request.POST['data'])
|
data = json.loads(request.POST['data'])
|
||||||
if 'email' in data and 'message' in data:
|
name = data.get('name', '')
|
||||||
email = data['email']
|
email = data.get('email', '')
|
||||||
|
if request.user.is_authenticated():
|
||||||
|
if not name:
|
||||||
|
name = request.user.username
|
||||||
|
if not email:
|
||||||
|
email = request.user.email
|
||||||
|
if 'message' in data and data['message'].strip():
|
||||||
|
email_from = settings.CONFIG['site']['email']['system']
|
||||||
|
email_to = [settings.CONFIG['site']['email']['contact'], ]
|
||||||
template = loader.get_template('contact_email.txt')
|
template = loader.get_template('contact_email.txt')
|
||||||
context = RequestContext(request, {
|
context = RequestContext(request, {
|
||||||
'sitename': settings.SITENAME,
|
|
||||||
'email': email,
|
'email': email,
|
||||||
'message': data['message'],
|
'message': data['message'].strip(),
|
||||||
|
'name': name,
|
||||||
|
'sitename': settings.SITENAME,
|
||||||
})
|
})
|
||||||
message = template.render(context)
|
message = template.render(context)
|
||||||
subject = '%s contact: %s' % (settings.SITENAME, data['subject'])
|
subject = (u'[%s Contact] %s' % (settings.SITENAME, data.get('subject', ''))).strip()
|
||||||
response = json_response(text='message sent')
|
response = json_response(text='message sent')
|
||||||
try:
|
try:
|
||||||
send_mail(subject, message, email, [settings.DEFAULT_FROM_EMAIL, ])
|
send_mail(subject.strip(), message, email_from, email_to)
|
||||||
except BadHeaderError:
|
except BadHeaderError:
|
||||||
response = json_response(status=400, text='invalid data')
|
response = json_response(status=400, text='invalid data')
|
||||||
|
if request.user.is_authenticated() \
|
||||||
|
and 'receipt' in data \
|
||||||
|
and data['receipt']:
|
||||||
|
message = data['message'].strip()
|
||||||
|
try:
|
||||||
|
send_mail(subject.strip(), message, email_from, [email])
|
||||||
|
except:
|
||||||
|
pass
|
||||||
else:
|
else:
|
||||||
response = json_response(status=400, text='invalid data')
|
response = json_response(status=400, text='invalid data')
|
||||||
return render_to_json_response(response)
|
return render_to_json_response(response)
|
||||||
|
|
Loading…
Reference in a new issue