#77 override proposal - #139
Conversation
- Migrated question_cleaner into questiontype class - Moved matrix store to db namespace because it mainly does database operations - Added some requires that are needed later - Fallback in import_from_xml(): Read the deprecated variant use_dnd_ui from the XML file as a fallback (for now)
…) and process_col()
- Prevent bad data (everything except 1 and 0) from getting into the weights table - deleted remove_excluded_question_data() because the empty hints array should not influence backupdata (because it is always there, through get_question_options()) - Don't copy the matrix array in convert_backup_to_questiondata() - Removed very old TODO
…) to avoid redundancy - Also removed one liner functions param_add_columns() and param_add_rows() only used once
…reorder it to avoid redundancy Builder: Removed then used function disabled_if()
…) because the response only ever contains cell data, never _order or other metadata Removed unused is_question_partial_gradable() and get_num_selected_choices()
…se they should not be called directly from outside
… string always exists for the plugin
…ort doesn't read those anyway)
…true to rowROWINDEXcolCOLINDEX => true The new syntax is the same for both single and multiple and usable for regrading. Also form field names are different now (rINDEXcINDEX or rINDEX) to differentiate between form fields and response parameters. - Added a javascript module for the question display syncing radio button changes to hidden response parameter inputs (This makes qtype_matrix unusable without Javascript enabled) - Restore: Let the matrix store be fetched by a function to ease testing - Restore: Don't allow restore without a mapped order - Restore: Allow to restore from old cell stepdata - Restore: If attempt data is broken (e.g. unmappable), throw an exception - Added a utility class for stepdata migration - Gradings: Made base grade_row() and grade_question() abstract, changed signatures and code to receive indices and made it clearer that a single response is graded - Gradings: Moved implementation for grade_question() from base class to all grading - Gradings: Removed function cell_name() - Gradings/Form: Removed single use function create_cell_element() and integrated into form - Extracted renderable/templatable for formulation (question display) - Renderer: Exposed parent's feedback_image() function to be able to use it - Mustache: Split up response parameter names (hidden inputs) and user form field names - Upgrade: Added CLI only (too slow) upgrade step for stepdata migration - Form: Move to using indices in edit form (old IDs aren't needed when saving) - Question: Several functions are now using index based parameters - Question: weight() now uses database IDs not objects, and uses a fallback - Question: get_expected_data() now simplified to only PARAM_BOOL - Question: classify_response() refactored to single function again - Questiontype/import_from_xml(): Simplified weight algorithm - Regrading/Question: Implemented validate function with caveats in FIXMEs - Regrading/Question: Implemented update function which ONLY updates order - Updated version to let upgrade step run And finally: Adapted existing tests and added several new tests testing most aspects of the plugin (including a behat test for regrading)
Added constant for default value to questiontype
- Reordered and categorized strings - Added strings for setting
- Edit form displays UI when it is allowed and the question is already existing (meaning there is a first version of it) - Ensure that autopass values exist even when it is disabled - Save code - Import/export notes about autopass not being exported
…es a point because the question was badly worded anyway) - Display/Review: Add autopass column to displayed question when the question has rows with an autopass value - Display/Review: Make it visually clear that an autopassed row is such - Display/Review: Show an explaining message when a row is autopassed - Settings: Global admin option to allow autopassing or not - Fix: Don't prevent saving a question without autopass form elements present or being checked
|
I wanted to rebase this PR upon the changes from the PR #132 I just did (~ to like), but locally somehow the rebase has conflicts (doesn't make sense, but here we are...). I'll rebase this one once you don't have any more change requests for the other PR... |
|
I assume you're basically "5 minutes away" from merging the PR for #95 ;-) So, switching my context to this, apart from wording and ugly layout, what's your stance on this? Would you merge it? |
|
Yes, was 5 minutes away for many days ;) I now have to take a little time (hopefully not very long as last time). Interestingly enough I have now a couple users asking for this very same feature, so it will be greatly appreciated as well. Could you see about rebasing this though, as there seem to be conflicts now? |
|
I've opened a fresh PR: #142 This one was too much work to rebase, so I cherry-picked the appropriate commits there. |
This is a first proposal (based on the PR #132) for a new row table field "autopass" and a global option "allow_autopass".
This resolves #77, I think (I have to talk with my colleague).
It also would let me change my PR #132 in good conscience with regards to the validate function (I would be able to create sensible rules for when regrading should be possible).
Maybe we should talk about this...