Commit Graph

9309 Commits

Author SHA1 Message Date
Usama Sadiq
2b55959a8e refactor: apply lint-amnesty on existing violations 2021-04-20 23:51:31 +05:00
Awais Jibran
62c8805e3e Refactor + Tests: Course Import Feature (#27369)
* Code Refactoring
This PR bumps code coverage by adding unit tests & clean up some code for improving code quality and maintainability.
2021-04-19 23:49:42 +05:00
Saad Yousaf
bb3be323f0 [TNL-8235] - Fix breaking code by updating the exception when load_file fails. (#27368)
Co-authored-by: SaadYousaf <saadyousaf@A006-00314.local>
2021-04-19 13:30:14 +05:00
Ahtisham Shahid
b73c0f0a90 Refactored InvalidProctoringProvider exception code (#27366) 2021-04-19 11:54:58 +05:00
Ahtisham Shahid
58231c4262 Moved Import error messages to single place (#27331) 2021-04-15 12:25:04 +05:00
Diane Kaplan
3152c14192 fix: hide gated content message for library content questions (learning MFE only) (#27277) 2021-04-14 14:11:21 -04:00
stvn
2fa36fb0cf refactor: Move StaffFactory helper to common/ 2021-04-14 07:26:39 -07:00
David Ormsbee
99c759f887 Revert "perf: avoid invoking codejail for problem response report" (#27310)
This reverts commit 35b2780658.
2021-04-12 17:17:31 -04:00
David Ormsbee
35b2780658 perf: avoid invoking codejail for problem response report
We don't need to execute instuctor code for the problem response
report because we're grabbing existing student state and scores.
Running codejail is expensive, slow, and risks report failures if
there is CPU intensive instructor code that is run at times when
the servers are already heavily loaded (and things start timing
out). This came up in TNL-8183 (and many others).
2021-04-07 11:11:07 -04:00
Piotr Surowiec
bc1e9afe4b feat: allow overriding unit icons (#21433)
This:
1. Introduces a new override using the `pluggable_override` decorator.
It is now possible to specify a custom way of getting XBlock's icon
by defining `GET_UNIT_ICON_IMPL` in settings.
2. Introduces a way to add custom `XBLOCK_MIXINS` by defining
`XBLOCK_EXTRA_MIXINS` in settings. This allows, e.g. to add
new fields to XBlocks.
2021-04-07 09:42:12 -04:00
Ahtisham Shahid
f3a62b5f89 Error message for proctor exam show to user (#27238)
* Error message for proctor exam visible to user

* Created exception class for Invalid Proctor settings
2021-04-07 10:46:19 +05:00
stvn
716b84d9df Merge PR #27202 fix/capa/empty-option-text
* Commits:
  fix: Allow capa_problem optioninput option with empty text
  refactor: Refactor capa_problem optioninput option text handling
2021-04-05 13:27:22 -07:00
Awais Jibran
bc8e21d340 Address comments in the doc (#27240) 2021-04-05 17:06:36 +05:00
stvn
21dce731f9 fix: Allow capa_problem optioninput option with empty text
This fixes TNL-7973 [1].

Background
----------

> An alert was sent out because a malformed capa problem caused block
> transformers to fail to run.

> This specific error/alert was triggered when an optionresponse problem
> lacked text. The authoring-based fix is to edit the offending
> option-response problem to remove the empty option.

> Expected behavior: We should be able to keep the error local to the
> ProblemBlock and not blow up the whole course publish block
> transformer collection process.

> This is a really easy error for authors to make, and the consequences
> to them (one problem doesn’t work) are disproportionate to the
> consequences [...] (alerting triggered).

- [1] https://openedx.atlassian.net/browse/TNL-7973
2021-04-02 14:36:20 -07:00
David Ormsbee
d2389fb7fb fix: Don't break export when transcript is Latin-1 encoded.
Video SJSON transcripts are supposed to be UTF-8 encoded, but SJSON
is an ad hoc thing we made up to make it easier to build the
transcripts viewer in the VideoBlock, and it's not well specified.
Prior to this commit, if you had an SJSON file with Latin-1 encoded
text outside the standard ASCII range (e.g. û), then we'd error out
while trying to export it.

This was blocking an effort to export some Old Mongo courses (TNL-8007).
2021-04-02 13:33:16 -04:00
AsadAzam
c4da6c1fe4 Display import errors to user (#27147)
* Display import errors to user

* Refactored

* Refactored

* Refactored

* Fixed quality

* Fixed quality

* Refactored code

* Fixed message

* Refactored code
2021-04-02 18:53:39 +05:00
Azan Bin Zahid
2136cde713 Merge pull request #226 from edx/im-security-13
Incident Management Security Fix 13
2021-04-02 12:30:04 +05:00
stvn
9afa58f963 refactor: Refactor capa_problem optioninput option text handling
to make it easier to add/remove parsing/processing logic
(in pending commits).
2021-03-31 09:58:29 -07:00
Awais Jibran
529a805c0c Fixing dates serialization in course import (#27137) 2021-03-29 13:43:01 +05:00
Azan Bin Zahid
1e65f7c23b PROD-2303 2021-03-24 18:13:36 +05:00
Usama Sadiq
3e6b3e41f8 refactor: remove unused imports (#27084) 2021-03-24 17:55:04 +05:00
Awais Jibran
49296005db Adding some minor changes to logs (#27127) 2021-03-24 17:25:04 +05:00
Azan Bin Zahid
b5e9c300f8 Merge pull request #27104 from edx/azan/PROD-2204
disbale xsslint
2021-03-24 13:00:25 +05:00
stvn
a0003016b2 Merge PR #26750 colin-fredericks/jsinput-allow-downloads
* Commits:
  feat(jsinput): Allow JSInput problems to create downloads
2021-03-23 10:20:57 -07:00
Awais Jibran
0e4571a5e5 Do not monitor if asset file is not present (#27106) 2021-03-23 01:26:46 +05:00
Azan Bin Zahid
ca6914c1f2 fix: move xss-lint disable comment to correct place 2021-03-22 21:20:26 +05:00
Ahtisham Shahid
da30f24108 Fixed Html escaping in course name in API (#27103)
* Fixed Html escaping in course name in API
2021-03-22 19:52:34 +05:00
Awais Jibran
5f773d326d Add missing import logs. (#27066) 2021-03-22 15:28:13 +05:00
Awais Jibran
c377d87c54 Throw an error message if the assertion fails (#27063) 2021-03-19 12:23:26 +05:00
Awais Jibran
dd3a0bd939 Add missing import logs. (#27056) 2021-03-18 19:57:18 +05:00
AsadAzam
1593b40702 Improved logging for import (#27024)
* Improved logging for import

* Refactored code

* Refactored code

* Refactored code

* Refactored code

* Refactored code

* refactored code

* Refactored code

* Updating log

Co-authored-by: Awais Jibran <awaisdar001@gmail.com>
2021-03-18 12:40:38 +05:00
jawad khan
7d4f192bcb Learner 7611 - Make URLs of all video encodings available in Blocks API (#26701)
* LEARNER-7611
Get all quality video urls in blocks api
* moved video profiles from blocks api to video_module
2021-03-17 13:11:34 +05:00
Ahtisham Shahid
66a62b1670 Fixed rendering issue in course title (#27003) 2021-03-16 18:43:29 +05:00
Kyle McCormick
8813a61da2 feat!: remove SemanticSectionDescriptor, the final XModule (#26990)
A "section" tag in an OLX upload used to map to the
SemanticSectionDescriptor, which translated it into a Sequence
("sequential" tag). This is both obscure and confusing, since it uses
language that predates Studio. Back in the LMS prototype days,
"section" was inconsistently used to be interchangeable with "sequence"
and "sequential", and what Studio today calls a "section" was called a
"chapter". Bits of this legacy terminology are still around in the
courseware rendering code.

The upshot is that if you make an OLX tag "section" before this commit,
it would not map to what we call a "Section" in all our documentation,
but to a "Subsection"; furthermore, if that <section> only had one child
element, the node would be replaced with its singular child, removing
the <section> node from the course tree entirely.

The fact that you can make a "section" OLX tag
at all is nowhere in our documentation because courses haven't been
written that way since late 2011 or early 2012.

SemanticSectionDescriptor came up as part of the XModule ->
XBlock conversion efforts as a legacy XModule that isn't worth
converting. With the removal of this class, all XBlocks
in edx-platform are "pure" XBlocks, ending our reliance
on the XModule-to-XBlock shimming infrastructure.

This commit also removes the process_includes decorator, which was only
used for "section" tags. This does NOT delete the ProblemBlock-specific
<include> tag, which is still supported (if obscure).

There is a chance that through tribal knowledge or copy-paste, some
section tags survive in the wild of old edX courses. It's difficult for
us to assess because by its nature, this tag doesn't just say
"section", but instead actually does the mutation on import so it's
stored as "sequential" in the modulestore–therefore things like
CourseGraph can't detect it.
The fix for any such XML-authored courses is:
* For instances of <section> that wrap a single child node,
  replace the <section> node in favor of its child node.
* For instances of <section> that wrap a sequence of children,
  substitute <section> with <sequential>
Note that "<section>" is a valid HTML tag
type and so may show up in any component that can contain HTML and is
unrelated to the course structure OLX tag alias "<section>" that this
commit removes.

DEPR-124
2021-03-15 09:04:23 -04:00
Usman Khalid
23d1e5b654 Remove unused RawDescriptor and EmptyDataRawDescriptor. 2021-03-11 22:20:33 +05:00
Usman Khalid
78cd8be24d XMLModuleStore should use HiddenDescriptor instead of RawDescriptor.
In https://github.com/edx/edx-platform/pull/25955 `HiddenDescriptor`
(which was a subclass of `RawDescriptor` with a custom `student_view()`)
was converted to an XBlock. It is used as the `default_class` by the
`CachingDescriptorSystem` classes. However `RawDescriptor` is still
being used by `XMLModuleStore`. This has been replaced by
`HiddenDescriptor` as well.
2021-03-11 22:20:33 +05:00
Usman Khalid
fb02353719 Convert TranslateCustomTagDescriptor to TranslateCustomTagBlock. 2021-03-11 22:20:33 +05:00
Usman Khalid
556ef4cb39 Created CustomTagTemplateBlock to use with CustomTagBlock instead of RawDescriptor. 2021-03-11 22:20:33 +05:00
Kyle McCormick
5557194af1 revert: BOM-2378 (B) : pyupgrade in common/lib (#26943)
Reverts #26731

The code in common/lib/capa/capa/safe_exec needs
to remain Python 3.5-compatible, since edx-sandbox
(ie codejail) is still running Python 3.5.
2021-03-10 15:01:09 -05:00
Jeff Witt
ac4c1c37b7 feat: Allow HTML video player to use 2x playback speed
LEARNER-8247

Co-Authored-By: Sarina Canelake <sarina@edx.org>
2021-03-10 09:37:35 -05:00
M. Zulqarnain
b4614d75f0 BOM-2378 (C) : pyupgrade in common/lib/xmodule (#26736)
* refactor: pyupgrade in common/lib/xmodule

Co-authored-by: Usama Sadiq <usama.sadiq@arbisoft.com>
2021-03-10 17:56:39 +05:00
M. Zulqarnain
8e8420dd46 BOM-2378 (B) : pyupgrade in common/lib (#26731)
* refactor: pyupgrade on common/lib

Co-authored-by: Usama Sadiq <usama.sadiq@arbisoft.com>
2021-03-10 17:56:24 +05:00
M. Zulqarnain
deb7f5b026 refactor: pyupgrade in common/lib/xmodule (#26780) 2021-03-10 17:56:07 +05:00
M. Zulqarnain
8aec103447 refactor: pyupgrade in common/lib/xmodule (#26781) 2021-03-10 17:55:49 +05:00
Usman Khalid
e624a8f4ac Convert CustomTagModule to CustomTagBlock. 2021-03-09 09:27:43 -05:00
Usman Khalid
48290cf837 Convert PollModule to PollBlock. 2021-03-09 09:27:43 -05:00
Kyle McCormick
9aefd6f986 style: django-not-configured is not a sensible lint-amnesty value (#26862)
django-not-configured is an error raised by pylint (with
the pylint-django plugin) when it's not correctly configured.

We should not be applying lint amnesty for such a violation.
2021-03-05 08:11:58 -05:00
Jawayria
c5e5b307b5 Merge pull request #26507 from edx/jawayria/bom-2351-6
BOM-2351: Removed unused imports from common/lib/xmodule
2021-03-04 20:36:46 +05:00
Usman Khalid
0e7664fbce test: Fix failing pytest asserts in GradesheetTest.test_weighted_grading. 2021-03-03 18:49:01 +05:00
Usman Khalid
8a8dbee340 test: Fix assertstore and modulestore tests failing because of missing equality functions.
https://github.com/edx/edx-platform/pull/26530 updated the tests to use pytest
assertions instead of unittest assertionss. However, some tests depended on custom
equality functions being set up in the test classes. These tests have been updated
to explicitly do the needed comparisons.
2021-03-03 18:49:01 +05:00