BREAKING CHANGE: This removes the following deprecated shims from the runtime:
`replace_urls`, `replace_course_urls`, `replace_jump_to_id_urls`. XBlocks need
to use the `replace_urls` service instead.
* feat: add notifications mark as read API
* chore: update description for mark as read notification URL
* refactor: resolve pylint issue
* refactor: notifications mark as read API and test cases
* feat: add translated messages in notificationsAPI response
* 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
[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.
[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.
* 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
* 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>
* 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
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>