From 87660a87aedba0b97fd9f53a7e432b2f7094b842 Mon Sep 17 00:00:00 2001 From: Michael Devery Date: Tue, 15 May 2018 12:13:54 +0100 Subject: [PATCH] dev/core#55 Hide option to delete option value for locked option group --- CRM/Core/BAO/CustomOption.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CRM/Core/BAO/CustomOption.php b/CRM/Core/BAO/CustomOption.php index 6cee5cf2eb..8a8a898b42 100644 --- a/CRM/Core/BAO/CustomOption.php +++ b/CRM/Core/BAO/CustomOption.php @@ -143,6 +143,18 @@ class CRM_Core_BAO_CustomOption { $class .= ' disabled'; $action -= CRM_Core_Action::DISABLE; } + + $isGroupLocked = (bool) CRM_Core_DAO::getFieldValue( + CRM_Core_DAO_OptionGroup::class, + $field->option_group_id, + 'is_locked' + ); + + // disable deletion of option values for locked option groups + if ($isGroupLocked) { + $action -= CRM_Core_Action::DELETE; + } + if (in_array($field->html_type, array('CheckBox', 'AdvMulti-Select', 'Multi-Select'))) { if (isset($defVal) && in_array($dao->value, $defVal)) { $options[$dao->id]['is_default'] = ''; -- 2.25.1