From f88b7c3c2be6fde3d02d7f1f88ffacfe89c45072 Mon Sep 17 00:00:00 2001 From: Sabina Talipova <87288324+sabina-talipova@users.noreply.github.com> Date: Mon, 12 Jun 2023 13:29:06 +1200 Subject: [PATCH] FIX Duplicate page keeps original pages canView and canEdit permission (#10806) --- src/Security/InheritedPermissionsExtension.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Security/InheritedPermissionsExtension.php b/src/Security/InheritedPermissionsExtension.php index 88f6c93a6..df069b5c6 100644 --- a/src/Security/InheritedPermissionsExtension.php +++ b/src/Security/InheritedPermissionsExtension.php @@ -15,18 +15,23 @@ use SilverStripe\ORM\ManyManyList; */ class InheritedPermissionsExtension extends DataExtension { - private static $db = [ + private static array $db = [ 'CanViewType' => "Enum('Anyone, LoggedInUsers, OnlyTheseUsers, Inherit', 'Inherit')", 'CanEditType' => "Enum('LoggedInUsers, OnlyTheseUsers, Inherit', 'Inherit')", ]; - private static $many_many = [ + private static array $many_many = [ 'ViewerGroups' => Group::class, 'EditorGroups' => Group::class, ]; - private static $defaults = [ + private static array $defaults = [ 'CanViewType' => InheritedPermissions::INHERIT, 'CanEditType' => InheritedPermissions::INHERIT, ]; + + private static array $cascade_duplicates = [ + 'ViewerGroups', + 'EditorGroups', + ]; }