Commit Graph

125 Commits

Author SHA1 Message Date
Andy Shultz
5ec9fca8d4 feat: provide command to regenerate certs for honor code courses
Only courses which actually have honor code on and only unverified
certs will be regenerated. All other certs wouldn't change so
don't cause trouble.

MST-855
2021-10-26 14:36:28 -04:00
Justin Hynes
ecd257ae29 feat!: Remove temp certificates mgmt cmd
[MICROBA-1311]
- Remove temporary management command used to fix records incorrectly created with a default `mode` of "honor".
2021-07-06 15:51:32 -04:00
Christie Rice
384bc6b514 fix: Fix cert status (#28097)
MICROBA-1372
2021-07-06 12:48:21 -04:00
Justin Hynes
ad9c580ae1 Merge pull request #28064 from edx/jhynes/microba-1311_fix
feat: Add temporary mgmt cmd to fix certificate data
2021-07-01 08:39:11 -04:00
Justin Hynes
c40e772d04 feat: Add temporary mgmt cmd to fix certificate data
[MICROBA-1311]
* Add temporary mgmt cmd to certificates app to fix certificate records with incorrect data stemming from CR-3792.
2021-06-30 12:58:15 -04:00
Christie Rice
e0b3829252 feat!: Remove management commands for V1 of course certificates, and PDF course certificates. (#28053)
These have been replaced by V2 of course certificates, and the cert_generation management command.

DEPR-155 MICROBA-1357 MICROBA-1358
2021-06-30 09:09:03 -04:00
Christie Rice
59dc0a4a39 feat!: Enable v2 of course certificates for all course runs (#27817)
This moves all course runs that use certificates over to V2 of course certificates, and disables the option for a course run to use V1 of course certificates.

MICROBA-1082
2021-06-15 15:08:40 -04:00
Christie Rice
417b2cc959 fix: Handle missing course overviews (#27849)
MICROBA-1082
2021-06-14 12:57:45 -04:00
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
Albert (AJ) St. Aubin
1b13ff4c21 refactor!: Removing the cert_whitelist management command
[MICROBA-1052]

We are removing the cert_whitelist management command because it does
not provide a clear value with the current state of Certificate
generation on edx-platform. It adds a user to the whitelist table, but
does not generate a certificate.

We recommend using the exceptions tab in the Instructor tab of the LMS
Course.
2021-05-19 07:11:12 -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
462ccf46ab Merge pull request #27607 from edx/jhynes/microba-1178_modulestore-cont
refactor: remove use of modulestore in certificates app
2021-05-12 14:10:36 -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
Christie Rice
4854b2eb17 refactor: Use api instead of calling the certificate whitelist model directly (#27606)
MICROBA-1212
2021-05-12 11:40:32 -04:00
Christie Rice
82bf0411ca test: Use allowlist factory (#27490)
MICROBA-1021
2021-05-03 12:53:36 -04:00
Usama Sadiq
60f49d4048 refactor: pyupgrade second iteration (#27442) 2021-05-03 17:13:15 +05:00
Christie Rice
6e1f700cdc feat: Generate more certificate status for V2 course certs (#27326)
MICROBA-1106
2021-04-27 09:40:06 -04:00
Usama Sadiq
ab41a7daee refactor: Apply lint-amnesty on pylint violations 2021-04-20 21:43:59 +05:00
stvn
43698fff0a refactor: Move get_course_by_id helper from LMS to core
This helper is used by the LMS, CMS, _and_ `openedx.core`,
so let's move it to `openedx.core` to reduce import complexity.

The following files no longer import from LMS:
- cms/djangoapps/contentstore/management/commands/edit_course_tabs.py
- lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py
- openedx/core/djangoapps/ccxcon/api.py
- openedx/core/djangoapps/verified_track_content/models.py
- openedx/features/course_experience/plugins.py

Note: The LTI XBlock has a dependency on this import path (!?);
a fix can be found here [1].

- [1] https://github.com/edx/xblock-lti-consumer/pull/154
2021-04-13 23:25:48 -07:00
Christie Rice
3d20c848f8 style: Use constants for certificate status. Update certificate status and grade documentation. (#27250)
MICROBA-1074
2021-04-07 09:38:56 -04:00
Justin Hynes
13d174fdda fix: update v2 certificate generation eligibility logic
[MICROBA-1109]
* Remove the requirement for the `auto_certificate_generation` waffle switch to be enabled in order for a learner to be eligible for a certificate. This switch should control _when_ a certificate is generated, not _if_ a certificate will be generated for a learner.
* Move the `auto_certificate_generation_enabled` check to happen before we try to generate v2 certificates in signals.py
* Update unit tests
* Update documentation
2021-04-06 08:50:54 -04:00
Justin Hynes
346fe90002 chore: remove cert_allowlist_generation management command
[MICROBA-1100]
* Remove `cert_allowlist_generation` management command. This has been replaced by the `cert_generation` management command which can handle generation of allowlist and v2 certificates.
* Remove AllowListGenerationConfiguration configuration model.
2021-04-01 08:53:14 -04:00
Justin Hynes
6b38debfeb feat: Update cert_generation mgmt command with ability to read arguments from config model
[MICROBA-1100]
* Add CertificationGenerationCommandConfiguration model that will store the command arguments for the `cert_generation` mgmt command
* Add ability to add entries to the CertificationGenerationCommandConfiguration through Django admin
* Update mgmt command with ability to read arguments from the config model/database
* Fix failing test in `test_cert_generation.py`
* Add new test for missing `users` argument in `test_cert_generation.py`
2021-04-01 07:39:33 -04:00
Christie Rice
8198606138 feat: Refactor code to check both regular and allowlist V2 certs (#27156)
MICROBA-1039
2021-03-30 10:23:23 -04:00
Christie Rice
dabad9fdfd feat: Add cert_generation management command (#27131)
MICROBA-1078
2021-03-25 11:01:41 -04:00
Usama Sadiq
bd9bb424cd refactor: ran pyupgrade on lms/djangoapps/certificates (#26740) 2021-03-12 14:47:30 +05:00
Justin Hynes
32685a7999 MICROBA-1025 | Update cert_whitelist.py management command
[MICROBA-1025]
- Update management command to use the same logic that the Instructor Dashboard uses
- Fix bug in management command where processing stopped when encountering a user that did not exist
- Add more logging
- Add and update tests where needed
2021-03-09 14:45:44 -05:00
Awais Jibran
ce0fc3804d refactor: use q objects when fetching user using an identifier #26683 (#26823) 2021-03-04 15:16:54 +05:00
Christie Rice
1b1781247c MICROBA-1032 Remove command in favor of querying the db for more detailed info (#26787) 2021-03-03 09:33:21 -05:00
Awais Jibran
589716144c refactor: use q objects when fetching user using an identifier (#26726)
* refactor: use q objects when fetching user using an identifier #26683

* Nit
2021-03-03 10:45:48 +05:00
Christie Rice
f1ff795271 MICROBA-1032 Remove command in favor of using the allowlist (#26786) 2021-03-02 14:40:19 -05:00
Christie Rice
e5872cf8f2 MICROBA-1032 Add allowlist check and move tests (#26785) 2021-03-02 14:04:03 -05:00
usamasadiq
84bb9faa3f refactor: ran pyupgrade on lms/djangoapps/certificates 2021-02-25 19:58:39 +05:00
Matt Tuchfarber
55d9e18495 Update mgmt cmds to use user_ids instead of PII 2021-02-22 10:30:35 -05:00
Christie Rice
6b0bc6389a MICROBA-918 Update allowlist check to handle more signals (#26606) 2021-02-18 10:48:53 -05:00
Matt Tuchfarber
d380d85f5c feat: Allow cert allowlist mgmt cmd to use db args
The management command to generate certificates for users on a course's
allowlist (formerly whitelist) now allows for database arguments to
allow it to be called outside of a manual shell.
2021-02-16 14:49:26 -05:00
Christie Rice
7db147e06a Fix lint-amnesty warnings (#26412) 2021-02-09 10:20:46 -05:00
Christie Rice
997e31b56b MICROBA-918 Check the allowlist when regenerating certificates, and stop incidentally modifying the certificate invalidation list (#26439) 2021-02-09 09:47:33 -05:00
Christie Rice
6e5a9f5f6f MICROBA-918 Move methods to separate certificate generation from celery task to schedule certificate generation. Also standardizes imports. (#26410) 2021-02-08 10:01:04 -05:00
Jawayria
92a13c55c3 Applied pylint-amnesty to certificates 2021-02-02 19:23:48 +05:00
Christie Rice
ad3ab3712e MICROBA-918 Remove unused variables, standardize imports, and use factories in tests (#26291) 2021-02-02 09:00:18 -05:00
Christie Rice
3638005326 MICROBA-921 Add certificate allowlist (#26129) 2021-01-29 10:22:07 -05:00
Kyle McCormick
d1a775d3cd Use full names for lms.djangoapps imports (#25401)
* Use full LMS imports paths in LMS settings and urls modules
* Use full LMS import paths in Studio settings and urls modules
* Import from lms.djangoapps.badges instead of badges
* Import from lms.djangoapps.branding instead of branding
* Import from lms.djangoapps.bulk_email instead of bulk_email
* Import from lms.djangoapps.bulk_enroll instead of bulk_enroll
* Import from lms.djangoapps.ccx instead of ccx
* Import from lms.djangoapps.course_api instead of course_api
* Import from lms.djangoapps.course_blocks instead of course_blocks
* Import from lms.djangoapps.course_wiki instead of course_wiki
* Import from lms.djangoapps.courseware instead of courseware
* Import from lms.djangoapps.dashboard instead of dashboard
* Import from lms.djangoapps.discussion import discussion
* Import from lms.djangoapps.email_marketing instead of email_marketing
* Import from lms.djangoapps.experiments instead of experiments
* Import from lms.djangoapps.gating instead of gating
* Import from lms.djangoapps.grades instead of grades
* Import from lms.djangoapps.instructor_analytics instead of instructor_analytics
* Import form lms.djangoapps.lms_xblock instead of lms_xblock
* Import from lms.djangoapps.lti_provider instead of lti_provider
* Import from lms.djangoapps.mobile_api instead of mobile_api
* Import from lms.djangoapps.rss_proxy instead of rss_proxy
* Import from lms.djangoapps.static_template_view instead of static_template_view
* Import from lms.djangoapps.survey instead of survey
* Import from lms.djangoapps.verify_student instead of verify_student
* Stop suppressing EdxPlatformDeprecatedImportWarnings
2020-11-04 08:48:33 -05:00
Aarif
98af9ce418 remove useless-supression warnings 2020-05-01 19:42:15 +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
uzairr
80316c632d Update Help msgs of management commands
PROD-399
2019-08-02 15:20:26 +05:00
Stu Young
43d5000443 incr-261 (#20557)
* run python modernize

* run isort
2019-05-15 15:58:20 -04:00
Nimisha Asthagiri
eb0791ec89 Inter-app API cleanup for Grades 2019-05-04 11:35:06 -04:00
Matthew Piatetsky
6e81c84d8b fix unicode strings in lms/ part 1 2019-02-05 15:15:02 -05:00