The call to LeftAndMain::Link() was appending the Action as opposed to passing it as a parameter
This resulted in the double forward slash (/),
There is still possibly an unresolved issue with LeftAndMain::Link() about appending the slash at the end??
This updates Silverstripe 2.4.x's AssetAdmin to obey per-file/folder permissions.
NOTE: I noticed that Silverstripe 3's AssetAdmin checks a canAddChildren() function. This patch doesn't use that, as I'm assuming that this is new in SS 3. If this is not the case, then this patch will have to be updated.
At the moment, the only way to get results from the search form is to click "Clear" before adding any criteria, or the search form returns zero results. This is due to the difference between CMSMain#SiteTreeFilterPageTypeField which uses 'Any' as the default value for any classname, while CMSSiteTreeFilter#pagesIncluded expects 'All'. Regression introduced in 9e5af18b5c
This was only updated when the 'Create' page options was open, so if you selected a different page and then clicked the 'Create' button it would have the original options
The 'Back', 'Delete' and 'Save' buttons on the Admin panel don't appear if you go straight into a DataObject item,
You needed to click 'Search' first, this added an extra item to the history array, have changed the condition for the number of items in this array before the buttons appear, now only 1 item needs to be in the Array
Moved to end of requirements, to work around a bug in composer - see https://github.com/composer/composer/issues/1147. This caused the dependencies to be installed in the wrong folder because the custom 'silverstripe-module' instructions hadn't been loaded at the time the core modules were installed via composer.
Moved to end of requirements, to work around a bug in composer - see https://github.com/composer/composer/issues/1147. This caused the dependencies to be installed in the wrong folder because the custom 'silverstripe-module' instructions hadn't been loaded at the time the core modules were installed via composer.
This removes the need for a lot of boilerplate code
around DataObject->write() logic, and avoids generic 500 errors
on user-level failures. This should really be a per-project choice,
but at the moment request handling doesn't allow to configure
custom exception handling.