- Jan 24, 2023
-
-
Giovanni Cimolin da Silva authored
* fix: Tool can only push grade to value in config Before this commit, LTI tools were able to push grades to any block simply by modifying or creating a new line item with a `resource_link_id` containing a valid block. This commit closes that loophole and resolves security advisory GHSA-7j9p-67mm-5g87. * chore: create release version Co-authored-by:
Zach Hancock <zhancock@edx.org>
-
- Nov 29, 2022
-
-
Kshitij Sobti authored
-
- Nov 16, 2022
-
-
michaelroytman authored
* Adds an Lti1p3ProctoringLaunchData data class. It should be included as an attribute of the Lti1p3LaunchData data class to provide necessary proctoring data for a proctoring launch. * Adds an LtiProctoringConsumer class. This class is used to generate LTI proctoring launch requests and to decode and validate the JWT send back by the Tool with the LtiStartAssessment message. * Adds an lti_1p3_proctoring_enabled BooleanField to the LtiConfiguration model. This field controls whether proctoring is enabled for a particular LTI integration. * Modifies the launch_gate_endpoint to support LtiStartProctoring and LtiEndAssessment LTI launch messages. * Adds an start_proctoring_assessment_endpoint to support LtiStartAssessment messages from the Tool. * Adds an LTI_1P3_PROCTORING_ASSESSMENT_STARTED signal. This signal is emitted when the LtiStartAssessment message is sent from the Tool to inform users of the library that the LtiStartAssessment message has been received.
-
- Oct 20, 2022
-
-
Andy Shultz authored
Sometimes we need to load the block. Current code always rebinds the block to the anonymous user because we might not have a user. But in many cases we do have a user and may have already loaded and bound the block in question. Check for user and request and if the block is already bound and just use that block if possible or at least load the block with the user you actually have.
-
- Apr 13, 2021
-
-
Giovanni Cimolin da Silva authored
This commit improves the functionality of the grade publishing method. Improvements: * Doesn't publish grade to LMS if this isn't a graded block. * Doesn't try to publish grades when LineItem is not linked (`resourceLinkId` is empty) * Improves logging and properly logs exceptions
-
- Nov 20, 2020
-
-
Ned Batchelder authored
-
Shimul Chowdhury authored
[BD-24] [TNL-7661] [BB-3172] LTI Improvements - Use declarative grading model on XBlock launch (#116) * create default LineItem, WIP grade save * add score to django admin * WIP: find user and save grade to xblock * boolean pragramatic grade interaction flag and optional params in enable_ags method * Submit grades using grade signals * lineitem urls should be optional * lineitem is now readonly in declarative method * test grade_submit called properly * quality issue * raise LTIError * moved listener to signal.py, refactored models.py, added due and start date, updated tests. * use load_block_as_anonymous_user and remove load_block, refactor tests * refactor test to fix quality issue * make lineitems_url required * refactor tests, accept_grades_past_due on check * test accept_grades_past_due * add comma to last items * refactor get_lti_ags_lineitems_url * make sure crum returns user and not None * nitpicks & use maximum score when given score is larger than maximum * fix docstring of load_block_as_anonymous_user
-