Commit 33bbc8d7 by Saleem Latif Committed by Matt Drayer

display certificate generate history in reverse chronological order

parent 30f25105
......@@ -294,9 +294,9 @@ class CertificateGenerationHistory(TimeStampedModel):
[CertificateStatuses.readable_statuses.get(status, "") for status in statuses]
)
# If statuses_to_regenerate is not present in task_input then, certificate generation task was run to
# generate certificates for white listed students
return "for exceptions"
# If students is present in task_input then, certificate generation task was run to
# generate certificates for white listed students otherwise it is for all students.
return "For exceptions" if 'students' in task_input_json else "All learners"
class Meta(object):
app_label = "certificates"
......
......@@ -92,7 +92,7 @@ from instructor.views import INVOICE_KEY
from submissions import api as sub_api # installed from the edx-submissions repository
from certificates import api as certs_api
from certificates.models import CertificateWhitelist, GeneratedCertificate
from certificates.models import CertificateWhitelist, GeneratedCertificate, CertificateStatuses
from bulk_email.models import CourseEmail
from student.models import get_user_by_username_or_email
......@@ -2708,7 +2708,7 @@ def start_certificate_regeneration(request, course_id):
)
# Check if the selected statuses are allowed
allowed_statuses = GeneratedCertificate.get_unique_statuses(course_key=course_key, flat=True)
allowed_statuses = [CertificateStatuses.downloadable, CertificateStatuses.error, CertificateStatuses.notpassing]
if not set(certificates_statuses).issubset(allowed_statuses):
return JsonResponse(
{'message': _('Please select certificate statuses from the list only.')},
......@@ -2789,11 +2789,18 @@ def add_certificate_exception(course_key, student, certificate_exception):
}
)
generated_certificate = GeneratedCertificate.objects.filter(
user=student,
course_id=course_key,
status=CertificateStatuses.downloadable,
).first()
exception = dict({
'id': certificate_white_list.id,
'user_email': student.email,
'user_name': student.username,
'user_id': student.id,
'certificate_generated': generated_certificate and generated_certificate.created_date.strftime("%B %d, %Y"),
'created': certificate_white_list.created.strftime("%A, %B %d, %Y"),
})
......
......@@ -324,7 +324,8 @@ def _section_certificates(course):
'active_certificate': certs_api.get_active_web_certificate(course),
'certificate_statuses_with_count': certificate_statuses_with_count,
'status': CertificateStatuses,
'certificate_generation_history': CertificateGenerationHistory.objects.filter(course_id=course.id),
'certificate_generation_history':
CertificateGenerationHistory.objects.filter(course_id=course.id).order_by("-created"),
'urls': {
'generate_example_certificates': reverse(
'generate_example_certificates',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment