When questions are deleted, we now check if the parent is in use before deletion.
Prior to this, it would be possible for multianswer questions to reference
questions that have been deleted. This results in fatal errors when the quiz
is viewed.
This patch uses a dummy 'subquestion_replacement' to handle this case and
display some information to the end user about what has happened so that
they may take action to repair the corrupted question.
As a result of the bug described above, the sequence column of
mdl_question_multianswer can contiain references to questions that no
longer exist, and these IDs can make their way in to backups.
When this happens, the backups cannot be restored. To avoid this,
this patch skips trying to restore those questions that reference
question IDs that no longer exist (as there is no way to recover them).
This implementation will introduce a feature "columnsortorder"
which will add the column sort order feature in an external page.
Having this feature will give users the flexibility of sorting plugin
columns in the question bank view.
This interface allows a templatable to provide a template name via the
'get_template_name(): string' function and have it automatically
rendered via a standard 'render()' call.
Including in this commit:
- Modify the UI to make the section dropzone more visible
- Prevent the direct image dragging in Chrome, Safari by improving the check
When handling with the output of find_active_node,
proceed ahead only if the result is an instance of navigation_node.
Else there are chances of exceptions.
* As per WAI ARIA Authoring Practices 1.1 guidelines for menus,
menu items should have a tab index of -1. Navigation between menu items
is done via arrow keys.
See https://www.w3.org/TR/wai-aria-practices-1.1/#menu
For the three unit tests that are going to be modified in future
commit, I first changed them to use a namespace and class name
matching filename, as per current standard.
Avoids always marking a selected dropdown item as active. When the
dropdown item has attribute data-disableactive="true" the active
classes will not be applied to this element. This is sometimes requred,
especially in the primary/secondary navigation more dropdown menu when
the dropdown item is an action link which opens a new page. Setting
this item as active will falsely indicate that the user is currently on
this page.