Commit Graph

6089 Commits

Author SHA1 Message Date
Matt Hughes
8023a09191 fix: deleted courses do not break program details page
Sometimes learners have certificates in old course runs which've been
deleted. When this happens loading the learner's program progress can
result in 500 errors. This corrects those by choosing to count any
non-existent course the learner has certificates for as counting
towards program completion, effectively assuming that availability
dates have passed for all such courses.

Also fixes an error with a condition related to how we determine
whether an enrolled course is considered "in progress". The previous
version of the code had a bug that would result in a lot more courses
being marked "in progress" for the purpose of program completion than
actually were.

JIRA:EDUCATOR-5787
2021-06-09 10:58:00 -04:00
Kyle McCormick
de8859584f Merge pull request #27874 from edx/kdmccormick/xmodule-no-cms
refactor: make xmodule & openedx independent of code in cms

The xmodule and openedx packages both contain code that is common
between LMS and CMS. The cms package is, of course,
contains CMS-specific code.

So, one prerequisite to extracting CMS into an independent service
will be making sure that lms, common, openedx, and the projects in
common/lib (xmodule, capa, etc.) are not coupled to any CMS-specific
features. This PR moves us towards that reality by making sure
that those packages are independent from cms from a Python-import
perspective, at least.
2021-06-09 09:15:31 -04:00
alangsto
8c205e5c0e fix: add created and modified fields to integrity signature admin (#27882)
MST-861. The Django admin page for IntegritySignature only displays
the user and course_key for a signature. This adds the created and modified
fields, and will order signatures by the modified field.
2021-06-08 12:15:37 -04:00
Simon Chen
a284b9704c [Fix]: CR-3731 correct the spelling of the error message on password reset (#27883) 2021-06-08 11:33:37 -04:00
Kyle McCormick
709db42835 refactor: de-index courses in contentstore, not course_overviews
This is a minor refactoring in order to remove
a code dependency of ./opendedx on ./cms
2021-06-08 10:46:52 -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
Kyle McCormick
4d914e0415 Merge pull request #27871 from edx/kdmccormick/import-as-xmodule
refactor: normalize xmodule imports
2021-06-08 08:45:42 -04:00
Kyle McCormick
d42b0c401d refactor: normalize xmodule imports
Code in ./common/lib/xmodule/xmodule should
be imported as `from xmodule`, since `xmodule`
is a locally-installed package.

This is weird, but as long as it is the case,
we should be consistent.

(In BOM-2584, I propose moving the files to
 ./xmodule, which would quell this confusion.)
2021-06-07 16:36:38 -04:00
Simon Chen
3f589ab2c7 [Chore]: Add the readme file documenting the Agreements app (#27869)
This is a simple housekeeping action to help other edx-platform development to understand the current state of Agreements app
2021-06-07 15:22:04 -04:00
Aarif
58a54f8d0b BOM-2543: Remove the diff-quality step from quality checks (#27619)
* build: Removed the diff-quality step
Applied lint-amnesty on all the warnings
Removed pylint thresholds comparison code and related tests

Co-authored-by: Usama Sadiq <usama.sadiq@arbisoft.com>
2021-06-07 18:37:06 +05:00
Mehak Nasir
b9fc89a328 feat: documentation links added in discussion model 2021-06-07 13:57:01 +05:00
David Ormsbee
92de07a7f9 fix: Convert block_structure.data to relative paths (TNL-8335)
In order to upgrade to Django > 2.2.20, we can't continue to use
absolute paths in the block_structure's data FileField. This used to
work for S3, but it will not work going forward due to a security fix
in Django 2.2.21.

This data migration will remove the starting '/' from any paths in the
block_structure table. The resulting locations in S3 should be
unaffected.
2021-06-04 12:01:12 -04:00
Matthew Piatetsky
cea450a35b fix: pass in course key when checking the bucket for the streak discount experiment 2021-06-01 16:32:21 -04:00
Matthew Piatetsky
f89ae754e4 Revert "feat: add debugging logs to help figure out why experiment isn't activating in production" 2021-06-01 15:10:14 -04:00
Matthew Piatetsky
9a76223047 Merge pull request #27772 from edx/debugging_logs
feat: add debugging logs to help figure out why experiment isn't activating in production
2021-06-01 10:02:09 -04:00
Matthew Piatetsky
98eb516745 feat: add debugging logs to help figure out why experiment isn't activating in production 2021-06-01 09:10:40 -04:00
Raul Gallegos
24f9568c4e fix: no library context when not found (#27493)
FAL-1848 (OpenCraft)
2021-05-28 13:01:35 -04:00
Régis Behmo
a131d63608 feat: run mypy as part of testing the codebase
The edx-platform codebase already includes quite a few type annotations, but
they were not regularly checked. This may cause problems, when the annotations
themselves include errors (as we found out in some of the learning_sequences
annotations). So here, we add mypy as a dev requirement and introduce a make
command to run mypy regularly. Mypy runs on a very small portion of the total
edx-platform, as configured in mypy.ini. Our hope is that developers will add
more and more modules to this configuration file, until we can eventually run
mypy on the full code base.

See discussion: https://discuss.openedx.org/t/dev-notes-running-mypy-on-edx-platform/4860
2021-05-27 13:54:37 -04:00
Matt Tuchfarber
b6fe11ea43 Merge pull request #27737 from edx/tuchfarber/fix_program_explicit_queue
fix: remap explicit queues for program tasks
2021-05-27 11:01:11 -04:00
Matt Tuchfarber
e4d3c1a59b fix: remap explicit queues for program tasks
Program tasks got moved from tasks.v1.tasks.py to just tasks.py, but
the mapping was never updated.
2021-05-27 10:01:02 -04:00
Thomas Tracy
4d8abcac00 MB-1067: [refactor] Change credentials date backfill to single longlived task (#27734)
[refactor] change backfill date task to long running task

Change from a task that spins off multiple other tasks to a single long
running task. This will hopefully be way less heavy when this is ran in
production.
2021-05-26 16:31:22 -04:00
Thomas Tracy
089dbf6e20 [refactor] Move backfill_date_for_all_course_runs to Tasks.py (#27725)
* [refactor] Move backfill_date_for_all_course_runs to Tasks.py

In order for celery to register this task, it needs to be in the right
file. duh!

* fix imports

* fix more imports
2021-05-25 16:53:26 -04:00
Thomas Tracy
0b00b40259 MB-1067: Management command to populate credentials availability date (#27650)
* [feat] Management command to populate credentials availability date

This is a command to populate the new CredentialsCertificate model's
available_date for every existing course_run.
2021-05-24 15:30:14 -04:00
uzairr
dd5c3790c3 refactor login api 2021-05-21 19:59:41 +05:00
Bianca Severino
57376fb92e Merge pull request #27669 from edx/bseverino/update-access-and-sequence
[MST-840] Add integrity signature check to courseware API
2021-05-20 15:56:07 -04:00
Bianca Severino
744d650ef2 feat: add integrity signature check to courseware api 2021-05-19 15:04:55 -04:00
Waheed Ahmed
ea29318f22 fix: username suggestion generation (#27641)
If all generated usernames using an integer range are already consumed by existing
users, the loop stuck in an infinite loop. Fixed by using a for loop instead of
while with an upper limit.
2021-05-19 14:53:06 +05:00
Azan Bin Zahid
0f1ea9b254 Merge pull request #27639 from edx/azan/PROD-2333
feat: add activation_key in accounts view
2021-05-18 21:18:04 +05:00
Azan Bin Zahid
d9abf98056 feat: add activation_key in accounts view 2021-05-18 20:09:00 +05:00
Robert Raposa
63bdb4dbb7 Merge pull request #27518 from eduNEXT/eric/enable_account_mfe_globally
refactor: Using Waffle flag to enable Account MFE globally.
2021-05-13 16:09:37 -04:00
Bianca Severino
534854d8a7 Merge pull request #27609 from edx/bseverino/integrity-signature-post
[MST-782] POST endpoint for integrity signature
2021-05-13 13:07:34 -04:00
Eric Herrera
353153666d refactor!: Enable Account MFE globally.
This commit refactors the way the Account MFE is activated in the
platform. The main objective is to control the global
activation/deactivation of the MFE through the
account.redirect_to_microfrontend waffle flag and use the Site
Configurations to control MFE activation/deactivation with per-site
granularity. Notice that the Site Configuration object will have
precedence over the waffle flag value.

Since the classic Account Django view will be most likely supported
during Lilac, the expiration of this temporary waffle flag was
extended till the end of 2021

With this commit:

- There's no need to create a Site Configuration object to get the MFE
activated. Setting the waffle flag to True is enough.
- It helps multisite installations to better handling granular
per-site activation/deactivation.

BREAKING CHANGE:

For operators of multisite installations, the activation of the waffle
flag will now activate the MFE for all sites, unless explicitly
disabled on a per-site basis.

Otherwise, this is a backwards-compatible change, since the MFE will
remain activated for installations where this is already enabled.
2021-05-13 11:47:34 -05:00
Thomas Tracy
84c953948b MB-1167: calling course certificates api from LMS (#27552)
* [feat] calling course certificates api from LMS

Now that CourseCertificates in credentials have a field for the
available_date, we need to make sure we are always updating that field
when it changes in studio. This PR adds a call to a new Credentials API
that will update the field each time the date change signal fires.
2021-05-12 15:42:08 -04:00
Bianca Severino
8be1c7c18b feat: POST endpoint for integrity signature 2021-05-12 13:57:11 -04:00
Diana Huang
7f10a9b571 Merge pull request #27577 from edx/diana/clean-student-migrations
refactor: Remove squashed student migrations.
2021-05-12 10:37:20 -04:00
alangsto
c651e58fb7 feat: Add GET endpoint for Integrity Signature (#27590)
MST-781. Add endpoint to retrieve data related to the integrity signature model.
2021-05-12 08:38:45 -04:00
Diana Huang
3eb2078c38 refactor: remove squashed student migrations
We squashed migrations in the student djangoapp a while back.
This is the followup work to remove the migrations that were
squashed and to convert the squashed migration into a 'normal'
migration.

ARCHBOM-1177
2021-05-11 15:19:17 -04:00
Ahtisham Shahid
128c53e50b Merge pull request #27561 from edx/ahtisham/TNL-8287
feat: Added new discussion providers and features
2021-05-11 22:22:18 +05:00
Ahtisham Shahid
73226f527b refactor: updated feature names as per convention 2021-05-11 18:20:17 +05:00
Ahtisham Shahid
e025c9bb64 refactor: sorted imports and misc cont renames 2021-05-11 18:20:17 +05:00
Ahtisham Shahid
1a43a4ca29 feat: Added new discussion providers and features
refactor: Fixed linter issues

refactor: Fixed styling issues

refactor: Code refactor and removed conflicts

refactor: Replaced feature dict with enum
2021-05-11 18:20:11 +05:00
Bianca Severino
6cee3f858a Merge pull request #27544 from edx/bseverino/honor-code
[MST-780] Create IntegritySignature model and API
2021-05-11 09:19:39 -04:00
Usama Sadiq
4f4be6538a BOM-2477: pylint warnings lint-amnesty (#27585) 2021-05-11 17:22:40 +05:00
uzairr
e291e383f6 refactor failed login response 2021-05-11 16:20:34 +05:00
Usama Sadiq
13ef0c7762 refactor: pyupgrade second iteration (#27462) 2021-05-11 11:25:22 +05:00
Usama Sadiq
46993bff00 refactor: pyupgrade second iteration (#27461) 2021-05-11 11:24:07 +05:00
Bianca Severino
e41e6e04ee feat: initialize agreements app
Adds an app to openedx for the Agreements feature.
Includes an IntegritySignature model with a basic
API, as well as a waffle flag to support rollout.
2021-05-10 17:55:36 -04:00
Matthew Piatetsky
526982c548 Merge pull request #27505 from edx/AA-759
[AA-759] feat: Add flag for AA-759 streak celebration discount experiment
2021-05-10 14:43:40 -04:00
Matthew Piatetsky
9c5992521a feat: Add flag for AA-759 streak celebration discount experiment
AA-759
2021-05-10 13:11:07 -04:00
Christie Rice
4867535d2d refactor: Use certificates api method instead of the model, and rename whitelist to allowlist. Also move method to certificates app to prevent circular import. (#27532)
MICROBA-1021
2021-05-10 13:02:43 -04:00