Commit Graph

5522 Commits

Author SHA1 Message Date
Mubbshar Anwar
c55f0961ba fix: update event property (#32479)
Update event property name which was added to measure the conversion rate of registration through on ramp experience.

VAN-1478
2023-06-16 09:06:25 +05:00
Jesper Hodge
a6c57811cd feat add xblock api endpoint (#32282)
* feat: add xblock endpoint for updating an xblock

fix: remove debugger

feat: make function call more generic

refactor: just use request.json for request data as before

refactor: extract method

fix: revert wrong method change

fix: refactor correct method

feat: use handle_xblock method so that we can do more than update xblocks

fix: usage_key_string defaults to None

add all CRUD operations

fix usage key parameter

refactor: create /views folder

refactor: move xblock view functions to xblock_services

fix: tests

fix: tests

refactor: move xblock API endpoint to contentstore

* docs: add explanatory comment to new xblock_service

* feat: add feature flag for enabling content editing api

* feat: raise 404 if studio content api is disabled

* tests: test xblock endpoint

* test: make all post tests work

* test: check that xblock_handler receives correct args

* refactor: create util mixin for course factories with staff

* refactor: extract course staff authorization tests

* refactor: extract tests to api view testcase class

* test: add get tests

* test: fix tests

* test: fix tests

* test: fix tests

* test: add all crud tests

* fix: refactor to fix tests

* fix: merge conflict

* fix: merge conflict

* fix: tests after merge

* fix: json request decorator

* fix: lint

* fix: lint

* fix: lint

* fix: lint

* fix: new test files

* fix: lint

* fix: lint and apply PR suggestions

* fix: lint

* fix: lint

* fix: lint

* fix: lint

* fix: lint

* fix: lint
2023-06-15 14:17:49 -04:00
Robert Raposa
e7e4fa3935 temp: remove flaky test_login_and_registration_form_ratelimited (#32459) 2023-06-15 11:43:17 -04:00
Justin Hynes
2f8b7380fb Merge pull request #32463 from openedx/jhynes/APER-2504_changes-part-2
feat: add ability for `notify_credentials` to revoke program certs
2023-06-15 08:25:27 -04:00
Mubbshar Anwar
a62276b8ce feat: registration event property (#32447)
Registration event property to calculate conversion rate through on ramp experience.

VAN-1478
2023-06-15 17:20:43 +05:00
Zainab Amir
d5be2c8033 feat: Get welcome page context (#32426) 2023-06-15 17:09:47 +05:00
ayesha waris
d3b1ce176a feat: adds waffle flag for show notifications tray (#32451)
* feat: adds waffle flag for show notifications tray

* refactor: refactored notifications count api code
2023-06-15 14:38:46 +05:00
Muhammad Faraz Maqsood
65687857d5 enhancement: add support for caching programs for one site (#32380)
* perf!: add support for caching programs on per site bases
2023-06-15 11:29:22 +05:00
Justin Hynes
2beaa1d260 feat: add ability for notify_credentials to revoke program certs
[APER-2504]

This is a companion to PR #32458. This updates the `notify_credentials` management command and adds an additional argument/switch (`--revoke_program_certs`).

If included, this option will be converted to a boolean and passed as a script option. Eventually, the `send_notifications` function (updated in the previously mentioned PR) will determine if we should fire a signal that checks if any program certs need to revoked.
2023-06-14 19:29:55 +00:00
Justin Hynes
d427d404da feat: add ability for notify_credentials to revoke program certs
[APER-2504]

This PR adds additional functionality to the tasks kicked off when the `notify_credentials` management command is run.

I have added a new keyword arg (revoke_program_certs) that, if True, will check to see if we need to revoke a program certificate. This functionality was introduced to help automate fixing cases where a learner still has access to a Program Certificate even if they have been awarded all of the course certificates in a Program (see APER-2499).

The functionality has to be committed in two separate PRs because of our blue/green deployments. The task changes will come first, then we will update the management command to be able to set/pass the new settings. New settings were added as keyword args (defaulting to False) in order to ensure that we won't trip up our workers.
2023-06-14 16:29:43 +00:00
Kaustav Banerjee
489e23983f feat: tpa automatic logout (#32193)
* feat: tpa automatic logout

* chore: modify toggle documentations

* chore: check TPA_AUTOMATIC_LOGOUT_ENABLED in _show_tpa_logout_link

* docs: modify method doc
2023-06-14 17:01:00 +05:00
muhammad-ammar
2a24bf8c4f chore: add comment 2023-06-13 19:40:06 +05:00
Muhammad Bilal Tahir
8693d5a4a6 feat: create user profile if not found in current job command 2023-06-13 17:07:17 +05:00
Awais Ansari
52a886d456 feat: filter notifications based on NOTIFICATIONS_EXPIRY (#32411)
* feat: add 2 months limit in notifications list API

* chore: add NOTIFICATIONS_MAX_DAYS in lms settings

* refactor: update NOTIFICATIONS_MAX_DAYS to NOTIFICATIONS_EXPIRY

* feat: add order_by reverse id in notificationslist API
2023-06-13 17:05:18 +05:00
muhammad-ammar
2ecd06a735 feat: trigger signals to import and delete course details from plugin 2023-06-12 18:31:57 +05:00
Nawfal Ahmed
6a5c1bbf44 feat: update subscription enrollment alert (#32414) 2023-06-12 13:07:43 +00:00
Muhammad Bilal Tahir
86edbbeb46 feat: management command to fetch enterprise current job in lms extended profile 2023-06-07 15:17:10 +05:00
SaadYousaf
2da176ce32 feat: implementing basic functionality to incorporate new notification types 2023-06-07 14:05:59 +05:00
SaadYousaf
0339784e4e feat: integrating notification preference API 2023-06-07 14:05:59 +05:00
Muhammad Adeel Tajamul
3832eda78d fix: change response of course enrollment api for notifications 2023-06-05 14:29:07 +05:00
Attiya Ishaque
0544c06705 fix: fix empty list as default value for extended_profile (#32323) 2023-05-31 18:12:29 +05:00
Muhammad Adeel Tajamul
d7f618844b feat: notifications enrollments api will show courses for which notifications is enabled (#32307) 2023-05-31 17:00:08 +05:00
Matt Hughes
044f172cb1 perf: pull user's profile information for serialization w/ ret. arch
JIRA:CR-5812
2023-05-30 09:33:45 -04:00
Juliana Kang
c67408b9c5 fix: Modify nextPaymentDate in program details subscriptions (#32310)
PON-247
2023-05-26 10:50:39 -04:00
Shahbaz Shabbir
24dced2093 test: add tests for MFE Context API serializser (#32179) 2023-05-24 15:20:01 +05:00
ayesha waris
abac77e106 feat: adds ability to disable posting in discussions indefinitely (#32171)
* feat: adds ability to disable posting in discussions indefinitely

* test: fixed ffailing test cases

* test: added new model field in test cases

* refactor: removes unnecessary migrations

* refactor: removed previous migrations and adds new field in discussions api

* refactor: added docstring and changed method name

---------

Co-authored-by: ayesha waris <73840786+ayeshoali@users.noreply.github.com>
2023-05-23 15:08:06 +05:00
Ahtisham Shahid
27b8d2f68d feat: Added notification APIs (#32232)
* feat: added api to get notifications for users

* feat: added api to get count of notifications

* feat: added api to mark notifications as seen

* feat: added index on app_name in notification table

* refactor: updated api view parent and url

* refactor: resolved linter issue
2023-05-23 11:15:35 +05:00
Ned Batchelder
8e7b0c1c73 fix: oscm@edx.org is not the right email for asking about APIs
We get about one email per month from people looking for access to edX
APIs.  Those emails come to the now almost-defunct oscm@edx.org email
address.  I think that's because of these swagger references.

I suppose someone could find this email address on an Open edX
installation, and people would write to it, but I find in practice this
doesn't happen.

Co-authored-by: Kyle McCormick <kyle@tcril.org>
2023-05-22 07:51:45 -07:00
Zainab Amir
fa7953ca24 feat: set traverse pagination to False (#32269)
* For enrollment email task, while getting course uuid and
owner data don't traverse the discovery endpoint.
* Update log message
2023-05-19 19:46:33 +05:00
John Nagro
0fd36f97f3 fix: adding some logging and exceptions to further investigation into discovery load (#32267) 2023-05-18 19:42:19 -04:00
John Nagro
3e1bf1e511 fix: add a reasonable useragent to catalog utils (#32262) 2023-05-18 10:34:14 -04:00
Michael Roytman
9b644109fe Merge pull request #31741 from raccoongang/fix-upgrade-reminder-email-image
fix: upgrade reminder email image
2023-05-17 10:36:52 -04:00
SaadYousaf
9a43af848c feat: add api for user notification preferences 2023-05-16 12:09:23 +05:00
Mohammad Ahtasham ul Hassan
acc9dac627 fix: fix manage subs url, add orders and subs url (#32126)
* fix: fix manage subs url, add orders and subs url
2023-05-16 09:35:22 +05: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
Braden MacDonald
4b72194b98 feat: Show a preview of what's in the user's clipboard (#32132)
This also fixes Studio container view 404.
2023-05-05 17:35:03 +02:00
SaadYousaf
402022819e feat: add user notification preference model 2023-05-03 22:16:44 +05:00
Diana Huang
2d08a2a731 fix: Unpin SAML library. (#32167)
We were using an old version of the python3-saml library,
which was causing issues with newer versions of social-core.

The reason it was pinned was because our etree implementation
didn't support several fields that the saml library did, so
we are now importing those entities as well.
2023-05-03 11:08:30 -04:00
Agrendalath
aa85257b19 fix: use student-specific anonymous IDs in CAPA and HTML XBlocks
After changes from #31472, the user service of a "leaf" XBlock gets overridden
with the one created for its parent (SequenceBlock). Therefore, the
`requires_per_student_anonymous_id` is ignored in these XBlocks. The
subsequent renders of an XBlock (e.g., when requesting the solution) use
the student-specific IDs.

This removes choosing the proper ID (course-specific or student-specific) from
the runtime initialization. Instead, both IDs are passed to the user service.

There are only two XBlocks that relied on the
`requires_per_student_anonymous_id` - `ProblemBlock` and `HtmlBlock`. They
now request the "deprecated" (student-specific) user ID directly from the user
service.
2023-05-02 17:58:22 +02:00
Braden MacDonald
8ee1f66ffb feat: Paste Components (OLX) into any Unit in Studio (#31969)
* feat: Implement paste button

* chore: improve docs and add tests for python API

* fix: drive-by fix to use a better API for comparing XML

* feat: track which XBlock something was copied from

* feat: add tests

* feat: enable import linter so content_staging's public API is respected

* fix: error seen when trying to paste drag-and-drop-v2 blocks

* fix: use strip_text=True consistently for XML comparisons

* refactor: rename get_user_clipboard_status to get_user_clipboard

* feat: Better error reporting when pasting in Studio

* chore: convert new test suite to pytest assertions

* refactor: push READY status check into the API per review suggestion

* fix: use strip_text=True consistently for XML comparisons

* fix: store "copied_from_block" as a string to avoid Reference field issues

* fix: minor lint error

* refactor: move data types to data.py per OEP-49
2023-04-27 09:58:04 -07:00
Syed Sajjad Hussain Shah
6af95b46e7 fix: pipeline_user_details serializer error on mfe context response (#32146)
* fix: pipeline_user_details serializer error on mfe context response

* fix: failed tests for mfe context API

---------

Co-authored-by: Syed Sajjad  Hussain Shah <syed.sajjad@H7FKF7K6XD.local>
Co-authored-by: Shahbaz Shabbir <shbzshbr@gmail.com>
2023-04-27 18:56:58 +05:00
Pooja Kulkarni
fb5f8474b0 refactor: rename descriptor -> block within remaining openedx
Co-authored-by: Agrendalath <piotr@surowiec.it>
2023-04-26 17:10:54 +02:00
Pooja Kulkarni
9245bc0f76 refactor: rename descriptor -> block within openedx/core/djangoapps
Co-authored-by: Agrendalath <piotr@surowiec.it>
2023-04-26 17:10:54 +02:00
Eugene Dyudyunov
494ccd453b fix: upgrade reminder email image
Replace a relative URL with the absolute one.
2023-04-26 10:05:07 +03:00
Ahtisham Shahid
fae6ece427 fix: added check for empty list in discussions settings task (#32105)
* fix: added check for empty list in discussions settings task
2023-04-25 12:44:26 +05:00
Braden MacDonald
dd927c7fee chore: consolidate two different implementations for serializing XBlocks 2023-04-24 12:16:42 -07:00
Jeremy Ristau
472a3b5442 Merge pull request #31472 from open-craft/kaustav/unify_modulesystem_descriptorsystem
feat: unify ModuleSystem and DescriptorSystem [BD-13]
2023-04-24 10:03:19 -04:00
Kyle McCormick
151c4fcfb2 build: move collectstatic ignore patterns into configuration (#31934)
Adds a tiny `openedx.core.djangoapps.staticfiles` app so that
static asset ignore patterns can be coded into configuration rather
than supplied on the command line or coded into pavelib.
Makes it easier to run static asset collection without Paver.

See ADR for details:
openedx/core/djangoapps/staticfiles/docs/decisions/0001-purpose-of-app.rst

Closes: https://github.com/openedx/edx-platform/issues/31658
2023-04-21 08:26:48 -04:00
Kaustav Banerjee
c5439221cb chore: address review comments 2023-04-21 11:53:49 +02:00
Braden MacDonald
626f11f608 test: Import linter: optionally enforce usage of a package's public API (#31903)
* test: warn about dependencies from cms->openedx->lms and vice versa

* test: warn about importing from package's internal implementation code

* chore: Update some imports to use public APIs only

* chore: Update 'bookmarks' app to have stricter public API

* fix: we are sharing 'adapters' from olx_rest_api to content_staging
2023-04-20 11:34:51 -07:00