Coverage for app/controllers/events/email.py: 52%

23 statements  

« prev     ^ index     » next       coverage.py v7.2.5, created at 2023-05-24 14:13 +0000

1from app.models.emailTemplate import EmailTemplate 

2from app.models.emailLog import EmailLog 

3from app.controllers.main import main_bp 

4from app.logic.emailHandler import EmailHandler 

5from app.models.program import Program 

6from flask import request 

7 

8@main_bp.route('/retrieveEmailTemplate', methods=['GET']) 

9def retrieveEmailTemplate(): 

10 templateInfo = {} 

11 emailTemplates = EmailTemplate.select() 

12 

13 for index, template in enumerate(emailTemplates): 

14 templateInfo[index] = { 

15 'purpose': template.purpose, 

16 'subject':template.subject, 

17 'body': template.body} 

18 return templateInfo 

19 

20@main_bp.route('/fetchEmailLogData/<eventId>', methods=['GET']) 

21def fetchEmailLogData(eventId): 

22 last_email = EmailHandler.retrieve_last_email(eventId) 

23 if last_email: 

24 return {'last_log': "The last email was sent to " + last_email.recipientsCategory + " on " + last_email.dateSent.strftime('%m/%d/%Y') + " by " + last_email.sender.email + "." , 'last_log2': " Subject: " + last_email.subject} 

25 else: 

26 return {'exists': False} 

27 

28@main_bp.route("/getProgramSender/", methods=['GET']) 

29def getProgramSender(): 

30 programId = request.args.get("programId") 

31 return Program.get_by_id(programId).contactName