From 9059a309bda561dbebb3b96be6125421ddc2b346 Mon Sep 17 00:00:00 2001 From: fillingtothemomo Date: Mon, 4 Mar 2024 01:47:10 +0530 Subject: [PATCH 1/2] Adds event email model --- app/models/event_emails.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 app/models/event_emails.py diff --git a/app/models/event_emails.py b/app/models/event_emails.py new file mode 100644 index 0000000000..702b93e640 --- /dev/null +++ b/app/models/event_emails.py @@ -0,0 +1,21 @@ +from flask_wtf import FlaskForm +from wtforms import StringField, TextAreaField, SelectField +from app.models import Role, db, Mail + +class EventMailingForm(FlaskForm): + role = SelectField('Role', choices=[(role.name, role.title_name) for role in Role.query.all()]) + subject = StringField('Subject') + message = TextAreaField('Message') + + def save_emails(self): + role_name = self.role.data + subject = self.subject.data + message = self.message.data + role = Role.query.filter_by(name=role_name).first() + recipients = [attendee.email for attendee in role.attendees] + + for recipient in recipients: + mail = Mail(recipient=recipient, subject=subject, message=message, action="save") + db.session.add(mail) + + db.session.commit() From 9ef5fde7f469391ba05ca2224fa67c4345e3ca0d Mon Sep 17 00:00:00 2001 From: Angel Sharma <122573982+fillingtothemomo@users.noreply.github.com> Date: Wed, 6 Mar 2024 19:34:17 +0530 Subject: [PATCH 2/2] Update event_emails.py --- app/models/event_emails.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/app/models/event_emails.py b/app/models/event_emails.py index 702b93e640..f68f559664 100644 --- a/app/models/event_emails.py +++ b/app/models/event_emails.py @@ -1,16 +1,15 @@ -from flask_wtf import FlaskForm -from wtforms import StringField, TextAreaField, SelectField from app.models import Role, db, Mail -class EventMailingForm(FlaskForm): - role = SelectField('Role', choices=[(role.name, role.title_name) for role in Role.query.all()]) - subject = StringField('Subject') - message = TextAreaField('Message') +class EventMailing: + def __init__(self, role, subject, message): + self.role = role + self.subject = subject + self.message = message def save_emails(self): - role_name = self.role.data - subject = self.subject.data - message = self.message.data + role_name = self.role + subject = self.subject + message = self.message role = Role.query.filter_by(name=role_name).first() recipients = [attendee.email for attendee in role.attendees]