Before this fix if an XBlock's generate_report_data method returned multiple
responses for the same user from a single user state, the report generator would
end up overwriting each response over the previous one such that only the last
response would be preserved.
This commit updates the Info messages on the course page to display
more informative messages to the user. Specifically, messages for Public
and Invitation-only courses.
- Add announcements view using JSX to the dashboard sidebar
- Create a new maintenance interface to edit and manage announcements
- Adds an override to main.html template to include new skip links
- Add plugins required for announcements to TinyMCE
This is motivated by a desire to have system wide messages for students
that show on the dashboard. Enabled with FEATURES['ENABLE_ANNOUNCEMENTS'].
Global staff are allowed to edit from the studio maintenance view.
LEARNER-7086. Uses a new model manager for GeneratedCertificate that excludes
certificates whose course_id does not correspond to a valid CourseOverview
Template for email added (email/verification_expiry_email)
The management command filters the SoftwareSecurePhotoVerification model on the basis of following criteria :
-- the verification is approved
-- the start_date < expiry_date < today or specified days have passed to resend email
After the basic filtering batches are created to send email. For each verification in a batch email is sent and
email_expiry_date is set to 15 days from today (default days are 15, it can be changed too)
Between each batch there is a delay of sleep_time seconds
LEARNER-7136 populate expiry date and add mechanism for new verification
Method approve() is overridden to accommodate new users that will have their verification approved in the future. The approve() method is called from software secure results callback every time a Software Secure Photo Verification is approved.The method overridden now updates expiry_date and then calls super to perform task it was performing before this change.The expiry_date set is the same as the one sent in verification approval email.
In results_callback for sspv the expiry_date and expiry_email_date for the most recent previous verification if exists are also updated to NULL.