mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-08-05 16:58:59 +00:00
Merge branch 'master' into social
* master: Web in fabfile only refers to app servers. Allowing multiple recipients in emailed stories.
This commit is contained in:
commit
2346f43d25
3 changed files with 11 additions and 8 deletions
|
@ -1250,14 +1250,17 @@ def send_story_email(request):
|
||||||
message = 'OK'
|
message = 'OK'
|
||||||
story_id = request.POST['story_id']
|
story_id = request.POST['story_id']
|
||||||
feed_id = request.POST['feed_id']
|
feed_id = request.POST['feed_id']
|
||||||
to_address = request.POST['to']
|
to_addresses = request.POST.get('to', '').replace(',', ' ').replace(' ', ' ').split(' ')
|
||||||
from_name = request.POST['from_name']
|
from_name = request.POST['from_name']
|
||||||
from_email = request.POST['from_email']
|
from_email = request.POST['from_email']
|
||||||
comments = request.POST['comments']
|
comments = request.POST['comments']
|
||||||
comments = comments[:2048] # Separated due to PyLint
|
comments = comments[:2048] # Separated due to PyLint
|
||||||
from_address = 'share@newsblur.com'
|
from_address = 'share@newsblur.com'
|
||||||
|
|
||||||
if not email_re.match(to_address):
|
if not to_addresses:
|
||||||
|
code = -1
|
||||||
|
message = 'Please provide at least one email address.'
|
||||||
|
elif not all(email_re.match(to_address) for to_address in to_addresses):
|
||||||
code = -1
|
code = -1
|
||||||
message = 'You need to send the email to a valid email address.'
|
message = 'You need to send the email to a valid email address.'
|
||||||
elif not email_re.match(from_email):
|
elif not email_re.match(from_email):
|
||||||
|
@ -1276,7 +1279,7 @@ def send_story_email(request):
|
||||||
subject = subject.replace('\n', ' ')
|
subject = subject.replace('\n', ' ')
|
||||||
msg = EmailMultiAlternatives(subject, text,
|
msg = EmailMultiAlternatives(subject, text,
|
||||||
from_email='NewsBlur <%s>' % from_address,
|
from_email='NewsBlur <%s>' % from_address,
|
||||||
to=[to_address],
|
to=to_addresses,
|
||||||
cc=['%s <%s>' % (from_name, from_email)],
|
cc=['%s <%s>' % (from_name, from_email)],
|
||||||
headers={'Reply-To': '%s <%s>' % (from_name, from_email)})
|
headers={'Reply-To': '%s <%s>' % (from_name, from_email)})
|
||||||
msg.attach_alternative(html, "text/html")
|
msg.attach_alternative(html, "text/html")
|
||||||
|
@ -1285,8 +1288,9 @@ def send_story_email(request):
|
||||||
except boto.ses.connection.ResponseError, e:
|
except boto.ses.connection.ResponseError, e:
|
||||||
code = -1
|
code = -1
|
||||||
message = "Email error: %s" % str(e)
|
message = "Email error: %s" % str(e)
|
||||||
logging.user(request, '~BMSharing story by email: ~FY~SB%s~SN~BM~FY/~SB%s' %
|
logging.user(request, '~BMSharing story by email to %s recipient%s: ~FY~SB%s~SN~BM~FY/~SB%s' %
|
||||||
(story['story_title'][:50], feed.feed_title[:50]))
|
(len(to_addresses), '' if len(to_addresses) == 1 else 's',
|
||||||
|
story['story_title'][:50], feed.feed_title[:50]))
|
||||||
|
|
||||||
return {'code': code, 'message': message}
|
return {'code': code, 'message': message}
|
||||||
|
|
||||||
|
|
3
fabfile.py
vendored
3
fabfile.py
vendored
|
@ -36,8 +36,7 @@ env.roledefs ={
|
||||||
'app03.newsblur.com',
|
'app03.newsblur.com',
|
||||||
'app04.newsblur.com'],
|
'app04.newsblur.com'],
|
||||||
'dev': ['dev.newsblur.com'],
|
'dev': ['dev.newsblur.com'],
|
||||||
'web': ['www.newsblur.com',
|
'web': ['app02.newsblur.com',
|
||||||
'app02.newsblur.com',
|
|
||||||
'app04.newsblur.com'],
|
'app04.newsblur.com'],
|
||||||
'db': ['db01.newsblur.com',
|
'db': ['db01.newsblur.com',
|
||||||
'db02.newsblur.com',
|
'db02.newsblur.com',
|
||||||
|
|
|
@ -46,7 +46,7 @@ _.extend(NEWSBLUR.ReaderSendEmail.prototype, {
|
||||||
$.make('div', { className: 'NB-modal-email-to-container' }, [
|
$.make('div', { className: 'NB-modal-email-to-container' }, [
|
||||||
$.make('label', { 'for': 'NB-send-email-to' }, [
|
$.make('label', { 'for': 'NB-send-email-to' }, [
|
||||||
$.make('span', { className: 'NB-raquo' }, '»'),
|
$.make('span', { className: 'NB-raquo' }, '»'),
|
||||||
' Recipient\'s email: '
|
' Recipient\'s emails: '
|
||||||
]),
|
]),
|
||||||
$.make('input', { className: 'NB-input NB-modal-to', name: 'to', id: 'NB-send-email-to', value:
|
$.make('input', { className: 'NB-input NB-modal-to', name: 'to', id: 'NB-send-email-to', value:
|
||||||
($.cookie('NB:email:to') || "") })
|
($.cookie('NB:email:to') || "") })
|
||||||
|
|
Loading…
Add table
Reference in a new issue