This is a fix for a regressions introduced by MDL-54778. It
seems that escaped all our tests because there isn't any case
of such a dependency in core, but Daniele Cordella was facing
it within his surveypro module.
This is a squash of many small fixes.
The list of changes are:
Initial set of behat selectors overrides required for new theme.
set core behat selectors if not overridden by theme
Remove pause
Fix for checkboxes not saving properly
Custom override for click in the user menu
Fix for behat guessing the field type.
Behat fix for guessing the correct field type.
Fix for missing closeElementBefore mforms mess.
Fix for textareas not displaying their contents.
Fix availability form element
Fix action menu selectors for activities in a course page
Fix textareas not retaining their values
Fix selector for blocks
I had to change the single select template to use an input instead of a button because of a
behat bug we have not tracked down yet.
Fix for frozen attribute in form elements
Use input instead of button while behat is still broken
Fix for navigation selector override
Behat selector fixes and multi-select fixes for templated select
Fix for configure blocks selector + booleans for autocomplete
Fixes for course_summary behat tests
Allow optgroups in single_select
Behat fixes for block_navigation
Fixes for url form element and activity chooser selectors
blocks_social - fix specific selector for behat
Fix export_for_template for selectgroups element.
Dont set empty id on the form
Fix direct call to behat_navigation in backup context
Checkbox empty value fix
Fix for assign grading panel popouts
file picker overrides to find a file manager in the page
Fix chat tests to use element name
Make selectors in mod_data behat less specific
MDL-55839: recent activity behat test relies on time()
SQUASH Honour mform element "class" attribute on the container
SQUASH Fixes for behat in mod_forum
SQUASH search form template showing value as text next to the button
SQUASH undo double selectgroup fix
SQUASH - The slightly different structure to action menus breaks course drag and drop
SQUASH Wrap loading icon in a span so the selector still works.
SQUASH Fix fragile javascript in report_loglive
SQUASH Fix tabtree, and selectgroups for mod_feedback
Also - do-not enhance the action menu - we are dropping support for this.
SQUASH Fix filemanager selector and pix_icon template for mod_forum tests.
SQUASH Fixes to breadcrumb and add formid to single select (fixes mod_glossary tests)
SQUASH lesson behat fixes. 95% of lesson styles were rubbish so they were disgarded.
SQUASH Fix lti behat tests - they were cheating and using a context step from quiz
SQUASH Behat fixes for quiz with new theme
SQUASH behat fixes for mod_wiki
SQUASH Workshop behat fixes
SQUASH Frozen form elements cannot use a readonly form element because it screws with the form JS "disabledIf" stuff.
SQUASH Fixes for grades behat tests
SQUASH behat fixes for groups
SQUASH blacklist action menu tests
SQUASH Fix for tag form element missing "manage standard tags" link
SQUASH Incomplete fixes for course behat tests
SQUASH behat fixes for badges
SQUASH Tags fixes for behat
SQUASH filepicker fixes for behat
SQUASH Abort guessing field type when we hit 'html'
SQUASH Fix for admin/tool/behat tests
SQUASH fix for admin tool behat tests
SQUASH fix for availabilty conditions hiding "aria-hidden" elements
SQUASH give the blocks more room. We get behat files because nav tree nodes are not in view
SQUASH Blocks fixed
Fix behaviour of unchecked checkboxes
SQUASH Remove incorrect step in user test
SQUASH behat fixes for course tests
Part of MDL-55071
The new form elements were not including the markup for advanced
and required fields. I used an <abbr> tag in the label to give
and accessible indication of the advanced and required fields.
Part of MDL-55071
This change allows form elements to be overridden with a mustache template.
The template can even listen for form validation errors and supply the JS to
change the look of the form element when there is/isn't a validation error.
Initial support is for all core form elements including:
text, select, selectyesno and checkboxes, groups, dateselector, datetimeselector,
autocomplete, modvisible, advcheckbox, button, duration, filemanager, filepicker, editor, static, grading,
warning, textarea, password, url, submit, questioncategory, recaptcha.
Part of MDL-55071
When a field is disabled in the page - no value is sent and modgrade is reverting
to the default. This change prevents the max grade from changing accidentally.
Instead of using the more rollup-tolerant config for all files, make the
configuration stricter by default but lower in grunt for yui modules.
This means that manual runs (prechecker) or editor integrations will
flag up the errors as well as grunt.
Also add ignore lines to the core files so that eslint isn't noisy when
not running with grunt.
The changes in this commit should not be problematic, just:
- different whitespace.
- some docs.
- 1 variable to camelCase.
And then, less trivial, but safe enough IMO:
- a change to camelCase some identifiers and their calculation.
The original issue here was that each loop of the named values did not
check for prototypal properties. As a result, if there were input fields
with names such as 'sort', 'valueOf', 'constructor', etc. these would
return their prototypal functions instead of a falsy value, and be treated
as though they are array - hence the 'Cannot push to Function' type error.
Following on from this I discovered that the data stores were being created
as arrays, but used as objects. This can also cause issues with some form
input names -- e.g. if they are numeric.
These two issues were resolved together by correctly storing them in
objects, and checking that those objects had real properties
(hasOwnProperty). This itself has to use the prototypal function to cater
for the potential of a field name called 'hasOwnProperty'.
I also found that the instance value stores were being initialised in the
prototype (and therefore shared), which meant that there were numerous
issues if two forms were present on the same page, or one form replaced an
existing one (e.g. forms initialised in JS).
In addition, it also became apparant that several values were being used
outside of scope, or in the wrong scope. This caused further issues when
creating multiple forms on a page.
This was affecting both to rateable (forum...) and not rateable
(assignment...) activities. So tests have been completed to verify
that now saving is performed and the correct scale values stored.
Changing the error message that is displayed to users when they
upload a file that is greater than the maximum upload size. Does not
include all upload cases; focuses on those most used by students.
This is a squashed commit containing a number of changes:
This is an ajax driven course selector that has searching etc. It can select single, or multiple courses.
Make course selector accept a list of courses to exclude
courseselector - lookup coursename on setValue
Use the get_course_display_name_in_list function to generate the course names
Add a throttle to auto-complete to reduce spamming the server
Do a single query to fetch all the courses in the mform element when validation fails
Fix core course search function to return results when there are less than 2 chars in the query.
Handle setData with an empty array in new course selector
If mod has grades, then while upgrading
modgrade_type is disabled. This will not post
it with form and hence validation fails.
To avoid above problem, use ->currentgradetype
if modgrade_type is not set