display certificate generate history in reverse chronological order
This commit is contained in:
committed by
Matt Drayer
parent
30f25105e9
commit
33bbc8d77e
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user