Commit Graph

872 Commits

Author SHA1 Message Date
Azan Bin Zahid
de0f42c93e Merge pull request #28289 from edx/azan/PROD-2400
Pact Provider Verification Setup
2021-08-24 17:19:59 +05:00
Azan Bin Zahid
1cce2e952d feat: add pact verification method 2021-08-24 14:59:46 +05:00
Michael Terry
2176dd7890 feat: allow unsubcribing from a course goal with just a token
* Add unsubscribe_token uuid field to CourseGoal model
* Add endpoint to unsubcribe from just a token (no login needed)
* Add admin page for the course_goals djangoapp
* Add get_course_overview_or_404 utility method
* Clean up URL handling in course_home_api

AA-907
2021-08-23 12:07:32 -04:00
Justin Hynes
b7085c2cf9 refactor!: Remove the request_certificate REST endpoint (#28346)
[MICROBA-1412]
[DEPR-155]

Remove the request_certificate REST endpoint from the LMS (certificates Django app)
2021-08-18 10:43:47 -04:00
Justin Hynes
dbe8ae1fbb refactor!: Remove unused callback endpoints used for PDF cert generation/updates
[MICROBA-1087]
[DEPR-155]

* Removed callback functions that were originally used to update certificates (and example certificates) post xqueue processing
2021-07-28 14:21:31 -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
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
Asad Iqbal
d5e13195b7 Fix: Find the submission history using learner's email address along with username (#25642)
Co-authored-by: asadiqbal <aiqbal@edx.org>
Co-authored-by: asadiqbal08 <asad.iqbal@arbisoft.com>
2021-03-31 08:46:55 -04:00
jawad khan
5025a3ffd9 feat!: remove "Text Me the App" page from web app because of security concern
Someone at edx was able to quickly send a few texts to himself using the tool.
Each text came from a different number and there was no message about the ability to unsubscribe or stop.
This could potentially be used to spam users as well as potentially result in charges to edX for high volume.

page url https://courses.edx.org/text-me-the-app
LEARNER-8286
2021-03-30 23:38:24 +05:00
M. Zulqarnain
40a987d9d0 refactor: pyupgrade on LMS (#26851) 2021-03-22 17:51:23 +05:00
Carla Duarte
403358e09f AA-213: create progress tab mfe waffle flag 2021-03-12 10:08:34 -05:00
Kyle McCormick
9aefd6f986 style: django-not-configured is not a sensible lint-amnesty value (#26862)
django-not-configured is an error raised by pylint (with
the pylint-django plugin) when it's not correctly configured.

We should not be applying lint amnesty for such a violation.
2021-03-05 08:11:58 -05:00
Christie Rice
f844681913 Revert "BOM-2368: pyupgrade in LMS Directory (#26649)"
This reverts commit fc06846cb0.
2021-02-23 15:29:49 -05:00
M. Zulqarnain
fc06846cb0 BOM-2368: pyupgrade in LMS Directory (#26649)
* pyupgrade in lms dir

* replace wildcard

* pep8 fix

* fix quality
2021-02-23 12:36:00 +05:00
Feanil Patel
cfca652dee feat: Add paths to easily view various error pages.
Currently it's hard to see the content of an error without knowing how
to cause an existing view to make that error in production.  Adding
these default paths should make that a lot easier.
2021-02-08 14:03:26 -05:00
Feanil Patel
cd3e4353b1 feat: Add a 403 and 429 handler.
See context here: https://django-ratelimit.readthedocs.io/en/latest/cookbook/429.html#context

For now we continue to fall back to django's default 403 handler for 403
but provide a new 429 template that we use for ratelimit exceptions.

This commit also updates a logistration test that relied on the old 403
behavior of django-ratelimit instead of the newly added 429 behavior.
2021-02-08 14:03:26 -05:00
M. Zulqarnain
d9b9f21e22 pylint amnesty in LMS root (#26276) 2021-02-02 12:52:24 +05:00
Kshitij Sobti
6769a280a9 Added a new LTI-based course tab, and LtiDiscussion tab
This PR lays the groundwork for a an LTI tab that can embed any LTI1.1-based
tool as an course tab. It also adds another tab based on this LTI Tab that
offers special support for embedding LTI-based discussion tools in a course
tab. If enabled this will replace the existing discussion tab.
2021-01-20 16:24:55 +05:30
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
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
Jeremy Bowman
efc04e3399 Remove notifier_api app DEPR-111 (#25464)
Part of the notifier service deprecation (DEPR-106).

Also removed pdfminer from the package uninstall list, since we no longer install the package it conflicts with either.
2020-10-29 11:17:23 -04:00
Jeremy Bowman
d19368525b DEPR-43 Remove most of the shoppingcart app (#24692)
Removed most of the deprecated shoppingcart app, leaving just enough to allow us to cleanly remove the related database tables later. Also removed the relevant Django settings that weren't in use elsewhere.
2020-10-14 14:24:52 -04:00
Kyle McCormick
ef845ebc43 Fully qualify remaining edxnotes imports 2020-09-25 14:13:30 -04:00
Calen Pennington
4a120a9e26 Fix failures caused by removing lms/djangoapps from sys.path 2020-09-23 10:05:37 -04:00
Matt Tuchfarber
c4cf0b9bb7 Refactor program type enrollment checks
Checking if a user was enrolled in a program type was using the `name`
field which is subject to be translated. This change allows for us to check by
the type's slug which will be constant. This also includes the addition
of api.py files for the course_modes, catalog, and programs apps.
2020-08-26 14:29:39 -04:00
Diana Huang
0827a3749d Add barebones toggles endpoint for development. 2020-08-12 12:47:38 -04:00
Manjinder Singh
c76ed6ae45 Extracting plugin app from edx-platform (#24678)
* Moving plugins infrastructure to edx-django-utils
This PR extracts the code that enables plugins in edx-platform and puts it in edx-django-utils. This is done to allow other IDAS to add plugin functionality.
2020-08-12 07:48:53 -04:00
Albert (AJ) St. Aubin
77f3d9099b [MICROBA-437] Add api to determine demographics status based on user data 2020-07-14 12:58:07 -04:00
Robert Raposa
e7e1a409b2 consolidate ENABLE_FORUM_DAILY_DIGEST config (#24423)
The ENABLE_FORUM_DAILY_DIGEST config was using both
a Django Setting and a waffle flag. This consolidates
this to simply use the single Django Setting:
FEATURES['ENABLE_FORUM_DAILY_DIGEST'].

ARCHBOM-132
2020-07-08 13:08:06 -04:00
Nicholas D'Alfonso
9a83d0781b AA-133 mfe dates banner
- add serializer mixin to expose date banner info
- add endpoint to reset deadlines for a sepcific course
2020-06-15 14:22:23 -04:00
Diana Huang
a0f24bbb64 Remove shoppingcart references from instructor. 2020-06-09 13:06:44 -04:00
Albert (AJ) St. Aubin
e91c837173 Added Python API and renamed rest_api folder
[MICROBA-281]
2020-06-04 12:44:06 -04:00
David Ormsbee
5d1b24988e Create learning_sequences app, Course Outline API.
Introduces the learning_sequences app, intended to provide metadata for
sequences and course outlines. The short term goal is to provide faster
source of this information for the new Courseware microfrontend
(frontend-app-learning). The medium term goal is to provide an in-proc
API that is useful to other parts of the platform that need fast access
to course outline information customized for a user. The long term
goals are outlined in the README.rst.

This first iteration of the API only lays out the basic structure for
how we'd arrange the pieces, with enough of an implementation to feel
"real" (simple schedules, staff_only content hiding). It's not ready to
be turned on, and is not currently plugged into the publish-flow. The
only way to get data into this new API is via the update_course_outline
management command. The REST endpoint is also currently limited to
global staff only, though it's possible to get the outline for a student
by using the ?username= query parameter.

TNL-7122
2020-06-02 15:31:21 -04:00
Nimisha Asthagiri
5b3f5ee85a commerce app: remove code related to shoppingcart (#23974)
Part of DEPR-43 - https://openedx.atlassian.net/browse/DEPR-43

Co-authored-by: Jeremy Bowman <jbowman@edx.org>
2020-05-28 09:46:12 -04:00
stvn
4125ae0e23 Merge PR #24012 add/masquerade
* Commits:
  Add is_staff check to masquerade POST
  Convert masquerade view to class-based
2020-05-19 14:44:15 -07:00
stvn
5bf38f5416 Convert masquerade view to class-based 2020-05-19 13:55:37 -07:00
Dillon Dumesnil
7cd821b52e AA-115: Adding external API for dates tab
This adds in the API for the Dates Tab for use by the
Course Home MFE.
2020-05-19 12:35:43 -07:00
Nicholas D'Alfonso
637b639e78 AA-157 dates page missed deadlines
- add banner to dates page when deadlines are missed
2020-05-12 13:02:26 -04:00
Nicholas D'Alfonso
ac9d2bfd30 AA-85 mobile reset dates
- render reset dates banner in webview for mobile app.
- improve banner redirect mechanism
2020-04-02 00:37:54 -04:00
Awais Jibran
d95e8724d8 Merge pull request #23342 from edx/aj/disable-forums-digests
(story): Add switch to disable forum digest in prod.
2020-03-16 20:49:07 +05:00
Dillon Dumesnil
a59155e83c AA-36: Link to toggle calendar sync 2020-03-10 14:45:29 -04:00
Awais Jibran
88c6d412e5 Add switch to disable forum digest in prod. 2020-03-10 13:25:55 +05:00
Diana Huang
0fa91d72db Remove DOP libraries from edx-platform.
Remove DOP apps from INSTALLED_APPS.
Remove DOP libraries from requirements.
2020-03-02 11:17:47 -05:00
Jeff LaJoie
fa3b1cd835 AA-6: Adds in dates tab and dates dashboard view to courseware 2020-02-25 10:48:45 -05:00
Samuel Walladge
39de23c666 Add flag to enable password change form in admin
This was previously disabled because changing another user's password is
both not usually recommended and bypasses password policy. Here, we add
a feature flag (`ENABLE_CHANGE_USER_PASSWORD_ADMIN`) to allow
re-enabling this password change form. This allows continued use of this
functionality by clients that require it.
2020-02-21 11:22:10 +10:30
Diana Huang
c99bf692cc Remove class_dashboard. 2020-02-18 13:35:26 -05:00
Hasnain Naveed
535869ff15 Merge pull request #22790 from edx/hasnain-naveed/ENT-2511
ENT-2511 | Disabled the admin panel's login page.
2020-02-10 18:23:53 +05:00
Diana Huang
1f45181c14 Remove ENABLE_SQL_TRACKING_LOGS and all associated code. 2020-02-05 14:42:33 -05:00
Aarif
fd8c8f09e1 Merge pull request #22891 from edx/BOM-1148
Added the app_name to URL inclusions to remove warnings - BOM-1148
2020-01-22 12:50:36 +05:00