From ac6088e9c6ab22dcef09738695bde87e6ef347aa Mon Sep 17 00:00:00 2001 From: "juergen.fassmann" <juergen.fassmann@hardwarewartung.com> Date: Tue, 29 Oct 2024 12:33:55 +0100 Subject: [PATCH] Fix #1935 8.3: Default value not set/used when using 0 as default value --- layouts/v7/modules/Settings/LayoutEditor/FieldsList.tpl | 4 ++-- modules/Inventory/models/EditRecordStructure.php | 2 +- modules/Settings/LayoutEditor/models/Field.php | 2 +- modules/Vtiger/models/EditRecordStructure.php | 2 +- modules/Vtiger/models/Field.php | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/layouts/v7/modules/Settings/LayoutEditor/FieldsList.tpl b/layouts/v7/modules/Settings/LayoutEditor/FieldsList.tpl index d6ee0f10f..415f2d7dd 100644 --- a/layouts/v7/modules/Settings/LayoutEditor/FieldsList.tpl +++ b/layouts/v7/modules/Settings/LayoutEditor/FieldsList.tpl @@ -167,7 +167,7 @@ <div class="defaultValue col-sm-12 {if !$FIELD_MODEL->hasDefaultValue()}disabled{/if} {if $FIELD_MODEL->isDefaultValueOptionDisabled()} cursorPointerNotAllowed {/if}"> {assign var=DEFAULT_VALUE value=$FIELD_MODEL->getDefaultFieldValueToViewInV7FieldsLayOut()} - {if $DEFAULT_VALUE} + {if isset($DEFAULT_VALUE) && $DEFAULT_VALUE !== ''} {if is_array($DEFAULT_VALUE)} {foreach key=DEFAULT_FIELD_NAME item=DEFAULT_FIELD_VALUE from=$DEFAULT_VALUE} <div class="row"> @@ -341,7 +341,7 @@ <div class="defaultValue col-sm-12 {if !$FIELD_MODEL->hasDefaultValue()}disabled{/if} {if $FIELD_MODEL->isDefaultValueOptionDisabled()} cursorPointerNotAllowed {/if}"> {assign var=DEFAULT_VALUE value=$FIELD_MODEL->getDefaultFieldValueToViewInV7FieldsLayOut()} - {if $DEFAULT_VALUE} + {if isset($DEFAULT_VALUE) && $DEFAULT_VALUE !== ''} {if is_array($DEFAULT_VALUE)} {foreach key=DEFAULT_FIELD_NAME item=DEFAULT_FIELD_VALUE from=$DEFAULT_VALUE} <div class="row defaultValueContent"> diff --git a/modules/Inventory/models/EditRecordStructure.php b/modules/Inventory/models/EditRecordStructure.php index 31cb9d31c..4ae490f02 100644 --- a/modules/Inventory/models/EditRecordStructure.php +++ b/modules/Inventory/models/EditRecordStructure.php @@ -40,7 +40,7 @@ class Inventory_EditRecordStructure_Model extends Vtiger_EditRecordStructure_Mod $fieldValue = $recordModel->getInventoryTermsAndConditions(); } else if($fieldValue == '') { $defaultValue = $fieldModel->getDefaultFieldValue(); - if(!empty($defaultValue) && !$recordId) + if(isset($defaultValue) && $defaultValue !== '' && !$recordId) $fieldValue = $defaultValue; } $fieldModel->set('fieldvalue', $fieldValue); diff --git a/modules/Settings/LayoutEditor/models/Field.php b/modules/Settings/LayoutEditor/models/Field.php index 554b4b7e2..b3d7bf7ab 100644 --- a/modules/Settings/LayoutEditor/models/Field.php +++ b/modules/Settings/LayoutEditor/models/Field.php @@ -438,7 +438,7 @@ class Settings_LayoutEditor_Field_Model extends Vtiger_Field_Model { public function getDefaultFieldValueToViewInV7FieldsLayOut() { $defaultValue = $this->getDefaultFieldValue(); - if ($defaultValue) { + if (isset($defaultValue) && $defaultValue !== '') { if ($this->getFieldDataType() == 'currency') { //The argument for $skipformatting parameter is passed false to get value with user preference. $defaultValue = $this->getCurrencyDisplayValue($defaultValue, false); diff --git a/modules/Vtiger/models/EditRecordStructure.php b/modules/Vtiger/models/EditRecordStructure.php index c72069e38..810792a39 100644 --- a/modules/Vtiger/models/EditRecordStructure.php +++ b/modules/Vtiger/models/EditRecordStructure.php @@ -37,7 +37,7 @@ class Vtiger_EditRecordStructure_Model extends Vtiger_RecordStructure_Model { $fieldModel->set('fieldvalue', $recordModel->get($fieldName)); }else{ $defaultValue = $fieldModel->getDefaultFieldValue(); - if(!empty($defaultValue) && !$recordId) + if(isset($defaultValue) && $defaultValue !== '' && !$recordId) $fieldModel->set('fieldvalue', $defaultValue); } $values[$blockLabel][$fieldName] = $fieldModel; diff --git a/modules/Vtiger/models/Field.php b/modules/Vtiger/models/Field.php index 863bc0cc8..bea03b484 100644 --- a/modules/Vtiger/models/Field.php +++ b/modules/Vtiger/models/Field.php @@ -1348,7 +1348,7 @@ class Vtiger_Field_Model extends Vtiger_Field { } public function hasDefaultValue() { - return !$this->defaultvalue || trim($this->defaultvalue) == '' ? false : true; + return isset($this->defaultvalue) && trim($this->defaultvalue) !== ''; } public function isActiveField() { -- GitLab