Commit Graph

4560 Commits

Author SHA1 Message Date
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
Braden MacDonald
b70252db94 fix: Update text of new clipboard menu, hide it in libraries (#32339)
* fix: Use clearer name for the new "Copy" action ("Copy to Clipboard")

* fix: Don't show the new copy menu in content libraries (not yet supported)
2023-06-01 11:36:53 -07:00
ruzniaievdm
a6ce487827 feat: Extending API functionality for proctoring errors (#32331) 2023-05-31 14:00:09 -04:00
connorhaugh
b8de097e1a fix: remove drag and drop from V1 libs (#32325) 2023-05-30 11:25:59 -04:00
Fox Piacenti
aa7370c773 refactor: Duplicate and update primitives made available.
This makes a couple of changes to the xblock handler in the CMS. These changes 
add a handful of utility functions and modify the existing ones to make reuse 
of existing blocks easier. With these changes, it is possible to copy an 
entire section from one course to another, and then later refresh that section, 
and all of its children, without destroying the blocks next to it.

The existing _duplicate_block function was modified to have a shallow keyword 
to avoid copying children, and the update_from_source function was added to 
make it easy to copy attributes over from one block to another. These functions 
can be used alongside copy_from_template in the modulestore to copy over blocks 
and their children without requiring them to be within any particular container 
(other than a library or course root)-- thus allowing library-like inclusion 
without the library content block. This is especially useful for cases like 
copying sections rather than unit content.
2023-05-25 15:58:28 +02:00
Michael Roytman
105260f642 Merge pull request #32250 from openedx/MichaelRoytman/MST-1869-course-end-date
feat: send course end date as due date to exams service if exam has no due date
2023-05-22 11:37:37 -04:00
Kristin Aoki
1fcefc3dd9 feat: add waffle flag check in header (#32264) 2023-05-22 11:18:26 -04:00
michaelroytman
344200862e feat: send course end date as due date to exams service if exam has no due date
An exam due date can be inferred from the end date of the course if the exam does not have a due date. In the legacy proctoring system (the edx-proctoring plugin), this inference is made in the proctoring code by calling the edx-when API. This is possible because edx-proctoring is a plugin that's installed into the edx-platform, into which edx-when is also installed.

In the new exams service, we do not want to call to the LMS to get due date information from edx-when. This poses a number of problems, not all of which are solved by this commit. This commit allows the exams service to infer a due date for an exam if that exam does not have a due date at the subsection level.

Note that this is a departure from edx-proctoring. This also opts out exams powered by the new edx-exams service from personalized learner schedules (PLS)/relative dates, because we no longer consider the pacing type of the course.
2023-05-19 13:28:26 -04:00
Edward Zarecor
2f44415eba Merge pull request #32099 from open-craft/navin/fix-video-transcripts 2023-05-18 14:29:34 -04:00
kenclary
5bae0c86f5 Merge pull request #32024 from open-craft/chris/FAL-3383-new-video-editor-flow
[FAL-3383] feat: New waffleflag to enable or disable new video editor flow
2023-05-18 09:56:06 -04:00
Kristin Aoki
36e18f291b feat: add waffle flags for studio mfe pages (#32240) 2023-05-16 15:04:38 -04:00
Navin Karkera
1836305771 test: check transcripts when uploaded via api 2023-05-12 18:36:59 +05:30
Navin Karkera
a06c9b17be fix: update transcripts field in video on upload 2023-05-12 18:36:59 +05:30
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
0x29a
065f894d1b fix: missing advance_settings_access template variable
Co-authored-by: Farhaan Bukhsh <farhaan.bukhsh@gmail.com>
2023-05-05 11:42:53 +05:30
XnpioChV
5a365c38a7 feat: Video api updated to get the transcript urls 2023-05-04 16:24:14 -05:00
XnpioChV
c1b701309b feat: Waffleflag added to enable the new video editor flow 2023-05-04 16:24:06 -05:00
Kristin Aoki
af96cb1b21 feat: make video feature api to be course agnostic (#32173) 2023-05-04 13:33:07 -04:00
Syed Ali Abbas Zaidi
f1fb38ed83 fix: multi lines and spaces issues (#31885)
* fix: multi lines and spaces issues

* fix: eslint operator-linebreak issue

* fix: eslint quotes issue

* fix: remaining quotes issues

* fix: eslint object curly newline issue

* fix: eslint object curly spacing issue

* fix: eslint brace-style issues

* fix: react jsx indent and props issues

* fix: eslint trailing spaces issues

* fix: eslint linbreak style issue

* fix: eslint space unary operator issue

* fix: eslint line around directives issue

* fix: void and typeof space unary ops issue
2023-05-03 12:22:46 +05:00
Leangseu Kim
0dc881e25a feat: course level public sharing video options
feat: add video sharing option field course field

chore: add social sharing document url

chore: add course check because library also using this
2023-05-02 14:57:25 -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
Pooja Kulkarni
1950949c9e refactor: rename descriptor -> block within remaining xmodule
Co-authored-by: Agrendalath <piotr@surowiec.it>
2023-04-26 17:10:54 +02:00
Pooja Kulkarni
953e1f945e refactor: rename descriptor -> block within common
Co-authored-by: Agrendalath <piotr@surowiec.it>
2023-04-26 17:10:53 +02:00
Pooja Kulkarni
ce13cd540a refactor: rename descriptor -> block within cms
Co-authored-by: Agrendalath <piotr@surowiec.it>
2023-04-26 17:10:53 +02:00
Muhammad Adeel Tajamul
f08b4d9090 fix: info banner not visible when course is created (#32133)
Co-authored-by: adeel.tajamul <adeel.tajamul@arbisoft.com>
2023-04-26 18:34:16 +05:00
Kaustav Banerjee
c5439221cb chore: address review comments 2023-04-21 11:53:49 +02:00
Kaustav Banerjee
d0fa2d65e3 test: fix test cases and lint issues 2023-04-21 11:53:49 +02:00
Kaustav Banerjee
20ed3d64ec feat: add _runtime_services attribute to DescriptorSystem 2023-04-21 11:53:49 +02:00
Kaustav Banerjee
7d8f54fa88 chore: cleanup LmsModuleSystem and PreviewModuleSystem 2023-04-21 11:53:49 +02:00
Kaustav Banerjee
dc1078fa1e feat: removed StudioEditModuleRuntime 2023-04-21 11:53:49 +02:00
Kaustav Banerjee
09e1197053 feat: remove CombinedSystem 2023-04-21 11:53:49 +02:00
Kaustav Banerjee
18fea868a9 feat: remove usage of LmsModuleSystem and PreviewModuleSystem 2023-04-21 11:53:48 +02:00
Kaustav Banerjee
017f8469de feat: merge ModuleSystem with DescriptorSystem 2023-04-21 11:53:48 +02:00
Jansen Kantor
de047cd6f9 feat: add assignment type count warning (#32068)
* feat: add assignment type count warning

* style: quality
2023-04-14 12:26:29 -04:00
Ahtisham Shahid
bbcd3124a6 fix: added delay of 30sec to update_discussions_settings_from_course_task (#32038)
* fix: added delay of 30sec to update_discussions_settings_from_course_task

* fix: resolved linter issues
2023-04-07 15:09:04 +05:00
Ahtisham Shahid
0815d7a0cd fix: skip update_discussions_settings_from_course_task if rerun is not completed (#32036) 2023-04-06 18:30:45 +00:00
Demid
63d49d3ad6 feat: feature flag to disable Advanced Settings (#32015) 2023-04-06 18:34:22 +05:30
Ahtisham Shahid
f83d8c7059 fix: changed rerun task sequence (#32035) 2023-04-05 22:36:17 +00:00
Ahtisham Shahid
d483d0df3d fix: changed rerun task sequence (#32033) 2023-04-05 16:17:04 +00:00
Ahtisham Shahid
8eb324ae51 fix: added disucssions task in course rerun from publisher (#32028) 2023-04-05 11:56:14 +05:00
Jesper Hodge
44334105cd docs: add adr for hybrid approach (#31979) 2023-03-29 13:02:20 -04:00
connorhaugh
2d4a1b3623 feat: add drag-and-drop v2 as bug green button (#31980)
Adds a big green button for the drag-and-drop-V2 xblock, as it is no longer hidden in the "problem" section.
2023-03-22 16:51:56 -04:00
Jansen Kantor
b6ba32830a feat: add endpoint to tell if video sharing feature is enabled for a course (#31931)
* feat: add endpoint to tell if video sharing feature is enabled for a course

* feat: create video setting endpoint

* feat: move toggle out of lms

* docs: update toggle location in comment

* docs: fix toggle annotation
2023-03-16 09:51:05 -04:00
Awais Qureshi
2ae2fbd4f5 fix: removing s3boto storage backend. (#31876)
* fix: removing s3boto storage backend
2023-03-13 13:32:19 +05:00
Braden MacDonald
6805654d40 feat: New actions menu for components in Studio (behind waffle flag) (#31853) 2023-03-03 10:09:27 -08:00
DimA
899167f20f fix: [RGOeX-386] about page is available for the course creator
The empty "Course Overview" keep the default value if the
"overview" key in the json request is an empty string.
2023-03-01 12:46:29 -05:00