def sendCommentNotificationEmail(self, userToEmail, authorUser, vision, comment): '''Takes dictionary inputs''' visionUser = User.getById(vision[Vision.Key.USER_ID]) if visionUser: visionUser = visionUser.toDictionary() emailAddress = userToEmail[User.Key.EMAIL] if authorUser[User.Key.ID] == visionUser[User.Key.ID]: emailSubject = authorUser[User.Key.FULL_NAME] + \ " responded on their vision" else: emailSubject = authorUser[User.Key.FULL_NAME] + \ " responded on " + \ visionUser[User.Key.FULL_NAME] + "\'s vision" emailText = emailSubject emailHtml = render_template("email/commentNotification.html", userToEmail=userToEmail, authorUser=authorUser, visionUser=visionUser, vision=vision, comment=comment) email = { Constant.EMAIL_TO_KEY : emailAddress, Constant.EMAIL_SUBJECT_KEY : emailSubject, Constant.EMAIL_BODY_TEXT_KEY : emailText, Constant.EMAIL_BODY_HTML_KEY : emailHtml, } emailer = Emailer() emailer.sendBatch([email])
def sendWelcomeEmail(self, user): '''Takes dictionaries as input''' emailAddress = user[User.Key.EMAIL] emailSubject = "Welcome to Project Awesome!" emailText = emailSubject emailHtml = render_template("email/welcome.html", user=user) email = { Constant.EMAIL_TO_KEY : emailAddress, Constant.EMAIL_SUBJECT_KEY : emailSubject, Constant.EMAIL_BODY_TEXT_KEY : emailText, Constant.EMAIL_BODY_HTML_KEY : emailHtml, } emailer = Emailer() emailer.sendBatch([email])
def sendDailyEmails(self): ''' Send daily motivational emails, and return number of emails sent ''' #Get motivatinal picture for each user userInfo = self.__getMotivationContent() #Render Templates emailInfo = self.__generateEmails(userInfo) #Send Email emailer = Emailer() emailer.sendBatch(emailInfo) #Write to log return len(emailInfo)
def sendFollowEmail(self, follower, user): '''Takes dictionary inputs''' emailAddress = user[User.Key.EMAIL] emailSubject = follower[User.Key.FULL_NAME] + " is following you!" emailText = emailSubject emailHtml = render_template("email/follow.html", follower = follower, user = user) email = { Constant.EMAIL_TO_KEY : emailAddress, Constant.EMAIL_SUBJECT_KEY : emailSubject, Constant.EMAIL_BODY_TEXT_KEY : emailText, Constant.EMAIL_BODY_HTML_KEY : emailHtml, } emailer = Emailer() emailer.sendBatch([email])
def sendVisionLikeEmail(self, user, liker, vision): '''Takes dictionary inputs''' emailAddress = user[User.Key.EMAIL] emailSubject = liker[User.Key.FULL_NAME] + " liked your vision" emailText = emailSubject emailHtml = render_template("email/vision_like.html", user = user, liker = liker, vision = vision) email = { Constant.EMAIL_TO_KEY : emailAddress, Constant.EMAIL_SUBJECT_KEY : emailSubject, Constant.EMAIL_BODY_TEXT_KEY : emailText, Constant.EMAIL_BODY_HTML_KEY : emailHtml, } emailer = Emailer() emailer.sendBatch([email])
def sendCommentEmail(self, authorUser, vision, comment): '''Takes dictionary inputs''' visionUser = User.getById(vision[Vision.Key.USER_ID]) if visionUser: visionUser = visionUser.toDictionaryFull() emailAddress = visionUser[User.Key.EMAIL] emailSubject = authorUser[User.Key.FULL_NAME] + " wrote on your vision" emailText = emailSubject emailHtml = render_template("email/comment.html", author = authorUser, user = visionUser, vision = vision, comment = comment) email = { Constant.EMAIL_TO_KEY : emailAddress, Constant.EMAIL_SUBJECT_KEY : emailSubject, Constant.EMAIL_BODY_TEXT_KEY : emailText, Constant.EMAIL_BODY_HTML_KEY : emailHtml, } emailer = Emailer() emailer.sendBatch([email])
def sendRepostEmail(self, user, origVision, newVision): '''Takes dictionaries as input''' origUser = User.getById(origVision['userId']) if origUser: origUser = origUser.toDictionaryFull() emailAddress = origUser[User.Key.EMAIL] emailSubject = user[User.Key.FULL_NAME] + " reposted your vision" emailText = emailSubject emailHtml = render_template("email/repost.html", origUser = origUser, origVision = origVision, user = user, vision = newVision) email = { Constant.EMAIL_TO_KEY : emailAddress, Constant.EMAIL_SUBJECT_KEY : emailSubject, Constant.EMAIL_BODY_TEXT_KEY : emailText, Constant.EMAIL_BODY_HTML_KEY : emailHtml, } emailer = Emailer() emailer.sendBatch([email])