Commit Graph

2361 Commits

Author SHA1 Message Date
J. Victor Martins
14e2f29516 feat: Make content libraries an LTI 1.3 tool
Offers blockstore-based content through content libraries acting as an
LTI 1.3 tool:

- Content Library support LTI 1.3 launches offering blockstore-based
  content through resource links.

- Content Library support LTI 1.3. AGS, allowing gradebook updates from
  graded assignments.
2021-09-01 11:56:51 -07:00
Tim McCormack
a96864d3cc feat: Enable CookieNameChange in LMS in prep for session cookie rename (#28609)
ref: ARCHBOM-1833/ARCHBOM-1649
2021-09-01 15:14:25 +00:00
Usama Sadiq
cde050618e build: Moved user and group management commands and unit tests to edx-django-utils
- Removed manage_user and manage_group commands and their unit tests from edx-platform and added then to edx-django-utils.
- Modified User.post_save signal to ensure the user profile is created when manage_user management command is run to create a user.
- Added edx-django-utils to INSTALLED_APPS for LMS and Studio.
- Moved generate_password from openedx.core.djangoapps.user_authn.utils to edx_django_utils.user along with its unit test.
2021-08-30 12:03:37 +05:00
Bianca Severino
d0da23058d chore: set runtime service for name affirmation
If special exams are enabled, set a runtime service for Name Affirmation
in order to enable it for use in proctored exam attempts.
2021-08-09 11:38:26 -04:00
Matthew Piatetsky
5db6cbb795 Merge pull request #28320 from edx/AA-902
feat: update course goals with new fields and a waffle flag to toggle the new behavior
2021-08-06 09:13:22 -04:00
Matthew Piatetsky
8183a5ae64 address comments 2021-08-05 21:45:58 -04:00
Kshitij Sobti
6cbb9cbca3 feat: Supply documentation links for course apps from the backend (#28327)
Instead of hard-coding the "Learn More" and potentially other links for course
apps in the course authoring  MFEs this change loads those URLs from the
django settings as part of each individual course app.
2021-08-04 15:04:13 +05:00
Hamza Farooq
4a2549f49a fix: making LOGIN_REDIRECT_WHITELIST configurable through env files (#26760)
LOGIN_REDIRECT_WHITELIST has been used to filter redirect-url while processing logout requests but its configurations were not picked through environment files like lms.yml or studio.yml. This PR fixes that bug.
2021-08-03 08:29:23 -04:00
Matt Tuchfarber
622d56026c Certificate Display Settings revamp (round 2) (#28286)
feat: reimagine certificate display settings

The course settings `certificate_available_date` (CAD) and
`certificates_display_behavior` (CDB) were previously
acting indedependantly of one another. They now work in
tandem. This change:
- limits CDB to a dropdown
- removes "early_with_info" and adds "end_with_date"
- only takes CAD into account if "end_with_date" is selected
- Moves CDB to the main course schedule settings page
- updates CourseOverview model and CourseDetails objects to
validate these fields and choose sane defaults if they aren't
expected values

This work was previously done in bd9e7dd (complete with bugs), so this
version is toggleable via the ENABLE_V2_CERT_DISPLAY_SETTINGS setting
2021-08-02 11:30:15 -04:00
Maari
81a17b90aa feat: add an option to enable Badgr notifications (#28313)
With Badgr v2 API, notification emails for earning badges are
no longer sent to learners by default. However, the request to
create a badge assertion accepts an optional boolean property
"notify", that can be used to enable/disable email notifications.

Make it configurable by an optional setting `BADGR_ENABLE_NOTIFICATIONS`
(defaults to False).
2021-07-29 15:33:23 -04:00
Julia Eskew
a0d6095fb6 feat: Add token which disables different origin subframe dialog suppression
for Chrome version 92. This token is added to the courseware iFrame, which
enables the iFrame to retain the ability to summon modals & alerts - or open
new windows via JS. This token has a limited lifespan - it currently expires around
Dec 14, 2021.

TNL-8559
2021-07-28 14:32:39 -04:00
Bianca Severino
14c85d9465 feat: pass verified name flag into user api 2021-07-20 16:58:39 -04:00
Bianca Severino
430f1554b4 Revert "feat: pass verified name flag into account settings"
This reverts commit 85dc8c8d67.
2021-07-19 12:06:33 -04:00
Bianca Severino
85dc8c8d67 feat: pass verified name flag into account settings 2021-07-19 11:03:24 -04:00
Justin Hynes
0dd319a089 feat!: Remove AUDIT_CERT_CUTOFF_DATE configuration setting
[MICROBA-1351][DEPR-159]
* Remove `AUDIT_CERT_CUTOFF_DATE`
2021-07-16 15:38:14 -04:00
Diana Huang
9173707a50 feat: Allow shared cookies' domains to be set separately. (#28135)
Several of our cookies are meant to be shared between the LMS
and the marketing site. The previous assumption was that
SESSION_COOKIE_DOMAIN would cover both. We would like to make
it so that these can be set independently of each other.

https://openedx.atlassian.net/browse/ARCHBOM-1831
2021-07-12 15:49:11 -04:00
Feanil Patel
4b2987205c Merge pull request #28066 from edx/feanil/arch-1821-alternative
fix!: Make default queue names service variant specific.
2021-07-01 09:56:18 -04:00
Feanil Patel
c2d848860d fix!: Make default queue names service variant specific.
common.py has queue names that always get overridden by production.py
and lead to confusion.  Set a default SERVICE_VANIANT in common.py and
then set the queue names based on that in common.py so that
production.py doesn't make it more complicated.

This should prevent the issue where if you copy a queue name in
common.py it ends up being incorrect in the production system.  This is
what happened with the sample_task change.

https://github.com/edx/edx-platform/pull/23731 made it so that the queue
name for that queue is independently configurable but the default was
set to the value of HIGH_PRIORITY_QUEUE in common.py which is not the
same as the value set in production.py leading to stale tasks that never
get picked up in production.

BREAKING_CHANGE: If anyone was building a different settings file on top
of common, the default names in common.py are now change to be service
variant specific. eg 'edx.cms.core.high' instead of 'edx.core.high'
2021-06-30 10:06:28 -04:00
Braden MacDonald
e2a867e975 fix: xblock-poll's celery tasks were not registered (#28019) 2021-06-30 16:10:56 +05: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
Tim McCormack
c0bed87954 Revert "ENT-4361 | Added user's "id" and "email" as public fields in ACCOUNT_VISIBILITY_CONFIGURATION." (#27942) 2021-06-11 22:53:41 +00:00
Ahtisham Shahid
5fee0a8174 fix: resolved linter issue in common.py (#27918) 2021-06-10 19:58:31 +05:00
Adeel Ehsan
335a0f28de Merge pull request #27661 from edx/aehsan/VAN-434/account_activation_dialogue_box_added
Account activation popup added
2021-06-10 15:20:15 +05:00
adeelehsan
78f1f1916c Account activation popup added
VAN-434
2021-06-10 14:46:49 +05: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
alangsto
f497f0d103 feat: Add Django Setting for viewing exam content (#27863)
MST-846. We no longer want proctored exam content to be viewable past the exam's due date. This behavior is now controlled by a django setting, so other instances of open edX can choose to turn it on/off.
2021-06-07 09:31:59 -04:00
Shimul Chowdhury
2a8a58ae6b feat: add Course Membership API
The get_course_members API returns a dict of users associated with a course.
This is a potentially expensive operation on a large course, so there is a
control in place to limit its cost.  If a course has more than
settings.COURSE_MEMBER_API_ENROLLMENT_LIMIT enrollments, then the function
raises an OverEnrollmentLimitException.

This API was added to help implement the LTI 1.3 Names and Roles Provisioning
service.

Jira references: [BD-24] [BB-2726] [TNL-7330] 
Pull request: #25843
Co-authored-by: Giovanni Cimolin da Silva <giovannicimolin@gmail.com>
2021-06-03 09:38:13 -04:00
Maari
a0165e88b2 Badgr integration updates (#27181)
* Badgr integration fix

Badges are no longer created on the Badgr side with a given
'slug'. Instead, a slug(v1) or an entityId(v2) will be generated
for each badge on the Badgr side and we will need to use that
value to check if a certain badge matching a BadgeClass on our side
exists and/or to create assertions for it.

This commit introduces a new field to the badgeclass:
'badgr_server_slug' by cherry-picking the following commit from
3309aab2a2eb00d28c5ca3d3145c8dddb15e6159
- TTK-18543: fix Badgr Server
connection (https://github.com/teltek/edx-platform/pull/46)

This commit also modifies the cherry-picked commit by making the newly
added field optional since the BadgeClass is not neccessarily always used
with the Badgr backend.

Co-authored-by: mrey <mrey@teltek.es>

* Implement OAuth2 tokens flow for BadgrBackend

* Use Badgr v2 API

Co-authored-by: mrey <mrey@teltek.es>
2021-06-03 08:46:21 -04:00
Kyle McCormick
8f577003fe refactor: uninstall user_tasks app from lms (#27754)
The user_tasks app is only needed by a cms feature.
However, it has been listed under INSTALLED_APPS
for both cms and lms because app-permissions only ran
in an lms context until recently.

Since app-permissions now creates the user_tasks_admin
group in a cms context, the app can be safely removed
from lms's INSTALLED_APPS.

TNL-8274
2021-05-28 10:19:48 -04:00
Matthew Piatetsky
e6268470b8 feat: add stacked config model for disabling the frontend-app-learning progress page 2021-05-27 10:40:43 -04:00
Gábor Boros
baca47782b feat: add CCX ID to generated filename prefixes (#27028) 2021-05-25 10:25:07 -04:00
Felipe Montoya
af0229c447 Merge pull request #27172 from msaqib52/saqib/TSD-CERTIFICATES
[TSD] add annotations for CERTIFICATES_HTML_VIEW feature flag
2021-05-24 11:24:59 -05:00
Sameen Fatima
0be941b224 ENT-4095: Handle coupon expiration date scenario in LMS (#27704) 2021-05-24 14:50:34 +05:00
Sameen Fatima
d8b07ebacd Revert "ENT-4095: Handle coupon expiration date scenario in LMS (#27539)" (#27675)
This reverts commit 9f2a72ad08.
2021-05-19 18:06:21 +05:00
Sameen Fatima
9f2a72ad08 ENT-4095: Handle coupon expiration date scenario in LMS (#27539) 2021-05-19 12:47:11 +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
Diana Huang
55a3469d37 refactor: Remove shoppingcart djangoapp.
Now that we have passed the named release boundary,
removing these migrations is no longer a breaking change.

https://openedx.atlassian.net/browse/DEPR-43
2021-05-11 14:07:13 -04: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
Adeel Ehsan
798b523712 Revert "CTA dialogue added" (#27560) 2021-05-07 16:17:18 +05:00
adeelehsan
dc306f8f6d CTA dialogue added
VAN-434
2021-05-05 23:29:47 +05:00
Awais Jibran
9722e37492 Enable Course Olx Validation during Course Import (#27300)
* Enable import failure and email with Errors/Warnings

This PR enables course import failure in case of olx validation errors. Here is the flow.
  * Course Import tries to import foo.tar.gz into their course shell
  * Course olx contains validation errors
  * During course import, olx is validated and import is failed with the error message "Course olx validation failed. Please check your email."
  * System generates an email with ERRORs & WARNINGs in the body of the email.

This PR also adds a waffle flag contentstore.bypass_olx_failure. The purpose of this test flag is to allow course teams to unblock by enabling them to bypass the
the olx-validation failure.
The workaround is shared on the ticket TNL8214.

* Disable olx validation out of the box.
2021-04-16 18:45:59 +05:00
Hammad Ahmad Waqas
d904534fc8 Merge pull request #27239 from edx/hammad/ENT-4361
ENT-4361 | Added user's "id" and "email" as public fields in ACCOUNT_VISIBILITY_CONFIGURATION.
2021-04-13 17:21:43 +05:00
HammadAhmadWaqas
3aa9248dcf * Added user's "id" and "email" as public fields in ACCOUNT_VISIBILITY_CONFIGURATION.
* Updated api/user/v1/accounts list view to search based on multiple emails as well.
2021-04-12 21:13:53 +05:00
Kyle McCormick
4531e15519 refactor!: stop using import_shims
Attempting to import packages from
lms/djangoapps, cms/djangoapps, or common/djangoapps
as if they are import roots will now
simply raise ImportErrors (like any other invalid
import) instead of DeprecatedEdxPlatformImportError.

See docs/decisions/0007-sys-path-modification-removal.rst
for more details.
2021-04-12 09:43:59 -04:00
Awais Jibran
30c80082c3 Use config settings for olxcleaner (#27294)
* Use config settings for olxcleaner

Use config settings instead of hardcoded values for olx validation. This would help in adding a great deal of control when you want to change these settings in the future. With this approch we would not need a redeploy.

* Use configs and deprecate waffleflag and also add / update tests
2021-04-12 16:27:42 +05:00
uzairr
1d5a95facb Add independent ratelimit setting for forms
Currently, login and registration forms and view to log the user in
are sharing same ratelimit settings which is causing too much noise
while rendering forms.This PR will introduce a separate
setting for logistration forms.

VAN-436
2021-04-09 21:10:08 +05:00
Pooja Kulkarni
86bfcea19c feat: Django app to allow user retirement via API (#25800)
This adds a new django app to allow the GDPR user retirement via
Open edX's REST API. Prior to this the only way to trigger the user
retirement was either by the user themself clicking "Delete my account"
in the account setting page or via creating a User Retirement request
by admin. With these changes, the user retirement process can be
triggered using REST API.
2021-04-08 13:50:12 -04:00
HamzaIbnFarooq
582c02afc4 feat!: remove sysadmin dashboard feature w.r.t 0002-deprecate-sysadmin-dashboard-adr.rst
The sysadmin dashboard feature is converted into a plugable app named edx-sysadmin (https://github.com/mitodl/edx-sysadmin) according to the decisison made at https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst. Instances using sysadmin dashboard should use the new plugin from now onwards.

BREAKING CHANGE: sysadmin dashboard is removed
2021-04-08 09:15:11 -04:00
Piotr Surowiec
bc1e9afe4b feat: allow overriding unit icons (#21433)
This:
1. Introduces a new override using the `pluggable_override` decorator.
It is now possible to specify a custom way of getting XBlock's icon
by defining `GET_UNIT_ICON_IMPL` in settings.
2. Introduces a way to add custom `XBLOCK_MIXINS` by defining
`XBLOCK_EXTRA_MIXINS` in settings. This allows, e.g. to add
new fields to XBlocks.
2021-04-07 09:42:12 -04:00