Commit Graph

12551 Commits

Author SHA1 Message Date
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
Kyle McCormick
d86aa824c1 revert: feat: add & expose courseware.use_learning_sequences_api flag (#28054)
The learning_sequences.use_for_outlines flag was recently added,
intended to serve the same purpose
as courseware.use_learning_seuqences_api. We do not need
both flags.

Furthermore, exposing either flag in the Courseware
Metadata API is neither necessary nor helpful, since
the easiest and quickest way for the Learning MFE to see
if the Learning Sequences API is enabled is to hit it,
and fall back to a different API if a 403 is returned.

This reverts commit 78f1e2b3bd.

TNL-8330
2021-07-06 11:34:40 -04:00
Thomas Tracy
986f52faab [feat] Add has_scheduled_content to outline API
The outline API that the learning MFE needs to know if a course has
upcomming content for a new alert.
2021-07-06 11:33:53 -04:00
Christie Rice
b8114ebc59 fix: Remove V2 certificate checks, since V2 has been enabled globally for all course runs (#28077)
MICROBA-1083 DEPR-155
2021-07-06 11:00:54 -04:00
Matthew Piatetsky
0fc4fb581f Merge pull request #28033 from edx/AA-874
[AA-874] feat: add user id parameter to progress page
2021-07-02 08:39:16 -04:00
Matthew Piatetsky
6922f75a52 feat: add user id parameter to progress page 2021-07-01 15:50:13 -04:00
Justin Hynes
c1eb7c9054 Merge pull request #28070 from edx/jhynes/microba-1298
feat!: Remove certificate generation segment event
2021-07-01 09:43:04 -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
Justin Hynes
4cd15acaf9 Fix failing unit test in courseware 2021-06-30 10:21:10 -04:00
Justin Hynes
c1f7272174 feat!: Remove certificate generation segment event
[MICROBA-1298]
* Remove a Segment certificate event that was, historically, only emit from the courseware.

The Segment event that was previously (only) issued in the courseware doesn't seem to be important or referenced anywhere we could see. Since this event only tracked certificate generation attempts from one (of multiple) paths to initiate certificate generation in v1, I didn't think the historical event data captured is complete. We approached our data teams and I determined this event was not of high importance. For this reason, I am suggesting we just stop using this event and remove the code responsible for sending it.

We will continue to track certificate creation/generation using the existing `edx.certificate.created` event.
2021-06-30 09:23:46 -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
Michael Terry
c62626227a fix: jump_to should redirect to first unit on invalid key
Previously, it would 404. While accurate, it's not a great user
experience. Users can be offered invalid jump_to paths in the normal
course of things, if course content disappears or they lose access
to it.

In both cases, they might be offered a resume URL in the courseware
that would be to a now-invalid location.

With this change, that invalid link will at least give them
*something* (the first unit in the course) rather than an error
page.

This also (unrelatedly) fixes an exception when the learning MFE
outline page tries to render a course that contains sequences
with no children.

AA-867
2021-06-28 15:43:12 -04:00
Christie Rice
24367919bb fix: Update logic for certificate generation status, and create cert with all available info (#28004)
MICROBA-1306 CR-3792
2021-06-28 10:05:34 -04:00
Albert (AJ) St. Aubin
b23169560f fix: Corrects issue with refund logic and certificates.
[MICROBA-1307]

Before this change a user would not be auto refunded if they had a
certificate in a course with any status. This had unintended
consequences. This change updates the logic to only block auto refund
for statuses that we do not want to refund on such as downloadable.
2021-06-28 09:20:00 -04:00
Manjinder Singh
9616a1c367 fix: adding code owner info to celery tasks (#28040)
Celery tasks needs decorator to correctly add ownership info:
https://github.com/edx/edx-django-utils/blob/master/edx_django_utils/monitoring/docs/how_tos/add_code_owner_custom_attribute_to_an_ida.rst#handling-celery-tasks
2021-06-28 09:15:31 -04:00
SaadYousaf
16972b4991 test: add tests to test override_legacy_discussion_settings flag with different roles 2021-06-28 11:54:17 +05:00
SaadYousaf
608f1994b7 refactor: move waffle flag calculation to utils file and other updates 2021-06-28 11:54:16 +05:00
SaadYousaf
90921e19e2 test: add tests for discussion settings and tab visibility with override_discussions_setting flag. 2021-06-28 11:54:16 +05:00
SaadYousaf
039a816e57 refactor: move pages_and_resources_mfe WaffleFlag to use in both LMS and Studio 2021-06-28 11:54:16 +05:00
SaadYousaf
09c8ef931e feat: Add CourseWaffleFlag for overriding course discussion settings for legacy experience. 2021-06-28 11:54:16 +05:00
Kyle McCormick
78f1e2b3bd feat: add & expose courseware.use_learning_sequences_api flag (#27993)
Add a Waffle Flag. When enabled, the courseware pages of the
Learning MFE should use the Learning Sequences HTTP API instead
of the Course Blocks HTTP API in order to load course structure
data. We expect that this switchover will lead to performance
improvements and a more comprehensible system.

(We are putting the switchover behind a temporary flag in order to
enable debugging, incremental rollout, and comparison testing.)

The flag is exposed to the MFE via the Course API.
As of this commit, the new flag is not enabled in any environment,
and the MFE does not have any code to act on the flag's value.
So, this commit on its own should have no production impact.

TNL-8330
2021-06-25 11:19:28 -04:00
Christie Rice
69580aa592 feat!: Read from the allowlist model, instead of from the whitelist model. Only write to the allowlist model. (#27974)
MICROBA-982
2021-06-25 09:47:32 -04:00
Dillon Dumesnil
61358b230e feat: AA-869: Add in logic to mark special exams as complete
This is technically a revert of a revert that also includes some new
logic. The original PR was https://github.com/edx/edx-platform/pull/27770
and the revert PR was https://github.com/edx/edx-platform/pull/27973.

The new logic is to mock a request and create a module with user state
taken into account. We also put this into a celery task to help avoid
any potential concerns with recursing through children.
2021-06-24 12:06:11 -07:00
Diana Huang
29548459fa refactor: Remove PyContracts usage. (#27887)
* refactor: Remove PyContracts usage.

We have not used PyContracts in a while and it is overhead we don't
need in edx-platform.

https://openedx.atlassian.net/browse/DEPR-147

* chore: Updating Python Requirements (#28018)

Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2021-06-23 18:24:06 -04:00
Carla Duarte
c708322f2b Merge pull request #28008 from edx/ciduarte/AA-866
fix: make scores floats rather than ints in progress tab api
2021-06-23 14:10:10 -04:00
Kshitij Sobti
d2c2fcdefe feat: Course Apps API [BD-38] [TNL-8103] [BB-2716] (#27542)
* feat: Course Apps API

This adds a new concept called course apps. These are exposed via a new
"openedx.course_app" entrypoint, which helps the LMS and studio discover such
apps and list them in a new rest api for the same.

These course apps will drive the pages and resources view in the course authoring
MFE. This system will track which apps are enabled and which are disabled. It
also allows third-party apps to be listed here by using the plugin entrypoint.

* Apply feedback from review
2021-06-23 21:51:12 +05:00
Christie Rice
29fcf8b868 fix: Copy data from the certificate whitelist to the certificate allowlist, including copying the created date (#28007)
MICROBA-982
2021-06-23 12:21:58 -04:00
Carla Duarte
b08a9d61ef fix: make scores floats rather than ints in progress tab api 2021-06-23 11:34:19 -04:00
Christie Rice
532b97b4e2 fix: Temporarily disable generating certificates with a non-downloadable status (#28000)
CR-3792 MICROBA-1306
2021-06-22 15:56:11 -04:00
Justin Hynes
336e4dc7c9 Merge pull request #27990 from edx/jhynes/microba-1179_allowlist
refactor: Rename "whitelist" references to "allowlist" where possible in Instructor Dashboard/Certificates apps
2021-06-22 11:20:42 -04:00
Michael Terry
7952ab659b Merge pull request #27989 from edx/mikix/progress-access
feat: add learner_has_access field to progress tab data
2021-06-22 09:45:22 -04:00
Michael Terry
c8a62bd4d2 feat: add learner_has_access field to progress tab data
In order to allow the learning MFE's progress tab to show a
different UX for FBE exceptions (where some exams can still be
completed by audit learners), this commit adds access information
to each exam.

AA-829
2021-06-22 09:10:12 -04:00
Justin Hynes
205911653b refactor: Rename "whitelist" references to "allowlist" where possible in Instructor Dashboard/Certificates apps
[MICROBA-1179]
- Continue renaming/removal of code referring to the Certificate "white list".

The Certificates Django app `CertificateWhitelist` model is going away in an effort to make our codebase more inclusive. It is being replaced
with the `CertificateAllowlist` model. This PR continues to replace references to the Certificate "whitelist" with "allowlist" wherever
possible. There should be no change in functionality, nor are there any changes in appearance.
2021-06-22 08:18:15 -04:00
Kristin Aoki
456d6c502c fix: Update course preview redirect
This PR changes the preview URL redirect from Studio. Before when a user clicked on the course preview button to check unpublished changes, the preview in the New Experience would show the most recently published version of the course. The unpublished changes that the user was hoping to view are no present. At the moment users have been publishing the content to check it then having to republish the old version if they did not like the changes. As a short-term fix, this PR redirects to the Legacy experience where the preview option previously worked. Now the user can see the unpublished changes. A long-term fix is still being explored. This change will impact the Course Author.
2021-06-21 13:36:21 -04:00
Syed Muhammad Dawoud Sheraz Ali
3a7aeaa2c3 Merge pull request #27950 from bitmakerla/alfredchavez/redirect-to-contact-page-if-zendesk-url-not-defined
feat: redirect to 'contact' page if zendesk url is not defined
2021-06-21 21:13:55 +05:00
Colin-Fredericks
925f662f47 Removing references to Google Plus 2021-06-21 12:10:01 -04:00
Sofia Yoon
f9897e1bc2 refactor: delete reference to old course home microfrontend flag 2021-06-21 10:35:40 -04:00
Alfred Chavez
1455542627 feat: redirect to 'contact' page if zendesk url is not defined 2021-06-21 09:06:28 -05:00
sofiayoon
3616910841 Merge pull request #27899 from edx/syoon/AA-797
feat: AA-797 switch course home flag to opt out
2021-06-21 09:37:48 -04:00
Ali Akbar
2b25635203 Merge pull request #27815 from edx/aakbar/PROD-1637
feat: Add a create enrollment endpoint for support tools
2021-06-18 14:40:14 +05:00
Christie Rice
63a5d3030d docs: Add link to DEPR ticket (#27978)
MICROBA-1294
2021-06-17 15:06:03 -04:00
Justin Lapierre
37aa2db9e3 Merge pull request #27269 from open-craft/gabor/custom-report-dir-and-task-kwargs
[SE-4304] Allow custom upload directory and filename for grade and calculated profile reports
2021-06-17 12:58:51 -04:00
David Ormsbee
fe6448303d fix: Use learning_sequences to remove bad sequences from outline.
A common usage pattern is to make an exam that is restricted to a
particular enrollment track. Since there is no UI in Studio to do this
at the sequence/subsection level, course authors instead restrict every
unit in the sequence to that track (e.g. "verified"). The legacy
courseware experience could handle this, but the Course Blocks API does
not. It is likely that we'll want to permit toggling this at the
sequence level, but regardless of whether we do that going forward, we
still have to deal with this kind of content data in existing courses.

An entirely empty sequence is useless, and currently breaks the
Courseware MFE browsing experience. This commit introduces the first
part of that fix, invoking the new Learning Sequences API to remove
sequences that the user shouldn't be allowed to know about. The plan is
to switch over the entire course outline from the Course Blocks API to
the Learning Sequences API, and this is the first small step in that
direction.

This also creates CourseWaffleFlag learning_sequences.use_for_outlines
to control the gradual rollout of this feature. This will start as a
very limited rollout to address courses that show this specific bug
(TNL-8377).

New learning_sequences public API call: public_api_available
2021-06-17 11:13:47 -04:00
Ali-D-Akbar
0d1d9190e5 feat: add a create enrollment endpoint for support tools 2021-06-17 18:46:53 +05:00
Ahtisham Shahid
20d631ff70 fix: added access for data researcher in courseware (#27935)
fix: fixed data researcher permissions on instructor dashboard
2021-06-17 10:57:46 +05:00
jawad khan
ad2f92767b fix: fixed atmoic block error in course_status_info
* fix: fixed atmoic block error in course_status_info

We are getting "An error occurred in the current transaction. You cant execute queries until the end of the atomic block."
error in get course status info on both versions i.e. 0.5 and 1. I was unable to reproduce it locally. But by looking
in django documentation and some other online helps I concluded that it might be because of some db intefrity error
that we didnt handle properly and now the cursor is broken for this transaction. Therefore i am making it non atomic
transaction. Since its a get request we can make transactions run independentantly.

LEARNER-8267
2021-06-17 07:26:11 +05:00
Josh McLaughlin
ddffeaac4a fix: Use UserProfile.meta for city field if set in the profile information report
There are two distinct ways to store a city for users in edx-platform:
one directly in UserProfile.city, and another in UserProfile.meta.

Depending on configuration, both fields can be used. Though the
UserProfile.meta['city'] field is not set unless specifically configured,
so we choose this over the UserProfile.city field when generating the student
features report.

Additional details and discussion available on edx/edx-platform#23171
2021-06-16 11:26:41 -07:00
Dillon Dumesnil
68cce7dbbb Revert "feat: AA-773: Add in logic to mark special exams as complete" 2021-06-16 10:16:27 -07:00