100 lines
3.7 KiB
Python
100 lines
3.7 KiB
Python
|
import os
|
||
|
|
||
|
from crc import app, env
|
||
|
from jinja2 import Environment, FileSystemLoader
|
||
|
from flask import render_template, render_template_string
|
||
|
from flask_mail import Mail, Message
|
||
|
|
||
|
|
||
|
# TODO: Extract common mailing code into its own function
|
||
|
|
||
|
def send_ramp_up_submission_email(sender, recipients, approver_1, approver_2=None):
|
||
|
with app.app_context():
|
||
|
try:
|
||
|
msg = Message('Research Ramp-up Plan Submitted',
|
||
|
sender=sender,
|
||
|
recipients=recipients)
|
||
|
|
||
|
template = env.get_template('ramp_up_submission.txt')
|
||
|
template_vars = {'approver_1': approver_1, 'approver_2': approver_2}
|
||
|
msg.body = template.render(template_vars)
|
||
|
template = env.get_template('ramp_up_submission.html')
|
||
|
msg.html = template.render(template_vars)
|
||
|
|
||
|
mail = Mail(app)
|
||
|
mail.send(msg)
|
||
|
except Exception as e:
|
||
|
app.logger.error(str(e))
|
||
|
|
||
|
def send_ramp_up_approval_request_email(sender, recipients, primary_investigator):
|
||
|
with app.app_context():
|
||
|
try:
|
||
|
msg = Message('Research Ramp-up Plan Approval Request',
|
||
|
sender=sender,
|
||
|
recipients=recipients)
|
||
|
|
||
|
template = env.get_template('ramp_up_approval_request.txt')
|
||
|
template_vars = {'primary_investigator': primary_investigator}
|
||
|
msg.body = template.render(template_vars)
|
||
|
template = env.get_template('ramp_up_approval_request.html')
|
||
|
msg.html = template.render(template_vars)
|
||
|
|
||
|
mail = Mail(app)
|
||
|
mail.send(msg)
|
||
|
except Exception as e:
|
||
|
app.logger.error(str(e))
|
||
|
|
||
|
def send_ramp_up_approval_request_first_review_email(sender, recipients, primary_investigator, approver):
|
||
|
with app.app_context():
|
||
|
try:
|
||
|
msg = Message('Research Ramp-up Plan Approval Request',
|
||
|
sender=sender,
|
||
|
recipients=recipients)
|
||
|
|
||
|
template = env.get_template('ramp_up_approval_request_first_review.txt')
|
||
|
template_vars = {'primary_investigator': primary_investigator, 'approver': approver}
|
||
|
msg.body = template.render(template_vars)
|
||
|
template = env.get_template('ramp_up_approval_request_first_review.html')
|
||
|
msg.html = template.render(template_vars)
|
||
|
|
||
|
mail = Mail(app)
|
||
|
mail.send(msg)
|
||
|
except Exception as e:
|
||
|
app.logger.error(str(e))
|
||
|
|
||
|
def send_ramp_up_approved_email(sender, recipients, approver_1, approver_2=None):
|
||
|
with app.app_context():
|
||
|
try:
|
||
|
msg = Message('Research Ramp-up Plan Approved',
|
||
|
sender=sender,
|
||
|
recipients=recipients)
|
||
|
|
||
|
template = env.get_template('ramp_up_approved.txt')
|
||
|
template_vars = {'approver_1': approver_1, 'approver_2': approver_2}
|
||
|
msg.body = template.render(template_vars)
|
||
|
template = env.get_template('ramp_up_approved.html')
|
||
|
msg.html = template.render(template_vars)
|
||
|
|
||
|
mail = Mail(app)
|
||
|
mail.send(msg)
|
||
|
except Exception as e:
|
||
|
app.logger.error(str(e))
|
||
|
|
||
|
def send_ramp_up_denied_email(sender, recipients, approver):
|
||
|
with app.app_context():
|
||
|
try:
|
||
|
msg = Message('Research Ramp-up Plan Denied',
|
||
|
sender=sender,
|
||
|
recipients=recipients)
|
||
|
|
||
|
template = env.get_template('ramp_up_denied.txt')
|
||
|
template_vars = {'approver': approver}
|
||
|
msg.body = template.render(template_vars)
|
||
|
template = env.get_template('ramp_up_denied.html')
|
||
|
msg.html = template.render(template_vars)
|
||
|
|
||
|
mail = Mail(app)
|
||
|
mail.send(msg)
|
||
|
except Exception as e:
|
||
|
app.logger.error(str(e))
|