Commit Graph

874 Commits

Author SHA1 Message Date
Deborah Kaplan
3136134be8 chore: move the program dashboard APIs (#36420)
Moves the Program Dashboard APIs out of the deprecated remnants of the legacy learner dashboard, into the Programs djangoapp.

Keeps the old legacy routes for this API, left over from the deprecated remnants of the legacy learner dashboard, alongside future-proofed routes which will work when the deprecated, legacy Program Dashboard is eventually replaced with functionality in the Learner Dashboard MFE.

FIXES: APER-3949
2025-03-24 12:06:52 -04:00
Deborah Kaplan
29de9b2dc4 feat!: Legacy account, profile, order history removal (#36219)
* feat!: Legacy account, profile, order history removal

This removes the legacy account and profile applications, and the order
history page. This is primarily a reapplication of #31893, which was
rolled back due to prior blockers.

FIXES: APER-3884
FIXES: openedx/public-engineering#71


Co-authored-by: Muhammad Abdullah Waheed <42172960+abdullahwaheed@users.noreply.github.com>
Co-authored-by: Bilal Qamar <59555732+BilalQamar95@users.noreply.github.com>
2025-02-10 14:39:13 -05:00
Deborah Kaplan
089b34a6bf feat: removing the demographics application stage 2 (#35186)
* removing the application folder
* removing references in all other files

FIXES: APER-3560
2024-07-26 11:13:35 -04:00
Kyrylo Kireiev
53174178f3 feat: [FC-0047] Extend mobile API with course progress and primary courses on dashboard view (#34848)
* feat: [AXM-24] Update structure for course enrollments API (#2515)
---------
Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com>

* feat: [AXM-53] add assertions for primary course (#2522)
---------
Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>

* feat: [AXM-297] Add progress to assignments in BlocksInfoInCourseView API (#2546)
---------
Co-authored-by: NiedielnitsevIvan <81557788+NiedielnitsevIvan@users.noreply.github.com>
Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com>
Co-authored-by: monteri <36768631+monteri@users.noreply.github.com>
2024-07-10 20:07:41 +05:00
Tim McCormack
0eb61e28d1 feat: Start conversion of StaticContentServer from middleware into view (#34703)
See https://github.com/openedx/edx-platform/issues/34702

This necessarily involves switching from calling
`StaticContent.is_versioned_asset_path` to determine whether to handle the
request to having a hardcoded urlpattern. I've made the choice to hardcode
the other two patterns similarly rather than using imported constants. The
mapping of URL patterns to database records should be explicit (even though
we don't expect those constants to change out from under us.)

I've renamed the middleware rather than choosing a new name for the
implementation because there are other references in tests and other code.
This was the smaller change.

A note on HTTP methods: The middleware currently completely ignores the
request's HTTP method, so I wanted to confirm that only GETs were being
used in practice. This query reveals that 99.8% of requests that this
middleware handles are GET, with just a smattering of PROPFIND and OPTIONS
and a tiny number of HEAD and POST:
```
from Transaction select count(*) facet request.method
where name = 'WebTransaction/Function/openedx.core.djangoapps.contentserver.middleware:StaticContentServer'
since 4 weeks ago
```
2024-06-10 15:44:46 +00:00
Kyle McCormick
15caa9746f refactor: Completely remove Blockstore (#34739)
Blockstore and all of its (experimental) functionality has been replaced with
openedx-learning, aka "Learning Core". This commit uninstalls the now-unused
openedx-blockstore package and removes all dangling references to it.

Note: This also removes the `copy_library_from_v1_to_v2` management command,
which has been broken ever since we switched from Blockstore to Learning Core.

Part of this DEPR: https://github.com/openedx/public-engineering/issues/238
2024-05-13 09:48:18 -04:00
Ivan Niedielnitsev
333f1ff2c2 feat: [FC-0056] Add waffle flags for navigation and auxiliary (discussion and notification) sidebars (#34650)
Add waffle flags for navigation and auxiliary (discussion and notification) sidebars.
---------

Co-authored-by: Glib Glugovskiy <glib.glugovskiy@raccoongang.com>
Co-authored-by: Glib Glugovskiy <glugov1998@gmail.com>
Co-authored-by: Adolfo R. Brandes <arbrandes@arbrand.es>
2024-05-06 11:04:51 -03:00
Feanil Patel
a958097630 Merge pull request #33294 from raccoongang/rg/feat/FC0031/add_pagination_in_user_course_enrollments
feat: [FC-0031] Add DefaultPagination in UserCourseEnrollmentsList
2023-11-27 11:23:18 -05:00
mubbsharanwar
487b870ae4 revert: remove learner_recommendations app 2023-11-27 10:38:24 +05:00
KyryloKireiev
ee4b92ca10 feat: [AXIM-6] Add DefaultPagination for UserCourseEnrollmentsList v3 2023-11-20 22:40:28 +02:00
thezaeemaanwar
0b3e4d73b6 feat!: Removed Badges App
fix: restored badges handlers

feat: remove FE code for badges

fix: resolved failing tests

fix: removed test case for badges app

fix: unused import error

fix: Response Field Count

fix: shareable account response length

fix: resolved PR comments

fix: revert settings override

feat!: Removed Badges App

fix: restored badges handlers

feat: remove FE code for badges

fix: resolved failing tests

fix: removed test case for badges app

fix: unused import error

fix: Response Field Count

fix: shareable account response length

fix: revert subscription badge
2023-10-18 20:30:04 +05:00
Marcos
5bc0a575b8 feat: Added Waffle Flags for Courseware Search feature 2023-10-04 12:19:32 -03:00
Soban Javed
c45ac51475 fix: update urls and tests for cookies 2023-08-15 21:28:43 +05:00
UsamaSadiq
e332a5660e fix: remove language_session_key usage 2023-08-15 21:28:43 +05:00
Mubbshar Anwar
2e2687ad38 revert: Removing the save_far_later (#32710)
Removing the save_for_later app after analysing the experiment results. We are not going to make this feature permanent.

VAN-1451
2023-07-18 15:35:27 +05:00
Feanil Patel
3b7facd565 fix: Add names to the error page urls.
Some of the static_template_view tests use names to get the URLs for the
error pages for testing, so I added names and updated the test to match
the new names.

I also updated the `test_404` function because we're no longer rendering
the 404 page in a different way from the 500 page so the response
includes the correct response code and content type.  This reduces the
number of differences between the 404 handler and the 500 handler.
2023-06-13 12:20:11 -04:00
Feanil Patel
0326b45d6a fix: Update how we render the error pages.
We were adding paths for the error pages in two places so one of them
simply wasn't being used. The lms urls.py also covered the 429 wich the
static_templates_view urls.py did not cover.  We don't need both and we
need the definition of the handlerNNN variables in urls.py to override
the default django error views so I'll leave just those.

I also made the `exception` parameter for the `render_404` function
optional by adding a default value.  We don't use the exception when
rendering the 404 page but the exception argument is a part of the
default method signature for the function that `render_404` replaces so
I didn't want to remove it and cause issues when django tries to call
this function.
2023-06-13 11:52:19 -04:00
Ahtisham Shahid
118ea3a024 feat: added enrollment api for notification config (#32162)
* feat: added enrollment API for notification config

* feat: added apps.py in notifications

* feat: added waffle flag for notification app

* feat: added proper docs for the API
2023-05-09 11:51:31 +05:00
Jansen Kantor
7f5320183d fix: change video embed url (#31988)
* fix: change video embed url

* fix: trailing slash
2023-03-24 13:47:46 -04:00
Muhammad Abdullah Waheed
90c4ca6e47 Revert "FC-0001: Account pages -> micro-frontend (#30336)" (#31888)
This reverts commit 0f02c7b3d9.
2023-03-07 17:41:56 -05:00
Jansen Kantor
ef30d2d32e feat: add cta buttons to public video xblock page
* feat: video share page buttons
* feat: pass along utm params
* feat: disbale register button on public video page
* fix: convert to class-based view
2023-03-07 14:24:27 -05:00
Sagirov Evgeniy
0f02c7b3d9 FC-0001: Account pages -> micro-frontend (#30336)
* feat: Account pages. Learner Profile page

* feat: Account pages. Account Settings page

* feat: Account pages. Removed unused styles

* feat: Account pages. Removed unused toggles

* feat: fixed tests and pylint errors

* feat: update redirect to account settings for student_dashboard

* feat: fix pylint errors
2023-03-07 17:41:52 +05:00
Jansen Kantor
5436136609 feat: public video metadata + embed (#31753)
* feat: public video metadata + embed

* refactor: alphebetize template context

* feat: don't default show transcript when embed

* fix: rename var

* fix: remove padding in embed view

* style: newline

* test: add tests
2023-02-16 13:18:45 -05:00
0x29a
9d8375ff99 refactor: rename module -> block within lms/djangoapps/courseware
Also, removed unused `_has_access_xmodule` methid from `lms/djangoapps/courseware/access.py`.
2023-01-30 18:15:22 +01:00
Alejandro Cardenas
045ae44184 feat: add generate report button in admin (#31429)
* feat: add generate report button in admin
2023-01-25 10:19:59 -05:00
Shafqat Farhan
68acdca9d7 feat: VAN-1221 - POC: Course skills based recommendations from Algolia 2023-01-23 12:10:28 +05:00
jawad khan
4f74d8a16a feat: added mobile configs in enrollments api (#31036)
* feat: added mobile configs in enrollments api

Mobile team needs some cnfigs after user has logged in, enrollment api seems to be the best place
to put this data. They can change these flags or values from admin side.
LEARNER-9039
2022-09-26 14:27:23 +05:00
Sarina Canelake
4a2f231302 fix: fix github url strings (org edx -> openedx) 2022-09-15 14:52:28 -04:00
Ben Warzeski
a60b34bb7b fix: update learner home api (#30893)
* fix: update learner home api

* refactor: update learner home API pathing

* fix: remove unused logger

* fix: remove unused import

* style: make pylint happy

* style: remove extra space

* style: remove extra space

Co-authored-by: nsprenkle <nsprenkle@2u.com>
Co-authored-by: Nathan Sprenkle <nsprenkle@users.noreply.github.com>
2022-08-24 12:34:14 -04:00
Kyle McCormick
c253ec4181 feat!: change /api/v1/mfe_config to /api/mfe_config/v1
* This changes the API's path. The reasoning is that this is Version 1 of
  the mfe_config API, not Version 1 of the LMS's entire API, so the v1
  should come after mfe_config.
* Why does this matter? Firstly, consistency. Secondly, it affects our
  generated API documentation. If you visited
  https://courses.edx.org/api-docs, you could see that the API was
  listed under "v1" instead of "mfe_config".
2022-08-16 11:38:53 -04:00
Nathan Sprenkle
e025463872 feat: Learner Dashboard get enrollments (#30808)
* feat: fill out enrollment serializer

* test: add basic integration tests for enrollments

* feat: get info for user account activation

* test: test integrating user account activation

* feat: get course enrollments

* feat: get course email settings

* feat: add ecommerce info

* feat: add resume urls

* refactor: move learner home to separate app

* refactor: remove course limit

Co-authored-by: nsprenkle <nsprenkle@2u.com>
2022-08-11 11:05:07 -04:00
Maria Fernanda Magallanes Zubillaga
f6f66d0f39 refactor!: change the api naming and url 2022-07-08 00:05:10 -04:00
María Fernanda Magallanes Z
7f5eb296a3 feat: add mfe_api v1
This PR adds MFE API. This is part of the work that is being done to obtain the MFE Runtime Configurations and that has been discussed in the BTR WG.

Discussion: https://discuss.openedx.org/t/how-to-use-microfrontend-in-a-multitenant-instance/6936/14?u=mafermazu
MFE Runtime configuration - eduNEXT: https://docs.google.com/document/d/1-FHIQmyeQZu3311x8eYUNMru4JX7Yb3UlqjmJxvM8do/edit?usp=sharing

feat: add lms setting to set mfe config cache (#262)

Co-authored-by: María Fernanda Magallanes Z <maria.magallanes@edunext.co>

feat: make mfe config api disabled by default (#263)

* feat: make mfe config api disabled by default

* fix: simple is better than complex

test: add mfe config tests (#264)

* test: add mfe config tests

* test: fix it and simplify it

* test: correct pylint issues

fix: correct pep 8 violations

fix: add mfe api unit test in github workflow

fix: correct unit tests

refactor: move mfe api to lms

fix: try mfe api urls without regex

fix: add app_namespace in lms urls

fix: try url without conditional

Revert "fix: try url without conditional"

This reverts commit 694aab546134b4bd9ad2642e24927b42cac24459.

fix: set enable_mfe_config_api feature to true in the tests

test: try to add failed test case

Revert "test: try to add failed test case"

This reverts commit cee6bf656ab1b96492b0b6199ddff32a6d6a65bd.

docs: improve explanation and documentation

fix: ensure the response is a json object

refactor: be consistent with the variable names

fix: allow overriding mfe api config cache timeout in production

fix: handle 404 response in view

refactor: use a guard instead if-else

feat: add the possibility to show mfe specific config
2022-07-07 23:57:36 -04:00
Nathan Sprenkle
15a38bc7f1 feat: partial initial view/API for learner dashboard (#30653)
* fix: remove unused feedback email

* refactor: rename learner views

Rename course to learner and seed initial response shape

* feat: add first sample views and APIs

* refactor: add route namespace for learner dash

* test: add learner dashboard views test

Co-authored-by: nsprenkle <nsprenkle@2u.com>
2022-07-05 14:08:00 -04:00
Sagirov Eugeniy
92ca176fde refactor: Remove legacy course info page & related code 2022-06-05 19:00:05 +03:00
Feanil Patel
661949771a Merge pull request #30347 from raccoongang/remove-verified-track-cohort
FC-0001: Remove verified track cohort
2022-05-13 09:47:13 -04:00
AliAkbar
ac985dbf7f feat: use new financial assistance flow in FinancialAssistanceTool 2022-05-12 00:59:07 +05:00
Justin Hynes
351d9e6759 feat: add new REST API to support scheduled bulk email
[MICROBA-1510]

* update InstructorTaskSchedule model delete behavior from CASCADE to DO_NOTHING.
* add utility function supporting cancellation of scheduled tasks to the instructor_task app
* add utility function to determine if a user has staff or instructor level access to a course to the student app
* adds a REST API for supporting retrieval and cancellation of scheduled bulk email tasks
* add unit tests for new functionality in the student app
* add unit tests for the new functionality in the bulk_email app
* remove use of CourseEmail object directly in another related test file
* add unit tests for the new REST API views.
2022-05-05 14:26:35 -04:00
Eugene Dyudyunov
5c5d383aa0 refactor: remove VerifiedTrackCohortedCourse feature 2022-05-02 17:41:08 +03:00
AliAkbar
33bb739e50 feat: use new flow with with financial assistance form 2022-04-19 19:57:18 +05:00
Michael Terry
ce5f1bb343 feat!: drop legacy course home view and related code
This was the "outline tab" view of the course. Preceded by the
course info view, succeeded by the MFE outline tab.

In addition to the course home view itself, this drops related
features:
- Legacy version of Course Goals (MFE has a newer implementation)
- Course home in-course search (MFE has no search)

The old course info view and course about views survive for now.

This also drops a few now-unused feature toggles:
- course_experience.latest_update
- course_experience.show_upgrade_msg_on_course_home
- course_experience.upgrade_deadline_message
- course_home.course_home_use_legacy_frontend

With this change, just the progress and courseware tabs are still
supported in legacy form, if you opt-in with waffle flags. The
outline and dates tabs are offered only by the MFE.

AA-798

(This is identical to previous commit be5c1a6, just reintroduced
now that the e2e tests have been fixed)
2022-04-14 15:18:31 -04:00
Michael Terry
a515c2e992 Revert "Drop legacy outline tab in favor of the MFE's version" 2022-04-14 14:16:29 -04:00
Michael Terry
be5c1a64d5 feat!: drop legacy course home view and related code
This was the "outline tab" view of the course. Preceded by the
course info view, succeeded by the MFE outline tab.

In addition to the course home view itself, this drops related
features:
- Legacy version of Course Goals (MFE has a newer implementation)
- Course home in-course search (MFE has no search)

The old course info view and course about views survive for now.

This also drops a few now-unused feature toggles:
- course_experience.latest_update
- course_experience.show_upgrade_msg_on_course_home
- course_experience.upgrade_deadline_message
- course_home.course_home_use_legacy_frontend

With this change, just the progress and courseware tabs are still
supported in legacy form, if you opt-in with waffle flags. The
outline and dates tabs are offered only by the MFE.

AA-798
2022-04-14 09:12:01 -04:00
Michael Terry
0eb8962548 feat!: drop legacy dates tab, in favor of MFE version
For the dates courseware tab, we no longer respect the
course_home_use_legacy_frontend waffle flag that enabled the
legacy version in Maple.

Instead, we always send the user to the MFE.

MFEs will be required for the Nutmeg release. This dates tab is
the first to fall, but others will follow.

AA-799
2022-04-12 15:20:37 -04:00
muhammad-ammar
735607a752 feat: add an xblock renderer endpoint to serve videos as public having
public access set by course author in studio
2022-04-05 16:42:39 +05:00
Usama Sadiq
1cebd3ed7b Remove django-ratelimit-backend (#30054)
* fix: remove the usage of django-ratelimit-backend

Co-authored-by: Awais Qureshi <awais.qureshi@arbisoft.com>
2022-03-24 17:21:56 +05:00
Sameen Fatima
0d9e845f1b feat: Created an API to fetch progress details about a learner's program (#29975) 2022-03-04 16:11:28 +05:00
Nathan Sprenkle
1212e3550c feat: ora staff grader backend (#29828)
- Adds Enhanced Staff Grader (ESG) backend-for-frontend (BFF) in `lms/djangoapps/ora_staff_grader`
    - Adds routing to ESG BFF at `{lms_url}/api/ora_staff_grader/*`
    - Adds mock implementation routing at `{lms_url}/api/ora_staff_grader/mock/*`
    - Adds `ORA_GRADING_MICROFRONTEND_URL` setting for routing to ESG microfrontend (MFE)
- Updates to the teams app:
    - Add`get_teams_in_teamset` to the teams API.
    - Add `get_team_names` to teams service.
- Adds `openassessment.staffgrader` app for appropriate ORA migrations.
- Modifies management commands for creation of users.
- Updates test factory to return display org with course overview.

Co-authored-by: jansenk <jkantor@edx.org>
Co-authored-by: Leangseu Kim <lkim@edx.org>
Co-authored-by: Ben Warzeski <bwarzeski@edx.org>
2022-01-31 11:09:41 -05:00
Mubbshar Anwar
fec7849b26 feat: save for later (#29089)
send favorite course through email to user

VAN-741
2021-12-01 16:10:20 +05:00
Dillon Dumesnil
2f2a6317a5 feat: AA-1055: Add in User Tours to the platform
User Tours are walkthroughs we are able to give in our frontends.
This sets up the backend support for them by creating the model,
setting up the initial backfill, adds in a signal handler to init
the UserTour model on User creation, and sets up some endpoints
to get user tour information and update it. It is also being
initialized with a waffle flag to control the rollout. The flag is
intended to control all tours and not allow for opting into only some tours.
2021-11-30 18:21:09 +00:00