Commit Graph

69 Commits

Author SHA1 Message Date
Piotr Surowiec
0137f21627 feat: move XQueueService from the runtime to ProblemBlock
The XQueueService is used only by the ProblemBlock. Therefore, we are moving 
it out of the runtime, and into the ProblemBlock, where it's initialized only 
when it's going to be used.
2023-06-21 20:08:31 +02:00
Braden MacDonald
f13263df4f fix: remove the need to patch the KVS during library import 2023-05-25 21:03:01 -07: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
ce94d896cf refactor: rename descriptor -> block within xmodule/tests
Co-authored-by: Agrendalath <piotr@surowiec.it>
2023-04-26 17:10:54 +02:00
Agrendalath
c74f3825e8 test: remove only_xmodules
This function was only used by tests. It was breaking tests from the `xmodule`
package on the devstack because the dist.key of its entry_points is `open-edx`.
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
Arunmozhi
2b59265240 feat: adds VerticalBlockRenderCompleted filter hook (#31388)
* feat: adds VerticalBlockChildrenLoaded filter call

This introduces the VerticalBlockChildrenLoaded filter that is run after
all the child blocks are fetched before rendering a student or the
public view. This will allow modifying the contents of the VerticalBlock
before presenting it to the students.
2023-02-22 15:05:19 -04:00
Agrendalath
a12c003215 feat: allow using all components of LibraryContentBlock
Setting max_count to a negative value resulted in raising an unhandled
ValueError. Currently, it selects all children of the LibraryContentBlock.
2023-02-17 12:49:33 +01:00
0x29a
3a1011bed8 refactor: replace usages of XModuleMixin.system with XBlock.runtime 2023-01-30 18:15:24 +01:00
0x29a
a027f36724 refactor: rename module -> block within xmodule 2023-01-30 18:15:22 +01: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
Arunmozhi
59d8b5d286 refactor: replace displayable_blocks with child
This removes the "displayable_blocks" property and replaces all the
usages with the "child" property.
2023-01-23 14:47:47 +01:00
Arunmozhi
851eb65d53 refactor: rename get_displayable_items and displayable_items 2023-01-23 14:47:47 +01: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
d3fee38a37 refactor: xmodule/split_test_module.py -> xmodule/split_test_block.py 2022-12-19 17:48:49 +01:00
0x29a
dd9f6936bc refactor: xmodule/video_module -> xmodule/video_block 2022-12-19 17:48:49 +01:00
0x29a
685f1cd679 refactor: xmodule/xml_module.py -> xmodule/xml_block.py 2022-12-19 17:48:49 +01:00
0x29a
071b4ba1b4 refactor: xmodule/word_cloud_module.py -> xmodule/word_cloud_block.py 2022-12-19 17:48:49 +01:00
0x29a
70019bac04 refactor: xmodule/seq_module.py -> xmodule/seq_block.py 2022-12-19 17:48:49 +01:00
0x29a
4aac963223 refactor: xmodule/randomize_module.py -> xmodule/randomize_block.py 2022-12-19 17:48:49 +01:00
0x29a
71b835091e refactor: xmodule/poll_module.py -> xmodule/poll_block.py 2022-12-19 17:48:49 +01:00
0x29a
57383a2840 refactor: xmodule/mako_module.py -> xmodule/mako_block.py 2022-12-19 17:48:49 +01:00
0x29a
2779bd250f refactor: xmodule/lti_module.py -> xmodule/lti_block.py 2022-12-19 17:48:49 +01:00
0x29a
e3591701e3 refactor: xmodule/library_content_module.py -> xmodule/library_content_block.py 2022-12-19 17:48:49 +01:00
0x29a
007e02cd76 refactor: xmodule/html_module.py -> xmodule/html_block.py 2022-12-19 17:48:49 +01:00
0x29a
cf47f6385f refactor: xmodule/error_module.py -> xmodule/error_block.py 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
0x29a
7e33dce1ab refactor: xmodule/conditional_module.py -> xmodule/conditional_block.py 2022-12-19 17:48:49 +01:00
0x29a
4c005e86e8 refactor: xmodule/capa_module.py -> xmodule/capa_block.py 2022-12-19 17:48:49 +01:00
0x29a
7f2e68c2fd refactor: xmodule/annotatable_module.py -> xmodule/annotatable_block.py 2022-12-19 17:48:49 +01:00
bszabo
5dc8dc54e1 Merge pull request #31412 from openedx/youtube-scrape-transcripts-squashed
Youtube scrape transcripts squashed
2022-12-13 15:05:03 -05:00
Kaustav Banerjee
99cd4a4715 feat: disable allowed enrollment if enrollment closed 2022-12-13 15:49:25 +01:00
Bernard Szabo
7630ef955a feat: TNL-9460 Drop duplicate tests
Two failing tests add no coverage relative to other tests
2022-12-09 10:58:09 -05:00
Bernard Szabo
c3c8f725dc feat: TNL-9460 differentiated API GET
CMS youtube transcript tests call GET twice & need different responses on each of the two calls

Current solution (setup_caption_responses) decides what to return on basis of call number.

Former solution (mock_request_get()) decided what to return on the basis of kwargs, which would differ on first vs. second call
2022-12-07 15:07:57 -05:00
Bernard Szabo
68f8093605 feat: TNL-9460 TEXT_API -> TRANSCRIPTS
TEXT_API should have been deleted in this commit, but wasn't. Attended to in a later commit.
2022-12-07 15:07:57 -05:00
Bernard Szabo
9efa820cef feat: add youtube caption link unit tests 2022-12-07 12:18:42 -05:00
Agrendalath
3380f88ab3 refactor: delete class XmlDescriptor
It also adds `@XBlock.needs("i18n")` to `XModuleMixin` because this service is
required there.
2022-12-05 13:57:41 +01:00
Agrendalath
8127d19115 refactor: replace XmlMixin with XmlParserMixin
Most of the methods in `XmlMixin` act as wrappers for the official API for
serialization and deserialization (parse_xml() and add_xml_to_node()).
`XmlParserMixin` contains the code which does the actual serialization and
deserialization.
2022-12-05 13:57:41 +01:00
Agrendalath
20f6650f53 refactor: convert from_xml to parse_xml for VideoBlock 2022-12-05 13:57:41 +01:00
Jansen Kantor
db082830e3 fix: slight change to logic of how teams is considered enabled (#31277)
* fix: slight change to logic of how teams is considered enabled

* fixup! fix: slight change to logic of how teams is considered enabled
2022-11-29 14:01:55 -05:00
Piotr Surowiec
f419d6b194 feat: deprecate track_function and publish in ModuleSystem [BD-13] (#30046)
* feat: delete `track_function` from ModuleSystem

* feat: delete `publish` argument from ModuleSystem
2022-11-15 10:46:24 -05:00
Maxim Beder
205a7b25cf refactor: remove unused TimeInfo 2022-10-28 11:23:16 +02:00
Maxim Beder
8336c7f9b5 refactor: remove unused StudioEditableModule 2022-10-28 11:23:16 +02:00
Maxim Beder
98d9e622b4 refactor: remove unused MakoModuleDescriptor 2022-10-28 11:23:16 +02:00
Maxim Beder
995713c6c6 refactor: remove unused TabsEditingDescriptor 2022-10-28 11:23:16 +02:00
Maxim Beder
3020f4af53 refactor: remove unused attributes and methods of TabsEditingMixin 2022-10-28 11:23:16 +02:00
Usama Sadiq
4734f9f16e fix: bump pylint version (#31084) 2022-10-27 12:19:09 +05:00
Agrendalath
1afb32c775 fix: move service initialization from LMS runtime init to module render 2022-09-21 19:05:03 +02:00