Skip to content

Commit

Permalink
Update dealer and panel emails for 2024
Browse files Browse the repository at this point in the history
Changes requested via Slack!
  • Loading branch information
kitsuta committed Mar 16, 2024
1 parent 1192d25 commit f63ca6b
Show file tree
Hide file tree
Showing 13 changed files with 133 additions and 8 deletions.
37 changes: 34 additions & 3 deletions magwest/automated_emails.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,28 @@
from datetime import timedelta

from uber.automated_emails import AutomatedEmailFixture, BandEmailFixture, StopsEmailFixture
from uber.automated_emails import AutomatedEmailFixture, MarketplaceEmailFixture, StopsEmailFixture
from uber.config import c
from uber.models import Attendee
from uber.models import Attendee, AutomatedEmail
from uber.utils import before, days_before, days_after


MarketplaceEmailFixture(
f'Waitlisted - {c.EVENT_NAME_AND_YEAR}',
'dealers/waitlisted.txt',
lambda g: g.status == c.WAITLISTED,
# query=Group.status == c.WAITLISTED,
needs_approval=True,
ident='dealer_reg_waitlisted')

MarketplaceEmailFixture(
f'About your Declined Dealer\'s Application - {c.EVENT_NAME_AND_YEAR}',
'dealers/declined.txt',
lambda g: g.status == c.DECLINED,
# query=Group.status == c.DECLINED,
needs_approval=True,
ident='dealer_reg_declined')


AutomatedEmailFixture(
Attendee,
'{EVENT_NAME} food for guests',
Expand All @@ -14,6 +31,7 @@
ident='magwest_guest_food_restrictions',
sender="MAGWest Tea Room <[email protected]>")


AutomatedEmailFixture(
Attendee,
'{EVENT_NAME} hospitality suite information',
Expand All @@ -22,6 +40,7 @@
ident='magwest_guest_food_info',
sender="MAGWest Tea Room <[email protected]>")


AutomatedEmailFixture(
Attendee,
'{EVENT_NAME} Volunteer Food',
Expand All @@ -30,29 +49,32 @@
ident='magwest_volunteer_food_info',
sender="MAGWest Tea Room <[email protected]>")


AutomatedEmailFixture(
Attendee,
'{EVENT_NAME} FAQ',
'prefest_faq.html',
lambda a: a.badge_status == c.COMPLETED_STATUS and days_before(7, c.FINAL_EMAIL_DEADLINE),
ident='magwest_prefest_faq')


AutomatedEmailFixture(
Attendee,
'{EVENT_NAME} PC Gaming Survey',
'pc_gaming_survey.html',
lambda a: c.LAN in a.interests_ints,
ident='pc_gaming_survey',
needs_approval=True,
sender="MAGWest LAN Staff <[email protected]>")


StopsEmailFixture(
'CORRECTION to the {EVENT_NAME} ({EVENT_DATE}) Shift Schedule Email',
'shifts/schedule_correction.html',
lambda a: c.SHIFTS_CREATED and a.weighted_hours,
when=days_before(1, c.FINAL_EMAIL_DEADLINE),
ident='volunteer_shift_schedule_correction')


AutomatedEmailFixture(
Attendee,
'Last Chance for MAGWest {EVENT_YEAR} bonus swag!',
Expand All @@ -62,3 +84,12 @@
when=before(c.EPOCH - timedelta(days=2)),
sender='MAGWest Merch Team <[email protected]>',
ident='magwest_bonus_swag_reminder_last_chance')


AutomatedEmail.email_overrides.extend([
('panel_accepted', 'subject', f"Approved - {c.EVENT_NAME_AND_YEAR} Panel Application"),
('panel_declined', 'subject', f"Declined - {c.EVENT_NAME_AND_YEAR} Panel Application"),
('panel_waitlisted', 'subject', f"Waitlisted - {c.EVENT_NAME_AND_YEAR} Panel Application"),
('panel_accept_reminder', 'subject', f"Last Chance to Confirm Your Panel - {c.EVENT_NAME_AND_YEAR}"),
('panel_scheduled', 'subject', f"Your Panel has been Scheduled - {c.EVENT_NAME_AND_YEAR}")
])
6 changes: 6 additions & 0 deletions magwest/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@
from uber.models.types import DefaultColumn as Column, MultiChoice
from uber.config import c


@Session.model_mixin
class Attendee:
@property
def num_free_event_shirts(self):
return 1 if self.badge_type == c.STAFF_BADGE else self.volunteer_event_shirt_eligible

@property
def approved_panel_apps(self):
return [panel.name for panel in self.panel_applications if panel.status == c.ACCEPTED]


@Session.model_mixin
class GuestMerch:
extra_merch_time = Column(MultiChoice(c.EXTRA_MERCH_TIME_OPTS))
8 changes: 4 additions & 4 deletions magwest/templates/emails/dealers/approved.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
<html>
<head></head>
<p>
<p>Thank you for your interest in the MAGWest Marketplace. Your group ({{ group.name }}) has been approved as a {{ c.EVENT_NAME }} Dealer for this coming {{ event_dates() }}!</p>
<p>Hello there! Thank you for submitting your dealer's application for this year's MAGWest Marketplace. Your group ({{ group.name }}) has been approved as a {{ c.EVENT_NAME }} Dealer for this coming {{ event_dates() }}!</p>

<p>Please note that we are still in process of finalizing the Marketplace contract for this year and will be sending a second email with a link to the contract shortly.</p>

<p>Once you have looked over the contract, please go ahead and pay the ${{ group.cost }} you owe using the credit card button <a href="{{ c.URL_BASE }}/preregistration/group_members?id={{ group.id }}">on this page</a>.</p>
<p>By proceeding with the purchase of your table(s), you are implicitly agreeing to comply with both the MAGWest Marketplace agreement and the event's <a href="{{ c.CODE_OF_CONDUCT_URL }}" target="_blank">code of conduct</a>. To view the MAGWest Marketplace agreement and purchase your approved tables, go ahead and pay the ${{ group.cost }} you owe using the credit card button <a href="{{ c.URL_BASE }}/preregistration/group_members?id={{ group.id }}">on this page</a>.</p>

<p>Payment is expected by: {{ c.DEALER_PAYMENT_DUE|datetime_local }}. Failure to pay by this date may result in removal of your application and your tables being filled by another applicant.</p>

Expand All @@ -17,6 +15,8 @@
<li> {{ group.badges }} badge{{ group.badges|pluralize }} ({{ group.default_badge_cost|format_currency }}) </li>
</ul></p>

<p>Looking forward to working with you! Cheers!</p>

{{ c.MARKETPLACE_EMAIL_SIGNATURE }}
</body>
</html>
6 changes: 6 additions & 0 deletions magwest/templates/emails/dealers/declined.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Dear {{ c.DEALER_TERM }},


Thank you for submitting your dealer's application to MAGWest. We appreciate your interest in our event and thank you for considering us as an avenue for your business. After careful review, we have decided that we are unable to accept your submission at this time. Please know that this decision was not a reflection of your skills or abilities, as we received many unique and incredible submissions and had to make some tough choices. We absolutely encourage you to apply next year and we welcome you to attend MAGWest regardless.

{{ c.MARKETPLACE_EMAIL_SIGNATURE }}
9 changes: 9 additions & 0 deletions magwest/templates/emails/dealers/payment_reminder.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{ group.leader.first_name }},

Thanks again for registering as a {{ c.DEALER_TERM }} for this year's {{ c.EVENT_NAME }}. Our records indicate that your Dealer registration ({{ group.name }}) is still unpaid, and if we do not receive payment by {{ c.DEALER_PAYMENT_DUE|datetime_local }} then will be unapproved and your your table(s) will be unapproved and your spot will open for those on the waitlist.{% if c.DEALER_PAYMENT_DUE|timedelta(days=-7) > now_localized() %} You will receive 1 more reminder the week before your payment is due.{% endif %}

You can use the credit card button on your group's page to pay the {{ group.amount_unpaid|format_currency }} that you owe: {{ c.URL_BASE }}/preregistration/group_members?id={{ group.id }}

Let us know if you have any questions! We’re more than happy to help!

{{ c.MARKETPLACE_EMAIL_SIGNATURE }}
12 changes: 12 additions & 0 deletions magwest/templates/emails/dealers/waitlisted.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Dear {{ c.DEALER_TERM }}

Thank you for submitting your dealer's application to MAGWest. We appreciate your interest in our event and thank you for considering us as an avenue for your business.

After careful review and consideration, we have decided to place your submission on a waitlist. This means that while we are unable to accept your submission at this time, we may consider it in the future should a suitable opportunity arise. Although we cannot accept all submissions received, we were astounded by the number of unique and wonderful entries that were sent in.

Please note that sometimes opportunities arise at the last minute, and we may need to make a decision quickly. In the event that a spot becomes available for your business, we will notify you as soon as possible, which may be as little as a day before the event.

Regardless of your status, we welcome you to attend the event and hope to see you there!

Best regards,
{{ c.MARKETPLACE_EMAIL_SIGNATURE }}
17 changes: 17 additions & 0 deletions magwest/templates/emails/panels/panel_app_accepted.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{{ app.submitter.first_name }},

Congratulations, "{{ app.name }}", the panel you submitted for {{ c.EVENT_NAME_AND_YEAR }}, has been approved. IT IS IMPORTANT TO MAKE SURE YOU CHECK YOUR SPAM/JUNK/QUARANTINE FOLDERS FOR OUR UPDATES.{% if app.confirm_deadline %}

You must confirm you can still run the panel or your submission will automatically be put on the waitlist on {{ app.confirm_deadline|datetime_local }}. You can confirm by clicking this link: {{ c.URL_BASE }}/panels/confirm_panel?id={{ app.id }}{% endif %}

After you confirm your attendance, we will send you another e-mail to confirm your availability on our schedule. Note that your day and time will be manually scheduled based on the availability you specified on your submission. If this availability has changed, please let us know as soon as possible, as we will not be reaching out again for availability before scheduling.

Yourself and all panelists will receive a complimentary badge for each person pre-submitted on the panel application. If you have not yet registered you will receive a notification that we have begun registering you for the event, and you will need to follow the instruction in that email to finish your registration.

Important: If you or any others on your panel have purchased badges, {{ c.EVENT_NAME }} will refund the purchase price. Please let us know if this is the case so we can get your refund sooner. As a reminder {{ c.EVENT_NAME }} will be held {{ c.EPOCH|datetime_local("%A, %B %-d") }} through {{ c.ESCHATON|datetime_local("%A, %B %-d") }} at {{ c.EVENT_VENUE }}.

If you have any questions or concerns, please don't hesitate to send them to {{ c.PANELS_EMAIL|email_only }}.

Congratulations again, and we look forward to seeing you at {{ c.EVENT_NAME }}!

{{ c.PANELS_EMAIL_SIGNATURE }}
11 changes: 11 additions & 0 deletions magwest/templates/emails/panels/panel_app_declined.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{{ app.submitter.first_name }},

Thank you for submitting your panel, "{{ app.name }}", for {{ c.EVENT_NAME }} {{ c.EVENT_YEAR }}. {{ c.EVENT_NAME }} is growing and changing every year, and due to our time and space constraints we have to decline the majority of submissions that we receive, including many we wish we could accept. Unfortunately, we did not have enough space in our schedule this year to accommodate your panel.

Regardless, we still would love to see you at MAGWest as you're welcomed to enjoy the event. There are many opportunities to get involved (whether performing, jamming, or hanging) so please make sure to monitor our social media for when an opportunity arises.

Finally, as always, we encourage you to please apply again next year!

If you have any questions or concerns, please don't hesitate to send them to {{ c.PANELS_EMAIL|email_only }}.

{{ c.PANELS_EMAIL_SIGNATURE }}
13 changes: 13 additions & 0 deletions magwest/templates/emails/panels/panel_app_scheduled.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{{ app.submitter.first_name }},

"{{ app.name }}", the panel you submitted for {{ c.EVENT_NAME }}, has been scheduled. {{ c.EVENT_NAME }} is {{ c.EPOCH|datetime_local("%A, %B %-d") }} through {{ c.ESCHATON|datetime_local("%A, %B %-d") }}, and your panel is currently scheduled for {{ app.event.timespan(minute_increment=30) }}.

This scheduling can potentially be changed in the event of a cancellation or other request to switch, but was chosen based on yours and others' declared availability from your submission.

In the meantime, please review our <link will be inserted soon>Welcome Packet on how to navigate the event as a panelist!

If you have any questions or concerns, please don't hesitate to send them to {{ c.PANELS_EMAIL|email_only }}.

Congratulations again, and we look forward to seeing you at {{ c.EVENT_NAME }}!

{{ c.PANELS_EMAIL_SIGNATURE }}
9 changes: 9 additions & 0 deletions magwest/templates/emails/panels/panel_app_waitlisted.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{ app.submitter.first_name }},

Thanks for your interest in putting on a panel for {{ c.EVENT_NAME_AND_YEAR }}! {% if app.after_confirm_deadline %}Because you did not confirm your accepted panel, your panel has been automatically waitlisted.{% else %}Due to the volume of applications we were unable to find a place on our schedule for your panel ({{ app.name }}), but we liked it enough to add it to our waiting list. Wait-listed candidates will be considered if any of our other panels are cancelled.{% endif %}

Regardless, we still would love to see you at MAGWest as you're welcomed to enjoy the event. There are many opportunities to get involved (whether performing, jamming, or hanging) so please make sure to monitor our social media for when an opportunity arises.

Please don't hesitate to let us know if you have any questions or concerns. Otherwise, we look forward to seeing you at {{ c.EVENT_NAME }}!

{{ c.PANELS_EMAIL_SIGNATURE }}
5 changes: 5 additions & 0 deletions magwest/templates/emails/panels/panelist_schedule.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{{ attendee.first_name }},

You are signed up to present {{ attendee.assigned_panelists|length }} panel{{ attendee.assigned_panelists|length|pluralize }} at this coming {{ c.EVENT_NAME }}. You can find a printable panel schedule at {{ c.URL_BASE }}/schedule/panelist_schedule?id={{ attendee.id }} Also please follow our scheduling app “Sched” and subscribe to MAGWest. From there you can find the most up-to-date information on your panel.

{{ c.PANELS_EMAIL_SIGNATURE }}
7 changes: 7 additions & 0 deletions magwest/templates/emails/placeholders/panelist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{% if attendee.first_name %}{{ attendee.first_name }},

{% endif %}Thanks for coming out to {{ c.EVENT_NAME }} to present on {{ attendee.approved_panel_apps|readable_join }}! We've added you to our registration database for your complementary badge, but we don't have all of your personal information. To ensure that you can pick up your badge with no hassles at our registration desk, please fill out the rest of your info at {{ c.URL_BASE }}/preregistration/confirm?id={{ attendee.id }} and then simply bring a photo ID{{ c.EXTRA_CHECKIN_DOCS }} to {{ c.EVENT_NAME }}.

Please let us know if you have any questions.

{{ c.PANELS_EMAIL_SIGNATURE }}
1 change: 0 additions & 1 deletion magwest/templates/preregistration/dealer_confirmation.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
{% block title %}Dealer Application Received{% endblock %}
{% block backlink %}{% endblock %}
{% block content %}
{% include 'prereg_masthead.html' %}
<div class="panel panel-default">
<div class="panel-body">
<h2>{% if group.status == c.WAITLISTED %}You've been added to our waitlist!{% else %}Thanks for applying as a Dealer!{% endif %}</h2>
Expand Down

0 comments on commit f63ca6b

Please sign in to comment.