diff --git a/src/Controllers/LinkFieldController.php b/src/Controllers/LinkFieldController.php index 545e0bc0..754057a6 100644 --- a/src/Controllers/LinkFieldController.php +++ b/src/Controllers/LinkFieldController.php @@ -368,7 +368,7 @@ private function createLinkForm(Link $link, string $operation, bool $excludeLink // Make readonly if fail can check if ($operation === 'create' && !$link->canCreate() || $operation === 'edit' && !$link->canEdit() - || $this->getFieldIsReadonlyOrDisabled() + || $this->getFieldIsReadonlyOrDisabled($owner, $ownerRelation) || $this->getRequest()->getVar('inHistoryViewer') ) { $form->makeReadonly(); @@ -383,13 +383,10 @@ private function createLinkForm(Link $link, string $operation, bool $excludeLink /** * Get if the relevant LinkField is readonly or disabled */ - private function getFieldIsReadonlyOrDisabled(): bool + private function getFieldIsReadonlyOrDisabled(DataObject $owner, string $ownerRelation): bool { - $ownerClass = $this->getOwnerClassFromRequest(); - $ownerRelation = $this->getOwnerRelationFromRequest(); - /** @var LinkField|MultiLinkField $field */ - $field = Injector::inst()->get($ownerClass)->getCMSFields()->dataFieldByName($ownerRelation); + $field = $owner->getCMSFields()->dataFieldByName($ownerRelation); if (!$field) { return false; }