Commit Graph

73 Commits

Author SHA1 Message Date
Navin Karkera
4590f1ec91 feat: include custom relative dates flag info in outline api (#34058) 2024-01-31 11:38:19 -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
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
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
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
Kristin Aoki
9bf18b1e23 feat: add url to usage location (#33855) 2023-12-07 11:19:35 -05:00
hajorg
4bc2e74a40 fix: resolve lint issue 2023-12-05 17:34:32 +01:00
hajorg
b70e29a0ab feat: add test for is_ai_translations_enabled 2023-12-05 17:34:32 +01:00
hajorg
00d1cf5e0b feat: add is_ai_translations_enabled to get_course_videos_context util 2023-12-05 17:34:32 +01:00
Kristin Aoki
ce2734e907 feat: update video and asset api to include usage loactions (#33746) 2023-11-22 12:11:35 -05:00
Jesper Hodge
e5ff63c312 fix: remove slashes from authoring api (#33741) 2023-11-20 12:45:35 -05:00
Kristin Aoki
cca1e9e365 fix: video drf 500 error (#33658) 2023-11-09 11:34:06 -05:00
bszabo
5d6e925c83 feat: TNL-11173 Authoring API is v0 for now (#33644)
* feat: TNL-11173 authoring API offered as v0, not v1

* docs: correct swaggerfile for authoring api

---------

Co-authored-by: Bernard Szabo <bszabo@edx.org>
Co-authored-by: Jesper Hodge <jhodge@outlook.de>
2023-11-03 11:49:35 -04:00
Kristin Aoki
8cfd04ff68 feat: add drf for studio video page (#33528) 2023-10-27 09:04:37 -04:00
Chris Chávez
1d58bd1106 feat: New link on studio home to Taxonomy list (if waffle flag set) (#33439) 2023-10-19 10:19:50 -07:00
Jesper Hodge
8c9be5478a fix cms api route details (#33346)
This fixes the routes and swagger details for the experimental CMS API. (The swagger-ui is available under studio.edx.org/cms-api/ui and the schema file at studio.edx.org/cms-api/schema.) Only change that practically affects the routes is that you need to use PUT instead of POST for updates usually, now.
2023-09-28 12:57:31 -04:00
Jesper Hodge
cd2ce32d73 CMS API serializers and validations (#33316)
Internal ticket: https://2u-internal.atlassian.net/browse/TNL-11077

This adds validations to all new CMS API endpoints via serializers.

Validations follow the "strong parameter" concept:
https://www.mintbit.com/blog/securing-ruby-on-rails-applications-part-3-use-strong-parameters#:~:text=Strong%20parameters%20are%20a%20feature,parameters%20to%20a%20controller%20action.
2023-09-22 17:49:49 -04:00
Jesper Hodge
f197f9e61e add swagger for CMS API via drf-spectacular (#33282)
This adds two new urls: `<studio-base>/cms-api/ui` and `<studio-base>/cms-api/schema` with swagger ui and swaggerfile only for the new CMS API using drf-spectacular
2023-09-19 21:06:40 +00:00
ruzniaievdm
3978375abf feat: create course home api DRF (#33173) (#33204) 2023-09-08 08:39:31 -04:00
connorhaugh
901ac926bd Revert "feat: create course home api DRF (#33173)" (#33194)
This reverts commit e480a79d9c. as it failed final checks before prod: 
https://github.com/openedx/edx-platform/actions/runs/6098198385/job/16548257136
2023-09-07 13:22:53 +00:00
ruzniaievdm
e480a79d9c feat: create course home api DRF (#33173) 2023-09-06 10:05:25 -04:00
ruzniaievdm
b84d45410c feat: add api for help tokens (#33073) 2023-08-23 09:48:16 -04:00
ruzniaievdm
ddb092c07c feat: Create DRF for course team (#32782) 2023-08-17 09:12:02 -04:00
Usama Sadiq
4ee5964855 fix: fix django4 deprecation warnings (#32957) 2023-08-16 14:39:49 +05:00
Kristin Aoki
69cab96714 feat: remove 403 for disabled advanced settings (#32906) 2023-08-03 19:52:34 +00:00
ruzniaievdm
0d93075a01 fix: api for schedule and details page MFE page (#32890) 2023-08-03 11:41:52 -04:00
Jesper Hodge
6598abbb6b Studio content api videos (#32803)
* refactor: extract methods to video_storage_handlers

* refactor: move private functions

* refactor: move functions to videos_storage_handlers

* refactor: asset_storage_handlers

* feat: add video api views

* feat: add video urls

* feat: add mock videos post

* refactor: mock video upload url

* fix: json extraction

* fix: url pattern for video deletion

* fix: video url views

* fix: lint

* fix: lint

* fix: tests

* fix: tests

* fix: tests

* Feat  studio content api transcripts (#32858)

* feat: add transcript endpoints

feat: add transcript upload endpoint, check that transcripts for deletion exist

fix: remove transcript credentials view cause out of scope

* fix: lint

* feat: TNL-10897 fix destroy() args to kwargs bug

---------

Co-authored-by: Bernard Szabo <bszabo@edx.org>

---------

Co-authored-by: Bernard Szabo <bszabo@edx.org>
2023-07-31 13:37:00 -04:00
Kristin Aoki
948f23a011 feat: return denied when waffle flag disabled (#32795) 2023-07-24 12:32:53 -04:00
Jesper Hodge
7fc32f80b8 add assets to studio content api (#32676)
The purpose of this is to expose the assets_handler endpoint as a public endpoint as part of the studio content API MVP. This allows a course author to register an oauth application in django admin and then retrieve, create and delete assets with this endpoint. You can only update the "locked" attribute for an asset.
2023-07-20 14:18:11 -04:00
Jesper Hodge
96f1397872 Refactor rename contentstore xblock services (#32581)
This PR addresses the renaming of the contentstore/xblock_services folder to contentstore/xblock_storage_handlers as a follow-up to PR #32282. The renaming is done to prevent naming conflicts with xblock runtime services and to make the purpose of the files more understandable. The file xblock_service.py has been renamed to view_handlers.py to better reflect its functionality.

Justification and Future Refactoring Outlook:
The xblock_storage_handlers folder contains service methods that implement the business logic for view endpoints located in contentstore/views/block.py. It is renamed to xblock_storage_handlers to reflect its responsibility of handling storage-related operations of xblocks, such as creation, retrieval, and deletion.

The view_handlers.py file includes business methods called by the view endpoints. These methods, such as handle_xblock, delete_orphans, etc., interact with the required modulestore methods, handle any errors, and aggregate and serialize data for the response.

The term 'handler' in the context of 'view_handlers.py' represents methods that facilitate business logic for view endpoints. It is critical to note the distinction between these 'handler methods' and the xblock_handler method. The xblock_handler is a view endpoint itself, residing in contentstore/views/block.py, and is well known in this context. Although its name might suggest otherwise, it is not a handler in the sense of the 'handler methods' we've defined in 'view_handlers.py'. To maintain consistency with existing naming conventions, it remains as xblock_handler.
2023-07-05 11:24:24 -04: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
Kristin Aoki
6f90724fb6 feat: update tab_handler to include blockId (#32392) 2023-06-13 15:41:47 -04:00
ruzniaievdm
dea67f29c4 feat: Create DRF for course grading (#32399) 2023-06-09 10:52:30 -04:00
ruzniaievdm
96b8ba5d6a feat: Create DRF for course settings and course details views out of current Django views (#32397) 2023-06-08 11:07:29 -04:00
ruzniaievdm
a6ce487827 feat: Extending API functionality for proctoring errors (#32331) 2023-05-31 14:00:09 -04:00
Arunmozhi
d417a7561f refactor: rename ItemFactory to BlockFactory 2023-01-23 14:47:47 +01:00
0x29a
83396ffb07 refactor: convert course_module term to course_block 2022-12-19 17:48:49 +01:00
0x29a
0df1411636 refactor: xmodule/course_module.py -> xmodule/course_block.py 2022-12-19 17:48:49 +01:00
alangsto
92b60f11b2 feat: add lti proctoring provider option (#30950) 2022-09-08 13:53:23 -04:00
Kshitij Sobti
8169aa99da fix: if pages and resources view is disabled, show all pages in studio (#30550)
In a previous PR #28686, the ability to see and enable/disable wiki and progress tabs was removed from studio along with the ability to re-order non-static tabs. The ability to toggle the Wiki tab was moved to the pages and resources section of the course authoring MFE. If that MFE is unavailable this means there is no way to show/hide the Wiki. This reverts some of the old changes if the pages and resources view is disabled.
2022-06-28 21:19:32 +05:00
Simon Chen
895cc10c1b fix: do not validate proctoring_provider if proctoring is disabled (#29803)
Co-authored-by: Simon Chen <schen@edx-c02fw0guml85.lan>
2022-01-21 12:45:43 -05:00
Jawayria
7f5b4a6a47 chore: removed 'wrong-import-order' from disabled imports (#29365)
* chore: removed 'wrong-import-order' from disabled imports
2022-01-06 19:14:51 +05:00
Jawayria
0e63c20f64 chore: Applied lint-amnesty on cms/djangoapps/contentstore 2021-12-10 19:20:37 +05:00
Kshitij Sobti
e8e8f4acbe feat!: Change the way tabs are ordered [BD-38] [TNL-9174] [BB-5076] (#29262)
* feat!: Change the way tabs are ordered
The change imposes a new ordering for tabs based on their new priority. When reordering tabs, this ordering will be maintained.

* fix: Apply suggestions from code review

Co-authored-by: Farhaan Bukhsh <farhaan@opencraft.com>

* fix: review feedback

Co-authored-by: Farhaan Bukhsh <farhaan@opencraft.com>
2021-11-22 11:17:30 +05:00
M. Zulqarnain
e54fb5f76e feat: New codemods on CMS (#28768) 2021-10-25 12:59:54 +05:00
Tinuade Adeleke
706df06638 feat: updated pages to the new custom pages design (#28686)
made changes to pages template
refactored method to handle reordering of static tabs
refactored test for the refactored method
added link to the pages and resources MFE on the updated page
2021-10-21 20:06:22 +05:00