HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/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