Commit Graph

123 Commits

Author SHA1 Message Date
Albert (AJ) St. Aubin
c37e88fdbf refactor: Move CertificateStatuses to data.py file per OEP-49
[MICROBA-678]

To allow access to CertificateStatuses constants in other Django apps we are moving the
CertificateStatuses enum to data.py per OEP-49.
2021-06-08 08:56:21 -04:00
Justin Hynes
6a0f57a266 refactor: update references to deprecated whitelist model
[MICROBA-1012]
- update python files to reference the allowlist instead of whitelist

As part of the Certificates v2 work, and in an effort to make the codebase more inclusive, we are moving away from using the term "whitelist" in favor of "allowlist". This PR is part of our renaming efforts across the Certificates Django app, and other Django apps that make use of Certificates functionality.
2021-06-03 14:09:24 -04:00
Justin Hynes
48f4f9f475 feat: add edx.certificate.revoked event
[MICROBA-1075]
- Adds a new `edx.certificate.revoked` event to the LMS.
- Refactor of our certificate revocation functions in the GeneratedCertificate model.

This new event will be emit when a GeneratedCertificate with the status of `downloadable` is revoked (through the `invalidate(), mark_notpassing(), or mark_unverified() functions). Event will have a `source` field that will allow us how our certificates are being revoked from learners and can be broken down in the following way:
*Invalidate*
- allowlist_removal
- certificate_generation
- certificate_regeneration
- certificate_service
- certificate_invalidation_list
- bulk_certificate_regeneration

*mark_notpassing*
- certificate_generation
- notpassing_signal

*unverified*
- certificate_generation
2021-05-25 13:44:01 -04:00
Justin Hynes
70810879e0 refactor: remove unused course arguments from certificate generation functions
[MICROBA-1238]
- Remove unused `course` arguments from certificate generation functions

Part of our cleanup after removing use of the modulestore from the Certificates app.
2021-05-14 15:38:43 -04:00
Binod Pant
da9afe6290 fix: 🐛 ENT-4525 fix learner portal experience when missing courseEnrollment records (#27611)
* fix: 🐛 ENT-4525 fix learner portal experience courseEnrollment records are missing

sometimes integrations may create EnterpriseCourseEnrollments but for some reason missing courseEnrollment, in this case we want to just filter out the EnterpriseCourseEnrollments instead of erroring the learner poratl

ENT-4525

* fix: pylint fixes

pylint fixes
2021-05-13 07:27:17 -04:00
Justin Hynes
ee5c881a46 refactor: remove use of modulestore in certificates app
[MICROBA-1178]

* Remove use of modulestore in `queue.py`
* Remove use of modulestore in `ungenerated_certs.py`
* Remove use of modulestore in `resubmit_error_certificates.py`
* Update unit tests in `test_cert_management.py`
2021-05-12 13:35:32 -04:00
Justin Hynes
6645d0348a Merge pull request #27258 from edx/jhynes/microba-974_invalidate_cert_properly
fix: invalidate certificate properly when regenerating certs from the support tool
2021-04-06 11:27:22 -04:00
Justin Hynes
2d6a4126e7 fix: invalidate certificate properly when using regeneration from support tool
[MICROBA-974]
* Update `regen_cert` function to call the certificate objects `invalidate` method, instead of just setting the certificate status as 'unavailable'. This change will make it so the certificate revoked signal is sent in an attempt to keep data in the Credentials IDA in sync
2021-04-06 10:30:19 -04:00
Christie Rice
1181fb343e feat!: Remove allow_certificate checks from course certificates (#27206)
DEPR-140 MICROBA-985
2021-04-05 14:00:07 -04:00
Christie Rice
90f5e42dbd MICROBA-1055 Require a valid enrollment mode, even on the allowlist (#27012) 2021-03-16 09:37:27 -04:00
Christie Rice
4aff07ad82 MICROBA-923 Add method to generate V2 course certificates (#26898) 2021-03-09 11:02:19 -05:00
usamasadiq
84bb9faa3f refactor: ran pyupgrade on lms/djangoapps/certificates 2021-02-25 19:58:39 +05:00
Christie Rice
7db147e06a Fix lint-amnesty warnings (#26412) 2021-02-09 10:20:46 -05:00
Jawayria
92a13c55c3 Applied pylint-amnesty to certificates 2021-02-02 19:23:48 +05:00
Christie Rice
7817c47df1 MICROBA-885 Check whitelisted, even if a grade exists (#26011) 2021-01-11 10:19:16 -05:00
Kyle McCormick
151bd13666 Use full names for common.djangoapps imports; warn when using old style (#25477)
* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
2020-11-10 07:02:01 -05:00
sarina
f414fad0cc Change gendered language to gender-neutral 'they/them/their' 2020-11-02 18:23:13 -05:00
Aarif
98af9ce418 remove useless-supression warnings 2020-05-01 19:42:15 +05:00
Feanil Patel
6e3fe00fff Fix all E303 pep8 errors. 2019-12-30 12:25:38 -05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
Zainab Amir
d2ca9a02d1 Disable Audit Certs for Whitelisted Students (#22401)
Ensure that certificate is not generated if a learner enrolled in
audit mode is whitelisted

PROD-978
2019-12-19 17:06:33 +05:00
Zainab Amir
b845fae0bc Remove logs (#22293)
Revert logs added to investigate audit cert cutoff date

PROD-978
2019-11-11 15:03:02 +05:00
Zainab Amir
62de1f20d1 Add logs to verify audit cert cutoff date (#22265)
Users were awareded audit certificate recently. Adding logs to verify
that cutoff date for awarding certificate is correct

PROD-978
2019-11-07 22:19:21 +05:00
adeelehsan
1adc01b45c Allow certification regenration for existing honor certificates
staff should be able to regenerate certificates for the students
who have already earned the certificate using honor mode

Prod-612
2019-11-07 14:08:20 +05:00
Ayub khan
5c47a3b425 BOM Project
Updated __unicode__ to __str__
2019-09-25 18:31:54 +05:00
usama sadiq
23b2039c87 Python3 Update
Added future absolute_import
changed unicode() with six.text_type()
2019-06-27 12:15:06 +05:00
Nimisha Asthagiri
eb0791ec89 Inter-app API cleanup for Grades 2019-05-04 11:35:06 -04:00
Dave St.Germain
66744598df Master's track will result in a verified cert 2019-04-05 12:02:38 -04:00
Waheed Ahmed
e3fb888268 Disable PDF certificate generation/regenration.
Since PDF generation is discontinued long time ago, disable PDF certificate
generation/regenration from support tool and on all other places.

LEARNER-5562
2019-02-22 15:22:36 +05:00
Eric Fischer
247bb50ed2 s/django.core.urlresolvers/django.urls/g
Django 1.10 deprecation fix for Hackathon XIX
Addresses PLAT-1397
2018-06-05 13:59:09 -04:00
Brittney Exline
d31d9bd684 ENT-942 Implement an abstraction layer for SoftwareSecurePhotoVerification class methods 2018-04-05 15:48:59 -04:00
Ahsan Ulhaq
ea9a679c27 small nit 2018-03-27 16:59:07 +05:00
Ahsan Ulhaq
7428b2fe94 Discovery for pdf cert generation
LEARNER-4520
2018-03-27 15:23:46 +05:00
Nimisha Asthagiri
dd20106c8b Quiet quality 2018-01-19 15:12:29 -05:00
Nimisha Asthagiri
2e9efe6472 Fix Certificates import and signals code 2018-01-19 15:12:28 -05:00
bmedx
9d9c199d48 LMS urls cleanup for Django 1.11
- Remove usage of django.urls.patterns
- Change urls tuples to lists
- Make all string view names callables
- This is the first of several urls updates for LMS; a work in progress
2017-11-07 11:55:57 -05:00
Nimisha Asthagiri
1febdbfac9 Grades cleanup: remove read_only param and create method
EDUCATOR-171
2017-09-28 07:48:25 -04:00
Nimisha Asthagiri
22edaf7d24 Grades: move out of temporary new folder
EDUCATOR-1400
2017-09-22 11:49:46 -04:00
Gregory Martin
b19d80597c Update Task 2017-08-22 09:57:29 -04:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -04:00
Nimisha Asthagiri
1503e5f768 Grade only engaged learners
Add a new waffle switch that allows us to assume zero grades for
learners who have no entry previously recorded, and another to
disable persisting grades for unengaged learners.

TNL-6691
2017-04-11 10:41:57 -04:00
Nimisha Asthagiri
e87388e24c Grades cleanup before updating grade report
Remove deprecated SingleSectionGrader.  TNL-5987
Remove display_name and module_id from Scores objects
Update CourseGradeFactory.__init__ to not be user-specific
Update some callers to use CourseGrade class instead of "summary" dict
Remove no longer needed course_grades.py module.
Renamed django signal from GRADES_UPDATED to COURSE_GRADE_CHANGED
2016-11-30 12:36:25 -05:00
Brandon DeRosier
8c3224b4f0 Finish implementing CCX coach as staff 2016-10-07 11:53:32 -04:00
Nimisha Asthagiri
1ada5c3487 Create Grades djangoapp
https://openedx.atlassian.net/browse/TNL-5008
2016-07-22 00:09:43 -04:00
Nimisha Asthagiri
02e6925275 Update grades to use Block Structures 2016-06-23 20:22:31 -04:00
Simon Chen
e6137dd6af ECOM-4007 Prevent the issuing of HC certs to verified learners that haven't ID verified 2016-05-23 11:44:14 -04:00
Awais Jibran
d18f3f6c98 Improve logging in cert gen.
ECOM-3688
2016-02-25 14:57:31 +05:00
Peter Fogg
2d028f8246 Add an explicit cutoff date for audit cert granting.
The previous logic was a convoluted way of doing the same thing, and
has already led to one bug. Instead of hoping that the bugs are ironed
out now and that future devs maintain this logic properly, let's just
set a real cutoff date.
2016-02-10 12:16:37 -05:00
Peter Fogg
711e2e7f3c Correctly set certificate status for audit certs when regenerating.
COR-2403
2016-02-04 17:23:20 -05:00
Peter Fogg
96cc38951d Disable audit certificates for new audit enrollments.
Two new certificate statuses are introduced, 'audit_passing' and
'audit_notpassing'. These signal that the GeneratedCertificate is not
to be displayed as a cert to the user, and that they either passed or
did not. This allows us to retain existing grading logic, as well as
maintaining correctness in analytics and reporting.

Ineligible certificates are hidden by using the
`eligible_certificates` manager on GeneratedCertificate. Some places
in the coe (largely reporting, analytics, and management commands) use
the default `objects` manager, since they need access to all
certificates.

ECOM-3040
ECOM-3515
2016-01-22 10:27:55 -05:00