mirror of
https://github.com/silverstripe/silverstripe-userforms.git
synced 2024-10-22 17:05:42 +02:00
fix(Reorder): Fix bug where 'Content Authors' can no longer re-order form fields due to how GridFieldOrderableRows checks canEdit() permissions.
fix(Reorder): Fix EditableFormField to fallback to current page editing permissions when reordering with GridFieldOrderableRows component. fix(Reorder): Check if record exists before calling 'hasExtension' check.
This commit is contained in:
parent
cf26631418
commit
08d173f24a
@ -365,6 +365,22 @@ class EditableFormField extends DataObject {
|
||||
$parent = $this->Parent();
|
||||
if($parent && $parent->exists()) {
|
||||
return $parent->canEdit($member) && !$this->isReadonly();
|
||||
} else if ($this->ID == 0) {
|
||||
// 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