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
56 lines
2.1 KiB
Python
Executable file
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)
|