Commit Graph

4724 Commits

Author SHA1 Message Date
Justin Hynes
907c32ae6d fix: add validation to cdb and cad settings on update (#34406)
[APER-3228]

This PR tries to correct bad data on a course update before it enters the system. There are times when we are updating a course (via Studio) and we save bad data that has been persisted and passed to the backend from the CMS's legacy Django template-based frontend.

The bad data doesn't affect the LMS or CMS much, as there is extra logic in the monolith around course pacing. However, downstream services (e.g. Credentials) don't understand the concept of course pacing and will persist bad data (like a certificate available date associated with a self-paced course run).

The most common problem that manifests is that Credentials will hide a certificate from a learner on their Learner Record, even though the course certificate is visible and accessible to the learner from the LMS.
2024-03-21 13:46:45 -04:00
ruzniaievdm
3ecc4bf6a0 feat: [FC-0044] textbooks API DRF (#34388)
* feat: [FC-0044] textbooks API DRF

* fix: resolve discussions
2024-03-21 13:39:03 -04:00
Maria Grimaldi
45178e0ced feat: add paginated HomePageCoursesV2 view with filtering & ordering (#34173) 2024-03-20 11:31:59 -04:00
Diana Olarte
490a3d4c75 feat: allow instructors to manage certificates (#31265)
* feat: Add context to certificate webview.

Add support to instructor certificates generation. If user has instructor permissions over a course, the staff permissions are also granted.
* fix: rename local parameters to fix pylint redefined-outer-name alert
* feat: create a setting to enable certificate panel for instructors
* fix: remove unnecessary permisions
* fix: update persmissions and testing
* style: fix pylint issues

---------

Co-authored-by: Squirrel18 <daniel.quiroga@edunext.co>
Co-authored-by: Maria Fernanda Magallanes Zubillaga <maria.magallanes@edunext.co>
2024-03-20 07:46:15 -04:00
ruzniaievdm
7189bd6484 feat: [FC-0044] add waffle flag support (#34338)
* feat: [FC-0044] add waffle flag support

* fix: resolve discussions
2024-03-19 10:16:16 -04:00
ruzniaievdm
1bcf25f22b feat: manage Tags on block level (#34361) 2024-03-18 16:09:47 -04:00
Jonas Burigo
1247254fbe test: un-skip test of course export tarball (#33697) 2024-03-18 12:30:02 -07:00
ruzniaievdm
334348d65f feat: Manage access API (#2500) (#34360)
* feat: [AXIMST-418] Manage access API

* fix: tests and linter

---------

Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
2024-03-18 12:58:11 -04:00
Kristin Aoki
dc234d5acc feat: update page renders for studio-frontend pages (#34329)
* feat: update page renders for studio-frontend pages

* fix: checklist redirect url

* fix: failing tests

* fix: checklist link

* fix: redirect url typo

* fix: no newline error
2024-03-13 09:57:58 -04:00
ruzniaievdm
cd5c4c992b feat: [FC-0044] XBlock's children API as DRF (#34055)
* feat: XBlock's children API as DRF

* fix: 500 error appears if user adds a Content Experiment

* fix: wrap into try/except block getting icon for xblock (#2509)

* fix: wrap into try/except block getting icon for xblock

* fix: revision after review
2024-03-12 11:07:32 -04:00
ruzniaievdm
844db29d64 feat: add sequence_ids to container response (#34337)
* feat: add sequence_ids to container response

* fix: PR comments fix

* fix: update

---------

Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
2024-03-12 10:27:23 -04:00
Rômulo Penido
cb6801dbfd feat: paste tags when pasting xblocks with tag data (#34270) 2024-03-08 12:03:43 -08:00
Kshitij Sobti
c3c0adf978 feat: add support for zip files to course and library import code (#34191)
Co-authored-by: Rodrigo Ferreira de Souza <rodfersou@gmail.com>
2024-03-08 18:51:35 +01:00
Bryann Valderrama
19bc5c802c feat: add share link button when hide from toc is enabled in sections (#34043)
* feat: add share link modal when hide from toc is enabled

Adds a new button in the child subsections of sections with Hide From TOC enabled.
This button displays a new modal with two tabs. The first tab displays a button
that allows you to copy the link of that subsection to the clipboard. The second
tab displays a button that allows you to copy the embedded link of the same
subsection to the clipboard.

Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-03-07 14:12:17 -04:00
Saad Yousaf
e3467f91a3 fix: fix content_url for course update notification 2024-03-06 14:37:25 +05:00
Maria Grimaldi
f544a4825d feat: make hide from TOC a visibility section setting (#33952)
Exposes the hide_from_toc xblock attribute so course authors can configure it as a section visibility option in Studio. Before this change, the Hide from TOC functionality was mainly used by OLX components. Hence, it wasn't available for configuration through the Studio UI. Still, its implementation existed in the platform and could be used by setting the attribute: hide_from_toc=true as part of the OLX definition.
Ref: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/3853975595/Feature+Enhancement+Proposal+Hide+Sections+from+course+outline
2024-02-29 11:13:33 -04:00
Saad Yousaf
a110fc79d5 feat: add notification for course updates 2024-02-27 13:58:50 +05:00
David Ormsbee
86f1e5e8aa feat!: Switch v2 libraries to Learning Core data models (#34066)
This moves the Content Libraries V2 backend from Blockstore [1] over to
Learning Core [2] For high-level overview and rationale of this move, see
the Blockstore DEPR [3]. There are several follow-up tasks [4], most notably
adding support for static assets in libraries.

BREAKING CHANGE: Existing V2 libraries, backed by Blockstore, will stop
working. They will continue to be listed in Studio, but their content
will be unavailable. They need to be deleted (via Django admin) or manually
migrated to Learning Core. We do not expect production sites to be in
this situation, as the feature has never left "experimental" status.

[1] https://github.com/openedx-unsupported/blockstore
[2] https://github.com/openedx/openedx-learning/
[3] https://github.com/openedx/public-engineering/issues/238
[4] https://github.com/openedx/edx-platform/issues/34283
2024-02-22 16:38:05 +00:00
Awais Ansari
5007418803 feat: add discussion configuration redirect in unit settings (#34266)
* feat: add discussion configuration redirect in unit settings

* test: fix test course index file test cases after adding discussion redirection
2024-02-22 16:29:36 +05:00
Maria Grimaldi
f3dab829fe fix: use non_atomic_requests decorator in handle_block view (#34020) 2024-02-21 13:19:53 -04:00
Cristhian Garcia
5a36fa9163 feat: add open_managed team type (#33672)
Ref: https://openedx.atlassian.net/wiki/spaces/COMM/pages/3885760525/Open+Managed+Group+Type
2024-02-14 11:30:19 -04:00
salmannawaz
f76b6b4e10 Remove bok-choy reference (#34216)
* chore: remove bok-choy references
2024-02-14 09:42:08 -05:00
salmannawaz
57b480b04f Update all edx-platform REST endpoints to support JWT Auth (#34152)
* chore: update API endpoints to support default JWT auth

The default DRF Auth classes were recently updated to allow for both JWT and Session auth by default. Any endpoint that overrides the AUTHENTICATION_CLASSES but has just session, just JWT or just both of those should be updated to remove the override.

Details in https://github.com/openedx/edx-platform/issues/33662
2024-02-13 10:46:58 -05:00
Rômulo Penido
c2d91c343e refactor: remove ContentObjectTag model and related functions (#34146) 2024-02-08 11:55:39 -08:00
Justin Hynes
393c7da3bd docs: add diagrams visualizing "available date" and "visiblity date"
A PR that adds a diagram that visualizes how an update to a course run's availability date propogates through our systems.
2024-02-08 17:00:47 +00:00
Navin Karkera
6edc0c2dd9 feat: add discussion settings to course index api (#34174) 2024-02-05 09:13:11 -05:00
Navin Karkera
4590f1ec91 feat: include custom relative dates flag info in outline api (#34058) 2024-01-31 11:38:19 -05:00
Leangseu Kim
206ddd11ad chore: revert change to Mathjax 2024-01-31 10:05:33 -05:00
Adolfo R. Brandes
cbe865a77f Merge pull request #34036 from raccoongang/ruzniaievdm/feat/unit-page-drf
feat: [FC-0044] Unit page API as DRF
2024-01-30 19:23:12 +00:00
Chris Chávez
5838d68efc feat: Tagging UX refinements - refresh tag count on edit (#34059)
* style: drawer-cover color updated for all tagging drawers
* feat: Update TagList component when a tag is updated on Manage tags drawer
* feat: Refactor TagCount to be able to refresh the count
* feat: Sync tag count in units
2024-01-25 10:33:47 -08:00
Marcos
a441ea96d9 fix: Updated log to have a cleaner output on failed reindexes 2024-01-25 12:09:25 -03:00
Marcos
a6dd0fe606 fix: Updated comment on test case 2024-01-22 16:57:52 -03:00
Marcos
bda102de51 feat: Added --active option for reindex_courses 2024-01-22 16:54:03 -03:00
Andy Shultz
7b7a0d3773 fix: make reindexing wait for the data using on_commit
includes a very long comment explaining this for future developers
2024-01-18 12:57:38 -05:00
SaadYousaf
d772ed1519 feat: add new tracking event for course updates. 2024-01-16 14:41:26 +05:00
Chris Chávez
90879d167f feat: Tag count in components on Studio Unit page(#33928) 2024-01-12 09:35:23 -08:00
ayesha waris
53270f17b3 chore: removed and merged multiple flags into enable_discussions_mfe flag (#33983) 2024-01-12 15:07:00 +05:00
ruzniaievdm
ff8d3eae72 feat: Unit page API as DRF 2024-01-10 11:53:36 +02:00
Navin Karkera
9cd1d7c3c8 feat: create DRF endpoint to get course index context (#33943)
* feat: create DRF endpoint to get course index context

* refactor: update serializers location and added some tests

* refactor: move modulestore usage out of views

* fix: move course index call under bulk_operations

* test: add test to track db and mongo queries

---------

Co-authored-by: ruzniaievdm <ruzniaievdm@gmail.com>
2024-01-08 09:36:56 -05:00
Andy Shultz
a471e59551 feat: progress logging when doing a reindex
logs total and every 10 items

includes a flag to reduce logging level because our normal info
logs swamp progress logging.
2024-01-03 10:37:52 -05:00
Asad Ali
ec86398550 fix: respect ENABLE_NEW_STRUCTURE_DISCUSSIONS flag in course import (#33975) 2024-01-03 10:03:06 -05:00
Kristin Aoki
3c1b81c58b fix: timeout error for legacy page (#33965) 2023-12-21 09:27:52 -05:00
Kristin Aoki
9f5252c6ee feat: separate home api call into load, course, and library info (#33909) 2023-12-19 08:32:50 -05:00
connorhaugh
2eac2ef638 feat: keep learner state associated after libraries migration (#33920)
* fix: preserve learner state after v2 migration

Co-authored-by: Kyle McCormick <kyle@axim.org>

---------

Co-authored-by: Kyle McCormick <kyle@axim.org>
2023-12-18 15:14:28 -05:00
Braden MacDonald
5ab6238243 fix: handle paste of library content blocks correctly (#33926) 2023-12-18 09:48:46 -08:00
connorhaugh
2573f34115 Revert "feat: create DRF endpoint to get course index context (#33667)" (#33935)
This reverts commit aaea6e5b14.
2023-12-15 13:49:57 -05:00
Jesper Hodge
f124ac8e99 Docs: contentstore service layer ADR (#33815)
This ADR goes back to a refactoring we made in the cms/djangoapps/contentstore djangoapp where we extracted business logic from view files to be reusable.

This directly links to https://discuss.openedx.org/t/contentstore-views-refactoring/11801.

This ADR only applies to the cms/djangoapps/contentstore folder.

We are proposing that business logic is always extracted from view files so that it can be reused and follows the service layer architecture pattern.
2023-12-15 13:48:35 -05:00
Navin Karkera
aaea6e5b14 feat: create DRF endpoint to get course index context (#33667)
* feat: create DRF endpoint to get course index context

* refactor: update serializers location and added some tests

* refactor: move modulestore usage out of views

---------

Co-authored-by: ruzniaievdm <ruzniaievdm@gmail.com>
2023-12-14 09:54:20 -05:00
Chris Chávez
6763928d60 style: UX Refinements on tagging components (#33884) 2023-12-13 11:28:27 -08:00
Kristin Aoki
ebf91fc9ad feat: add api for multiple video downloads (#33882) 2023-12-12 14:37:48 +00:00