diff --git a/src/Controller/Admin/DataObject/DataObjectController.php b/src/Controller/Admin/DataObject/DataObjectController.php index 159ff190f..a5ba9b5a4 100644 --- a/src/Controller/Admin/DataObject/DataObjectController.php +++ b/src/Controller/Admin/DataObject/DataObjectController.php @@ -1880,7 +1880,8 @@ public function copyAction(Request $request): JsonResponse $target = DataObject::getById($targetId); } - if ($target->isAllowed('create')) { + $user = Tool\Admin::getCurrentUser(); + if ($target->isAllowed('create') && ($source instanceof DataObject\Concrete ? $user->isAllowed($source->getClassId(), 'class') : true)) { $source = DataObject::getById($sourceId); if ($source != null) { if ($source instanceof DataObject\Concrete && $latestVersion = $source->getLatestVersion()) {