Each CSS class passed in to `addExtraClass` or `removeExtraClass` will be set as their own key in the `extraClasses` array
Also make `Form` consistent with `FormField`
FF21 and IE10 seem to propagate the DOM attribute changes differently
from Chrome: The dimensions can't be set in the same setOptions()
call through jQuery UI here. Fixed this by a separate setOption() call.
See discussion at https://groups.google.com/forum/?fromgroups#!topic/silverstripe-dev/Dodomh9QZjk
Fixes an access issue where all public methods on FormField were allowed,
and not checked for $allowed_actions. Before this patch you could e.g.
call FormField->Value() on the first field by using action_Value.
Removes the following assertion because it only worked due to RequestHandlingTest_AllowedControllerExtension
*not* having $allowed_extensions declared: "Actions on magic methods are only accessible if explicitly allowed on the controller."
When a unit test being run by PHPUnit encountered a fatal error,
TestRunner::tearDown was never being called. This resulted in tmpdb schemas
littering the database from failed test runs. This changeset fixes the issue
by registering TestRunner::tearDown as a shutdown function, so that it gets
called even in the event of a PHP Fatal Error.
For instance, this happens when these criteria are met:
1) No casting has been specified for a method in $casting.
2) A template accesses the field without any casting
3) Any casts by the template will now yield an empty object.
After a brief look at the commit history, it can seem like this bug is several years old, unless it is a side-effect of other changes in the code.
== Steps to reproduce ==
Add two methods to be accessed by a template. Make sure you do not define an entry in $casting for them:
public function Testus() {
return "Te<x>t1";
}
public function Testus2() {
return "Te<x>t2";
}
Add this to a template:
<p>
First access:<br />
"$Testus" : "$Testus.XML"<br />
"$Testus2.XML" : "$Testus2"<br />
</p>
<p>
Second access:<br />
"$Testus" : "$Testus.XML"<br />
"$Testus2.XML" : "$Testus2"<br />
</p>
Open the page in a browser, and you will get:
First access:
"Tet1" : ""
"Te<x>t2" : "Tet2"
Second access:
"Tet1" : ""
"" : "Tet2"
We see that any cast can yield an empty string.
Remove all top/bottom margins from buttons and apply to GridFieldButtonRow component. Ensure that all buttons are added to a suitable GridFieldButtonRow in ModelAdmin, SecurityAdmin and Group.
The Email class was updating the SSViewer.source_file_comments value and not
resetting it. If someone had this value set to true in their system and then
used the Email class, it seems there would be an unintended side-effect of
having the source file comments turned off.