From 9a4f958bd09ba7331fd816d2dbbcfd3f1dd5a4bf Mon Sep 17 00:00:00 2001 From: jitendrapurohit Date: Fri, 8 Jul 2016 12:40:33 +0530 Subject: [PATCH] Fix custom data display for money --- CRM/Core/BAO/CustomField.php | 2 +- .../CRM/Contact/Page/View/CustomDataFieldView.tpl | 2 ++ templates/CRM/Custom/Page/CustomDataView.tpl | 12 ++++++++++-- tests/phpunit/CRM/Core/BAO/CustomQueryTest.php | 7 +------ 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/CRM/Core/BAO/CustomField.php b/CRM/Core/BAO/CustomField.php index abebd93404..2f74319daa 100644 --- a/CRM/Core/BAO/CustomField.php +++ b/CRM/Core/BAO/CustomField.php @@ -1261,7 +1261,7 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField { if ($field['data_type'] == 'Money' && isset($value)) { //$value can also be an array(while using IN operator from search builder or api). foreach ((array) $value as $val) { - $disp[] = CRM_Utils_Money::format($val); + $disp[] = CRM_Utils_Money::format($val, NULL, NULL, TRUE); } $display = implode(', ', $disp); } diff --git a/templates/CRM/Contact/Page/View/CustomDataFieldView.tpl b/templates/CRM/Contact/Page/View/CustomDataFieldView.tpl index 1a88ff06f9..0e7afda38b 100644 --- a/templates/CRM/Contact/Page/View/CustomDataFieldView.tpl +++ b/templates/CRM/Contact/Page/View/CustomDataFieldView.tpl @@ -50,6 +50,8 @@ {elseif $element.field_data_type EQ 'Memo'}
{$element.field_value|nl2br}
+ {elseif $element.field_data_type EQ 'Money'} +
{$element.field_value|crmMoney}
{else}
{$element.field_value}
{/if} diff --git a/templates/CRM/Custom/Page/CustomDataView.tpl b/templates/CRM/Custom/Page/CustomDataView.tpl index e6bd2f01a6..8b0f9d3c7d 100644 --- a/templates/CRM/Custom/Page/CustomDataView.tpl +++ b/templates/CRM/Custom/Page/CustomDataView.tpl @@ -74,7 +74,11 @@ {else} {$element.field_title} {if $element.field_data_type == 'Money'} - {$element.field_value} + {if $element.field_type == 'Text'} + {$element.field_value|crmMoney} + {else} + {$element.field_value} + {/if} {else} {if $element.contact_ref_id} @@ -127,7 +131,11 @@ {else} {if $element.field_data_type == 'Money'} -
{if $element.field_value}{$element.field_value}{else}
{/if}
+ {if $element.field_type == 'Text'} +
{if $element.field_value}{$element.field_value|crmMoney}{else}
{/if}
+ {else} +
{if $element.field_value}{$element.field_value}{else}
{/if}
+ {/if} {else}
{if $element.contact_ref_id} diff --git a/tests/phpunit/CRM/Core/BAO/CustomQueryTest.php b/tests/phpunit/CRM/Core/BAO/CustomQueryTest.php index b738467ac3..26629efcaf 100644 --- a/tests/phpunit/CRM/Core/BAO/CustomQueryTest.php +++ b/tests/phpunit/CRM/Core/BAO/CustomQueryTest.php @@ -121,11 +121,6 @@ class CRM_Core_BAO_CustomQueryTest extends CiviUnitTestCase { "civicrm_value_testsearchcus_1." . strtolower($type) . "_field_{$customField['id']} BETWEEN \"$from\" AND \"$to\"", $queryObj->_where[0][0] ); - //CRM-18471 - display qill as '$ amount' for money - if ($type == 'Money') { - $from = "$ $from"; - $to = "$ $to"; - } $this->assertEquals($queryObj->_qill[0][0], "$type field BETWEEN $from, $to"); } } @@ -155,7 +150,7 @@ class CRM_Core_BAO_CustomQueryTest extends CiviUnitTestCase { $customFieldName = 'custom_' . $customField['id']; $expectedValue = ($isDate) ? '"20150606235959"' : (($type == 'Money') ? $data : "\"$data\""); - $expectedQillValue = ($isDate) ? "'June 6th, 2015 11:59 PM'" : (($type == 'Money') ? "$ $data" : $data); + $expectedQillValue = ($isDate) ? "'June 6th, 2015 11:59 PM'" : $data; // Assigning the relevant form value to be within a custom key is normally done in // build field params. It would be better if it were all done in convertFormValues -- 2.25.1