datatracker/ietf/bin/send-review-reminders
Jennifer Richards 6df0377fa1 Fix several review reminder problems.
Send secretary's review reminders to secretary instead of assignee. 
Send unconfirmed assignment reminders based on assignment age and CC secretaries. 
Correctly separate open review reminders by review team.

Fixes #3482. Fixes #3324. Commit ready for merge.
 - Legacy-Id: 19848
2022-01-14 19:14:06 +00:00

56 lines
2.1 KiB
Python
Executable file

#!/usr/bin/env python
# This script requires that the proper virtual python environment has been
# invoked before start
import datetime
import os
import sys
import syslog
# boilerplate
basedir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
sys.path = [ basedir ] + sys.path
os.environ["DJANGO_SETTINGS_MODULE"] = "ietf.settings"
# Before invoking django
syslog.openlog(os.path.basename(__file__), syslog.LOG_PID, syslog.LOG_USER)
import django
django.setup()
from ietf.review.utils import (
review_assignments_needing_reviewer_reminder, email_reviewer_reminder,
review_assignments_needing_secretary_reminder, email_secretary_reminder,
send_unavailability_period_ending_reminder, send_reminder_all_open_reviews,
send_review_reminder_overdue_assignment, send_reminder_unconfirmed_assignments)
from ietf.utils.log import log
today = datetime.date.today()
for assignment in review_assignments_needing_reviewer_reminder(today):
email_reviewer_reminder(assignment)
log("Emailed reminder to {} for review of {} in {} (req. id {})".format(assignment.reviewer.address, assignment.review_request.doc_id, assignment.review_request.team.acronym, assignment.review_request.pk))
for assignment, secretary_role in review_assignments_needing_secretary_reminder(today):
email_secretary_reminder(assignment, secretary_role)
review_req = assignment.review_request
log("Emailed reminder to {} for review of {} in {} (req. id {})".format(secretary_role.email.address, review_req.doc_id, review_req.team.acronym, review_req.pk))
period_end_reminders_sent = send_unavailability_period_ending_reminder(today)
for msg in period_end_reminders_sent:
log(msg)
overdue_reviews_reminders_sent = send_review_reminder_overdue_assignment(today)
for msg in overdue_reviews_reminders_sent:
log(msg)
open_reviews_reminders_sent = send_reminder_all_open_reviews(today)
for msg in open_reviews_reminders_sent:
log(msg)
unconfirmed_assignment_reminders_sent = send_reminder_unconfirmed_assignments(today)
for msg in unconfirmed_assignment_reminders_sent:
log(msg)