Commit Graph

61300 Commits

Author SHA1 Message Date
Eugene Dyudyunov
f262d64ad4 FC-0001: enterprise dependencies for EdxRestAPIClient replacement (#30240)
* refactor: enterprise dependencies for EdxRestAPIClient replacement

This is a part of https://github.com/openedx/public-engineering/issues/42

- add settings for enterprise-backend-service DOT application
- update utils used by enterprise to get rid of EdxRestAPIClient
- original utils stays in the code (to keep edx-platform api
clients working) till the
https://github.com/openedx/public-engineering/issues/39 deprecation
work will be done

* fix: fix typo in the docstring
2022-04-21 15:28:22 -04:00
Diana Huang
42d0852b64 feat: Update Inc. to LLC. (#30294) 2022-04-21 15:11:16 -04:00
Kaustav Banerjee
702866b225 feat: delete XModuleDescriptorToXBlockMixin (#29927)
This:
1. Deletes XModuleDescriptorToXBlockMixin
2. Deletes `metadata_traslations` and `_translate()` from `XmlParserMixin`,
    and all related implementations.
3. Removes translations of deprecated OLX attributes during import/export:
    <old_attr> : <new_attr>
    - 'slug' : 'url_name'
    - 'name' : 'display_name'
    - 'id' : 'discussion_id' (Discussion XBlock)
    - 'for' : 'discussion_target' (Discussion XBlock)
    - 'attempts' : 'max_attempts' (CAPA)
2022-04-21 16:15:00 +01:00
Michael Terry
48b0df4f99 Merge pull request #30281 from openedx/mikix/minor-api-cleanup
fix: remove a couple unused learning MFE serializer fields
2022-04-21 09:27:04 -04:00
bszabo
d2e82b7d99 Merge pull request #29779 from open-craft/jill/TNL-8746
[BD-14] Install the blockstore app into edx-platform, behind a waffle switch
2022-04-21 09:04:47 -04:00
Usama Sadiq
73c7c4e6b8 BOM-3372: Remove lxml constraint (#30291)
* chore: remove lxml constraint
2022-04-21 15:10:02 +05:00
Jillian Vogel
d0935d467c fix: fixes bug with HTML blocks in studio_view
Rendering asset URLs requires HTML blocks to be associated with a course key.
This change allows HTML blocks to be associated with libraries and still
render without error.
2022-04-21 09:39:59 +01:00
Jillian Vogel
732d8cb337 fix: use mako prefix lms. when XBlock runtime renders in Studio/authoring MFE
When the XBlock runtime is used in Studio/authoring mode, it needs to
use the template path prefix "lms." in order to locate the block
templates. (In LMS view, no prefix is required.)

Fixes bug introduced by https://github.com/openedx/edx-platform/pull/29354
and removes template workaround added by
https://github.com/openedx/edx-platform/pull/29517 (see Author Notes & Concerns)
2022-04-21 09:39:59 +01:00
Jillian Vogel
8b77638bf0 test: refactors blockstore integration tests to run as unit tests.
Tests which @requires_blockstore (i.e. the Blockstore service) have
been made to run as a unit test using the installed Blockstore app, and
will be run by the platform CI.

The Blockstore service tests can still be run manually by setting
EDXAPP_RUN_BLOCKSTORE_TESTS=1

Related fixes:

* adds blockstore bundle storage settings
* let the studio devstack and test servers serve static files from
  the /media URL This allows the blockstore/content libraries API to
  serve blockstore assets in dev.
* Wrap ContentLibrary creation in an atomic transaction, so that if it
 fails, the related bundle can be deleted directly from the database
  during the exception handler. (Previously, we called a REST API which
  deleted it as part of a separate service.)
2022-04-21 09:39:59 +01:00
Jillian Vogel
7d81c3e671 test: minor fixes to requires_blockstore tests
These tests aren't run as part of the CI, and so have been failing for
an unknown time.
2022-04-21 09:39:59 +01:00
Jillian Vogel
cfd53aff70 refactor: installs blockstore into edx-platform
* adds blockstore as a requirement and an installed app, with
  configurable bundle storage settings.
* adds waffle switch and setting to allow use of blockstore's python API
  instead of REST API in live testservers and in production.
* adds database router which, when a `blockstore` DATABASE connection is
  configured, allows the platform to use the blockstore service's
  database instead of the default edxapp database.
* replaces blockstore_api exceptions and models with blockstore.app.api classes
* minor fixes to the blockstore_api to make the Blockstore REST API
  return data packaged the same as the Blockstore Python API.
2022-04-21 09:39:54 +01:00
Jillian Vogel
98a26e8674 fix: use default MEDIA_URL in devstack
The devstack override for this variable didn't work, so just use the common default: /edx/var/edxapp/media
2022-04-21 09:35:08 +01:00
John Nagro
a5e911fe1d feat: release edx-enterprise 3.44.4 (#30289)
- fix: implement back-off and retry for degreed2
- fix: drop tpa_hint param in redirects when no SSO

ENT-5728
ENT-5741
2022-04-20 17:24:38 -04:00
Hassan
4569b53bad Merge pull request #30070 from openedx/hassan/dump-course-ids-filter
feat: Added management command dump_course_ids_with_filter.
2022-04-20 10:24:02 -05:00
edx-pipeline-bot
6eda9b6d1f Merge pull request #30284 from openedx/private_to_public_a251d18
Mergeback PR from private to public.
2022-04-20 10:56:28 -04:00
Tim McCormack
a251d18281 feat!: Use more-trusted IP in rate-limiting (#241)
Previously, our rate-limiting code trusted the entire `X-Forwarded-For`
header, allowing a malicious client to spoof that header and evade
rate-limiting. This commit introduces a new module and setting
allowing us to make a more conservative choice of IPs.

- Create new `openedx.core.djangoapps.util.ip` module for producing
  the IP "external chain" for requests based on the XFF header and the
  REMOTE_ADDR.
- Include a function that gives the safest choice of IPs.
- Add new setting `CLOSEST_CLIENT_IP_FROM_HEADERS` for configuring how
  the external chain is derived (i.e. setting the trust
  boundary). Currently has a default, but we may want to make it
  mandatory in the future.
- Change `django-ratelimit` code to use the proximate IP in the external
  chain -- the one just outside the trust boundary.

Also:

- Change `XForwardedForMiddleware` to use more conservative choice for
  its `REMOTE_ADDR` override
- Other adjustments to `XForwardedForMiddleware` as needed in order to
  initialize new module and support code that needs the real
  `REMOTE_ADDR` value
- Metrics for observability into the change (and XFF composition)
- Feature switch to restore legacy mode if needed

This also gives us a path forward to removing use of the django-ipware
package, which is no longer maintained and has a handful of bugs that make it
difficult to use safely.

Internal ticket: ARCHBOM-2056
2022-04-20 13:46:58 +00:00
Justin Hynes
1435b619b4 Merge pull request #30271 from openedx/jhynes/microba-1507_process-scheduled-tasks
feat: add support for processing scheduled instructor tasks
2022-04-20 09:14:31 -04:00
Muhammad Adeel Tajamul
a7f51ee762 Merge pull request #30282 from openedx/inf-41
fix: hyperlinks opening in iframe in discussions mfe
2022-04-20 16:58:55 +05:00
adeel.tajamul
8c6f307de8 fix: hyperlinks opening in iframe in discussions mfe 2022-04-20 15:21:30 +05:00
Usama Sadiq
1df2c691db fix: bump bleach and django-wiki versions (#30263) 2022-04-20 10:39:50 +05:00
Michael Terry
e10b817369 Merge pull request #30280 from openedx/mikix/more-enrollment-conditions
fix: add more can-enroll checks to course home outline API
2022-04-19 16:11:29 -04:00
Justin Hynes
bec97653b5 feat: add support for processing scheduled instructor tasks
[MICROBA-1507]

* adds new functionality for retrieving and submitting scheduled tasks to Celery
* add an InstructorTaskSchedule factory for unit testing
* adds unit tests for processing scheduled tasks
2022-04-19 15:29:27 -04:00
Michael Terry
790391ad1f fix: add more can-enroll checks to course home outline API
Specifically:
- enrollment has ended or not begun (whoops!)
- is full (at/over max enrollment)

Before this change in these cases, we would still show an enroll
button which wasn't functional, causing user confusion.

AA-1245
2022-04-19 15:08:37 -04:00
Michael Terry
bc10f653dc fix: remove a couple unused learning MFE serializer fields
Now that the frontend assumes there are no legacy courseware pages,
we can stop sending them info about it.
2022-04-19 15:06:37 -04:00
Michael Terry
f416308a66 Merge pull request #30238 from openedx/mikix/drop-courseware-view
Drop courseware legacy view for all but Studio preview mode
2022-04-19 14:05:04 -04:00
Matthew Carter
fb2a0170c1 chore: updated ORA2 to 4.2.0 - ESG release (#30279) 2022-04-19 13:14:28 -04:00
Alex Dusenbery
953dd73c81 fix: enterprise-3.44.3, which overrides get_assignments() and handles null contexts gracefully
Overrides the SystemWideEnterpriseUserRoleAssignment.get_assignments() method to return
a list of (role, context) assignments, where the first item in the list corresponds
to the currently active enterprise for the user.  Also ensures that
EnterpriseSystemWideUserRoleAssignment.get_assignments() can handle null values that might be returned by get_context().
2022-04-19 12:49:58 -04:00
Michael Terry
afd19f0513 feat!: drop legacy courseware tab access for learners
The only way to access the legacy courseware is now through the
Studio preview feature (and at some point, when the MFE supports a
preview mode, we can then remove even that).

This drops the courseware.use_legacy_frontend waffle.
2022-04-19 12:27:10 -04:00
Ali Akbar
9b1db048f8 Merge pull request #30223 from openedx/aakbar/PROD-2738
feat: use new flow with with financial assistance form
2022-04-19 20:19:37 +05:00
AliAkbar
33bb739e50 feat: use new flow with with financial assistance form 2022-04-19 19:57:18 +05:00
Justin Hynes
e3888187c2 Merge pull request #30277 from openedx/jhynes/update-microba-1666-adr
docs: update ADR for reasons why we won't be sanitizing bulk email contents
2022-04-19 09:13:09 -04:00
Justin Hynes
054d74a85f Merge pull request #29908 from openedx/jhynes/microba-1696_adrs
doc: introduces ADRs describing an approach for the scheduled instructor tasks backend implementation
2022-04-19 08:50:01 -04:00
Kelly Buchanan
6f5efb6203 docs: Add ADR for not sanitizing html in bulk email.
[MICROBA-1666]
- Update ADR to explain why we will not be sanitizing the contents of bulk email messages.
2022-04-19 08:38:06 -04:00
Justin Hynes
d1aa1734dd docs: add ADRs describing approach for the scheduled instructor tasks implementation
[MICROBA-1696]

* Introduce an ADR with details on the proposed approach to scheduled instructor tasks to support scheduled bulk email
* Introduce an ADR with details on how scheduled instructor tasks will be processed
2022-04-19 08:23:43 -04:00
Awais Qureshi
b97af6ac6e build: Removing un-used django versions from tox and other places. (#30270) 2022-04-19 16:41:29 +05:00
Hassan Javeed
b2acb84855 feat: Added management command dump_course_ids_with_filter. 2022-04-19 01:29:57 -05:00
John Nagro
b944605eb0 feat: release edx-enterprise 3.44.2 (#30272)
- https://github.com/openedx/edx-enterprise/releases/tag/3.44.2
2022-04-18 16:54:17 -04:00
Jansen Kantor
4d18a6c1a0 feat: block team oras from ESG (#30269)
* feat: add teams enabled flag to ORA item view context

* feat: all team ORAs should be marked esg disabled
2022-04-18 15:41:02 -04:00
Mohammad Ahtasham ul Hassan
e84187bacd Revert "feat: node16 upgrade (#30249)" (#30268)
This reverts commit f10ebf0752.
2022-04-18 21:57:17 +05:00
Mohammad Ahtasham ul Hassan
f10ebf0752 feat: node16 upgrade (#30249) 2022-04-18 16:32:53 +05:00
Usama Sadiq
d8f282737c fix: Remove edx-django-utils GitHub pin (#30265)
* fix: remove unnecessary edx-django-utils github constraint
2022-04-18 14:48:31 +05:00
Muhammad Adeel Tajamul
40b2034717 Merge pull request #30253 from openedx/tnl-9871
feat: added flag to access course live in learning mfe
2022-04-18 10:45:14 +05:00
edx-pipeline-bot
2d3607b654 Merge pull request #30261 from openedx/private_to_public_283141a
Mergeback PR from private to public.
2022-04-15 15:50:43 -04:00
edx-pipeline-bot
afceb27231 fix: Make SAMLConfiguration viewset readonly (#247) (#30259)
The ony use is a GET request in admin portal so this view need not be post/put friendly right now.
It may actually get removed in an upcoming iteration, or stay readonly.

Fixes: SEC-1418

Co-authored-by: Binod Pant <bpant@edx.org>
2022-04-15 18:03:50 +00:00
Binod Pant
283141a3c7 fix: Make SAMLConfiguration viewset readonly (#247)
The ony use is a GET request in admin portal so this view need not be post/put friendly right now.
It may actually get removed in an upcoming iteration, or stay readonly.

Fixes: SEC-1418
2022-04-15 17:29:11 +00:00
Michael Terry
9714959816 Merge pull request #30257 from openedx/mikix/use-course-key
fix: pass a CourseKey not a string to course_home_url
2022-04-15 09:16:17 -04:00
Michael Terry
4732c46985 fix: pass a CourseKey not a string to course_home_url 2022-04-15 08:59:56 -04:00
Mehak Nasir
fefbbcbdba style: button font reduced to reduce button size (#30256) 2022-04-15 16:57:14 +05:00
adeel.tajamul
f48cc56e04 feat: added flag to access course live in learning mfe 2022-04-15 16:22:15 +05:00
Michael Terry
4dbeabf4bd Merge pull request #30251 from openedx/mikix/drop-outline-view
feat!: drop legacy course home view and related code
2022-04-14 15:37:09 -04:00