Commit graph

1033 commits

Author SHA1 Message Date
Frederic Massart
fc7f69e7e8 MDL-51948 formslib: Support forcing LTR on form elements
Part of MDL-55071
2016-09-23 10:54:49 +01:00
Damyon Wiese
d6f2ce1486 MDL-55656 theme_noname: Include advanced and required field markup
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
2016-09-23 10:53:56 +01:00
Damyon Wiese
ce18fb1e86 MDL-55417 forms: Change iscancel property to issecondary for submit buttons
This is more future proof for the template.

Part of MDL-55071
2016-09-23 10:53:31 +01:00
Damyon Wiese
7e2cd5b84e MDL-55417 forms: Improve some of the new templates for form elements
Also - un-deprecate selectwithlink (Fred convinced me).

Part of MDL-55071
2016-09-23 10:53:30 +01:00
Damyon Wiese
97a00c9b8e MDL-55417 forms: Keep the JS for autocomplete in the template
Part of MDL-55071
2016-09-23 10:53:30 +01:00
Damyon Wiese
344321e1ef MDL-55417 forms: Clean up form element template patch
Use a trait and a base mustache template for all form elements to reduce code
duplication and increase standardisation.

Part of MDL-55071
2016-09-23 10:53:30 +01:00
Damyon Wiese
91bda4cd45 MDL-55417 forms: Render form elements with a template
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
2016-09-23 10:53:30 +01:00
Damyon Wiese
88af020839 MDL-55411 theme_noname: Style the filepicker for bootstrap 4
Uses templates.

Part of MDL-55071
2016-09-23 10:49:49 +01:00
Adrian Greeve
6965ffe041 MDL-55519 activities: mform element shows correct maxgrade.
In certain circumstances the max grade value would revert
back to the default max grade value.
2016-09-20 08:56:24 +08:00
Marina Glancy
721e2def56 MDL-55123 forms: do not call non-static methods statically
this breaks in PHP7.1
2016-09-12 12:06:18 +08:00
Marina Glancy
64c45a2928 MDL-55123 forms: correctly create elements in unittests 2016-09-12 11:56:04 +08:00
Damyon Wiese
bb0b39b839 MDL-55520 forms: Properly format the grademax for the database 2016-08-16 11:19:51 +08:00
Damyon Wiese
c3d4d3f7c1 MDL-55520 forms: Mod grade is changing values back to default
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.
2016-08-11 14:43:05 +08:00
Dan Poltawski
3a0bc0fdc4 MDL-55244 js: build changes
There should be no changes to minified code
2016-07-25 07:58:05 +01:00
Dan Poltawski
bc8b6dc652 MDL-55244 js: fix various lint warnings in yui
* Incorrect brace style
* Empty functions
* Multiple var statemnts
2016-07-25 07:53:05 +01:00
Dan Poltawski
5bb4f444de MDL-55244 js: fix problems with eslint --fix
eslint --fix '**/yui/src/**/*.js'
2016-07-25 07:53:05 +01:00
Dan Poltawski
ad3f8cd18c MDL-54944 eslint: make the .eslintrc default stricter
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.
2016-07-11 12:44:34 +01:00
Eloy Lafuente (stronk7)
e40dd1cdcd MDL-54778 form: Make it all js style (eslint) compliant
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.
2016-06-22 01:29:51 +02:00
Andrew Nicols
badbaa64e3 MDL-54778 form: Fix lots of issues with form dependencies
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.
2016-06-21 07:58:13 +08:00
Marina Glancy
6ee5e596b8 MDL-54837 tags: fixed bug when collection is locked
also fixed fatal error for upgraded plugins that did not pass tag
component to the tag form element
2016-06-07 08:38:39 +08:00
Marina Glancy
4ca17b63a1 MDL-54666 modedit: use default values when modgrade element is frozen 2016-05-21 12:37:46 +08:00
Eloy Lafuente (stronk7)
973641fe13 MDL-54666 tests: Verify that any activity keeps the settings
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.
2016-05-20 23:48:25 +02:00
Frederic Massart
440b4c54ca MDL-53957 form: Support frontpage for selection in course element 2016-05-06 09:27:31 +08:00
Skylar Kelty
e594a6a8e9 MDL-53889 forms: Fix course field values after multiple value updates 2016-05-06 09:27:30 +08:00
Adrian Greeve
1a9068ae01 MDL-53888 mod_url: Choose a link option now works.
Fixed a regression from MDL-50484.
2016-05-06 09:27:28 +08:00
Damyon Wiese
821ab1bf9b MDL-52954 assign: Behat fixes because the assign grading ui has changed 2016-04-15 15:57:56 +08:00
Eric Merrill
427e3cbcd6 MDL-53167 search: Add ability to limit courses searched 2016-04-07 14:41:59 -04:00
Andrew Nicols
82eb2cf1be MDL-53577 JS: get_string requires component 2016-04-07 12:10:26 +08:00
Ben Tindell
a2fb838e82 MDL-53577 repository: Added maxbytes error message
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.
2016-04-04 15:33:40 -05:00
Rajesh Taneja
b73e5047af MDL-46891 core_grade: Steps are not valid as element is disabled 2016-03-11 10:51:16 +08:00
Damyon Wiese
235ef57a3d MDL-51324 forms: Add a new course selector
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
2016-03-09 13:30:18 +08:00
David Monllao
406151d8e2 Merge branch 'wip-mdl-53300' of https://github.com/rajeshtaneja/moodle 2016-03-08 16:13:42 +08:00
Rajesh Taneja
bdd4bed8b5 MDL-53300 core_grade: use currentgradetype if modgrade_type is not set
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
2016-03-01 16:38:59 +08:00
Andrew Nicols
cf633c555e MDL-30811 form: Remove continue from test. 2016-03-01 12:11:10 +08:00
Rajesh Taneja
1ebda3eb8c MDL-50484 lib_formslib: Persistant input should have different id
Persistant input is appended for frozen elements
and should have different id then the actual element
2016-02-19 14:00:04 +08:00
Dan Poltawski
220f8115d9 Merge branch 'MDL-44626-master' of git://github.com/andrewnicols/moodle 2016-02-15 10:36:20 +00:00
Andrew Nicols
658a922fa6 MDL-44626 repository: Correct error message when uploading large files 2016-02-11 08:08:57 +08:00
Mark Nelson
1b8bd51c06 MDL-48634 core_form: added behat test for 'modgrade' validation 2016-02-09 17:46:42 +08:00
Mark Nelson
664d8be7ea MDL-48634 core: prevent change of grade values when necessary
Three additional checks have been added.

Once grades have been recorded for the activity/grade item -

1) Do not allow the grade type to be changed.
2) Do not allow the scale to be changed.
3) If we are using ratings do not allow the 'Maximum points'
value to be changed.

Also reordered form elements, removed form elements that
were not necessary, added and changed existing language
strings to improve the overall UI.
2016-02-09 17:46:42 +08:00
Damyon Wiese
e7c71c189b MDL-48634 grades: Make the rescaling option required if maxgrade changes 2016-02-05 18:20:17 +08:00
Damyon Wiese
d629c601c5 MDL-48634 grades: Add an option to rescale when changing the maxgrade 2016-02-05 18:20:17 +08:00
David Monllao
52ad3afadb Merge branch 'wip-MDL-51283-master' of git://github.com/marinaglancy/moodle 2016-02-02 17:40:39 +08:00
Marina Glancy
4be9c7ad99 MDL-51283 core_tag: Allow each tag area to set 'showstandard' 2016-02-02 17:31:17 +08:00
Marina Glancy
e11d7380c2 MDL-51283 core_tag: change tagtype to isstandard
Change 'official' to 'standard' in UI
2016-02-02 17:31:14 +08:00
David Monllao
367cf39985 Merge branch 'MDL-52873-master-modgradeid' of git://github.com/mudrd8mz/moodle 2016-02-02 12:12:03 +08:00
David Mudrák
d84c64b7d6 MDL-52873 forms: Generate unique id attributes for modgrade elements
The previous method of generating the id attribute of the elements
within the modgrade group did not take the name of the modgrade field
into account. So if there were multiple fields of the modgrade type
added into a form (not a common case yet still valid), elements created
within the group were assigned same id attributes.

The patch introduces a new method for generating the id attribute of
modgrade elements. The new method takes the name of the modgrade group
into account and returns the id in the format similar to the default one
returned by HTML_QuickForm_element::_generateId().

The patch changes the generated id attribute. Apart from the
block_activity_results' behat feature files, not other places seem to
rely on the exact value.
2016-01-22 14:24:53 +01:00
Rushikesh
32f2116b08 MDL-29817 Form : advcheckbox allows attributes even without group key 2016-01-21 22:37:43 +05:30
Marina Glancy
c026a28d59 MDL-50851 core_tag: introduce tag collections 2016-01-10 15:25:43 +08:00
Marina Glancy
32fada5cb2 MDL-52081 forms: indicate usage of grandparent constructor 2015-12-10 13:38:04 +08:00
Marina Glancy
1a0df5535e MDL-52081 forms: Use __construct() for constructors 2015-12-10 13:38:01 +08:00