removed unencrypted user credentials data columns
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
Added json field in learner transmission audit to record 3 most response status information
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
* refactor: changed survey report message location and added a new informative sent state
* chore: added Generate and Send text on button
* chore: added comment to new state column and added reference to static jquery.
* fix: fixed non Attribute error when a report hasn't been sent yet
During the process of generatinng report for problem responses,
there are two places where N + 1 query problem exist. In both
cases, `StudentModule` objects are fetched and looped over where
`student.username` field for each object is accessed. This result
in a seperate database call to get the username for each student
response.
This problem is fixed by creating a join to fetch the related
table in the original query using `select_related`. In a test
conducted on report having 5000 `StudentModule` objects, the
number of queries for the request reduced from 8363 to 29. The
total time taken for the task reduced from 23764 ms to 7394 ms.
After we merged this PR: https://github.com/openedx/edx-platform/pull/33920
this error began popping up in logs:
Unable to load XBlock 'staffgradedxblock'
....
ImportError: cannot import name 'get_course_blocks' from
partially initialized module 'lms.djangoapps.course_blocks.api'
(most likely due to a circular import) ...
The root cause was the new imports of `derived_key` and `BlockKey` into
xmodule/library_content_block.py. Those new imports come from
xmodule/modulestore/store_utilities.py, which runs
`XBlock.load_classes()` at the module level, which fails because we are
still in the process of loading xmodule/library_content_block.
As a solution, we move both `derived_key` and `BlockKey` to
xmodule/util/keys.py. We could potentially move that file to opaque-keys
eventually, depending on how well we think that those concepts generalize.
Also:
* We rename the function from derived_key to derive_key, as
functions should be verbs.
* We combine the first to parameters of derive_key (a source ContextKey
and a source BlockKey) into a single parameter (a source UsageKey). In
my opinion, this makes the function call easier to understand.
replacing non encrypted fields of moodle config model with encrypted ones
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
Refactors forgiving JWT code to use username.
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
Co-authored-by: robrap <robrap@users.noreply.github.com>
refactor learner data transmission audit records to utilize the existing records
Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`
Web scrapers do annoying stuff like visit urls they shouldn't know about and cause xblock handlers to break.
I tested this by:
Making sure video transcripts worked as normal while logged in
making sure that I got no 500s in my logs while attempting to view it logged out.
* 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>