File: //home/arjun/projects/buyercall_new/buyercall/buyercall/blueprints/issue/tasks.py
from flask import current_app
from flask_babel import lazy_gettext as _
from buyercall.lib.flask_mailplus import _try_renderer_template
from buyercall.app import create_celery_app
from buyercall.blueprints.issue.models import Issue
from buyercall.blueprints.user.models import User
celery = create_celery_app(current_app)
@celery.task()
def deliver_support_email(issue_id, **kwargs):
"""
Send a support e-mail.
:param issue_id: Id of the issue
:type issue_id: int
:return: None
"""
issue = Issue.query.get(issue_id)
if issue is None:
return
ctx = {'issue': issue}
# Find the partner users associated with issue
partner_users = User.query.filter(User.partnership_id == issue.partnership_id, User.role == 'partner').all()
recipient_email = list()
recipient_email.append('support@buyercall.com')
for user in partner_users:
recipient_email.append(user.email)
issue_template = _try_renderer_template('issue/mail/support', ext='txt', **ctx)
from buyercall.lib.util_ses_email import send_ses_email
send_ses_email(recipients=recipient_email,
p_id=issue.partnership_id,
subject='[Support request] ' + issue.label + 's',
text=issue_template,
sender=issue.email,
account_name='Support Team'
)
return None