Merge pull request #109 from sartography/feature/mail-system
Feature/mail system
This commit is contained in:
commit
75232cbc0f
|
@ -44,5 +44,11 @@ PB_STUDY_DETAILS_URL = environ.get('PB_STUDY_DETAILS_URL', default=PB_BASE_URL +
|
|||
LDAP_URL = environ.get('LDAP_URL', default="ldap.virginia.edu").strip('/') # No trailing slash or http://
|
||||
LDAP_TIMEOUT_SEC = int(environ.get('LDAP_TIMEOUT_SEC', default=3))
|
||||
|
||||
# Fallback emails
|
||||
# Email configuration
|
||||
FALLBACK_EMAILS = ['askresearch@virginia.edu', 'sartographysupport@googlegroups.com']
|
||||
MAIL_SERVER = environ.get('MAIL_SERVER', default='smtp.mailtrap.io')
|
||||
MAIL_PORT = environ.get('MAIL_PORT', default=2525)
|
||||
MAIL_USE_SSL = environ.get('MAIL_USE_SSL', default=False)
|
||||
MAIL_USE_TLS = environ.get('MAIL_USE_TLS', default=True)
|
||||
MAIL_USERNAME = environ.get('MAIL_USERNAME', default='5f012d0108d374')
|
||||
MAIL_PASSWORD = environ.get('MAIL_PASSWORD', default='08442c04e98d50')
|
||||
|
|
|
@ -54,12 +54,6 @@ if app.config['ENABLE_SENTRY']:
|
|||
template_dir = os.getcwd() + '/crc/static/templates/mails'
|
||||
env = Environment(loader=FileSystemLoader(template_dir))
|
||||
# Mail settings
|
||||
app.config['MAIL_SERVER']='smtp.mailtrap.io'
|
||||
app.config['MAIL_PORT'] = 2525
|
||||
app.config['MAIL_USERNAME'] = '5f012d0108d374'
|
||||
app.config['MAIL_PASSWORD'] = '08442c04e98d50'
|
||||
app.config['MAIL_USE_TLS'] = True
|
||||
app.config['MAIL_USE_SSL'] = False
|
||||
mail = Mail(app)
|
||||
|
||||
print('=== USING THESE CONFIG SETTINGS: ===')
|
||||
|
|
|
@ -111,5 +111,9 @@ def update_approval(approval_id, body):
|
|||
session.add(approval_model)
|
||||
session.commit()
|
||||
|
||||
# Called only to send emails
|
||||
approver = body['approver']['uid']
|
||||
ApprovalService.update_approval(approval_id, approver)
|
||||
|
||||
result = ApprovalSchema().dump(approval_model)
|
||||
return result
|
||||
|
|
|
@ -85,13 +85,14 @@ class ApprovalService(object):
|
|||
|
||||
|
||||
@staticmethod
|
||||
def update_approval(approval_id, approver_uid, status):
|
||||
def update_approval(approval_id, approver_uid):
|
||||
"""Update a specific approval"""
|
||||
db_approval = session.query(ApprovalModel).get(approval_id)
|
||||
status = db_approval.status
|
||||
if db_approval:
|
||||
db_approval.status = status
|
||||
session.add(db_approval)
|
||||
session.commit()
|
||||
# db_approval.status = status
|
||||
# session.add(db_approval)
|
||||
# session.commit()
|
||||
if status == ApprovalStatus.APPROVED.value:
|
||||
# second_approval = ApprovalModel().query.filter_by(
|
||||
# study_id=db_approval.study_id, workflow_id=db_approval.workflow_id,
|
||||
|
@ -99,7 +100,7 @@ class ApprovalService(object):
|
|||
# if second_approval:
|
||||
# send rrp approval request for second approver
|
||||
ldap_service = LdapService()
|
||||
pi_user_info = ldap_service.user_info(model.study.primary_investigator_id)
|
||||
pi_user_info = ldap_service.user_info(db_approval.study.primary_investigator_id)
|
||||
approver_info = ldap_service.user_info(approver_uid)
|
||||
# send rrp submission
|
||||
send_ramp_up_approved_email(
|
||||
|
@ -109,7 +110,7 @@ class ApprovalService(object):
|
|||
)
|
||||
elif status == ApprovalStatus.DECLINED.value:
|
||||
ldap_service = LdapService()
|
||||
pi_user_info = ldap_service.user_info(model.study.primary_investigator_id)
|
||||
pi_user_info = ldap_service.user_info(db_approval.study.primary_investigator_id)
|
||||
approver_info = ldap_service.user_info(approver_uid)
|
||||
# send rrp submission
|
||||
send_ramp_up_denied_email(
|
||||
|
|
|
@ -11,7 +11,6 @@ def send_ramp_up_submission_email(sender, recipients, approver_1, approver_2=Non
|
|||
msg = Message('Research Ramp-up Plan Submitted',
|
||||
sender=sender,
|
||||
recipients=recipients)
|
||||
|
||||
from crc import env, mail
|
||||
template = env.get_template('ramp_up_submission.txt')
|
||||
template_vars = {'approver_1': approver_1, 'approver_2': approver_2}
|
||||
|
@ -28,7 +27,6 @@ def send_ramp_up_approval_request_email(sender, recipients, primary_investigator
|
|||
msg = Message('Research Ramp-up Plan Approval Request',
|
||||
sender=sender,
|
||||
recipients=recipients)
|
||||
|
||||
from crc import env, mail
|
||||
template = env.get_template('ramp_up_approval_request.txt')
|
||||
template_vars = {'primary_investigator': primary_investigator}
|
||||
|
@ -45,7 +43,6 @@ def send_ramp_up_approval_request_first_review_email(sender, recipients, primary
|
|||
msg = Message('Research Ramp-up Plan Approval Request',
|
||||
sender=sender,
|
||||
recipients=recipients)
|
||||
|
||||
from crc import env, mail
|
||||
template = env.get_template('ramp_up_approval_request_first_review.txt')
|
||||
template_vars = {'primary_investigator': primary_investigator}
|
||||
|
|
|
@ -1 +1 @@
|
|||
<p>Your Research Ramp-up Plan has been denied by {{ approver_1 }}. Please return to the Research Ramp-up Plan application and review the comments from {{ approver_1 }} on the home page. Next, open the application and locate the first step where changes are needed. Continue to complete additional steps saving your work along the way. Review your revised Research Ramp-up Plan and res-submit for approval.</p>
|
||||
<p>Your Research Ramp-up Plan has been denied by {{ approver }}. Please return to the Research Ramp-up Plan application and review the comments from {{ approver }} on the home page. Next, open the application and locate the first step where changes are needed. Continue to complete additional steps saving your work along the way. Review your revised Research Ramp-up Plan and res-submit for approval.</p>
|
|
@ -106,7 +106,7 @@ class TestApprovals(BaseTest):
|
|||
def test_accept_approval(self):
|
||||
approval = session.query(ApprovalModel).filter_by(approver_uid='dhf8r').first()
|
||||
data = {'id': approval.id,
|
||||
"approver_uid": "dhf8r",
|
||||
"approver": {"uid": "dhf8r"},
|
||||
'message': "Approved. I like the cut of your jib.",
|
||||
'status': ApprovalStatus.APPROVED.value}
|
||||
|
||||
|
@ -127,7 +127,7 @@ class TestApprovals(BaseTest):
|
|||
def test_decline_approval(self):
|
||||
approval = session.query(ApprovalModel).filter_by(approver_uid='dhf8r').first()
|
||||
data = {'id': approval.id,
|
||||
"approver_uid": "dhf8r",
|
||||
"approver": {"uid": "dhf8r"},
|
||||
'message': "Approved. I find the cut of your jib lacking.",
|
||||
'status': ApprovalStatus.DECLINED.value}
|
||||
|
||||
|
|
Loading…
Reference in New Issue