mirror of
https://github.com/silverstripe/silverstripe-userforms.git
synced 2024-10-22 17:05:42 +02:00
Merge pull request #478 from SilbinaryWolf/fix-reorderissue
fix(Reorder): Fix bug where 'Content Authors' can no longer re-order form fields due to how GridFieldOrderableRows checks canEdit() permissions.
This commit is contained in:
commit
931753bbca
@ -370,6 +370,22 @@ class EditableFormField extends DataObject {
|
||||
$parent = $this->Parent();
|
||||
if($parent && $parent->exists()) {
|
||||
return $parent->canEdit($member) && !$this->isReadonly();
|
||||
} else if (!$this->exists() && Controller::has_curr()) {
|
||||
// This is for GridFieldOrderableRows support as it checks edit permissions on
|
||||
// singleton of the class. Allows editing of User Defined Form pages by
|
||||
// 'Content Authors' and those with permission to edit the UDF page. (ie. CanEditType/EditorGroups)
|
||||
// This is to restore User Forms 2.x backwards compatibility.
|
||||
$controller = Controller::curr();
|
||||
if ($controller && $controller instanceof CMSPageEditController)
|
||||
{
|
||||
$parent = $controller->getRecord($controller->currentPageID());
|
||||
// Only allow this behaviour on pages using UserFormFieldEditorExtension, such
|
||||
// as UserDefinedForm page type.
|
||||
if ($parent && $parent->hasExtension('UserFormFieldEditorExtension'))
|
||||
{
|
||||
return $parent->canEdit($member);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback to secure admin permissions
|
||||
|
Loading…
Reference in New Issue
Block a user