Fix custom data display for money
authorjitendrapurohit <jitendra.purohit@webaccessglobal.com>
Fri, 8 Jul 2016 07:10:33 +0000 (12:40 +0530)
committerjitendrapurohit <jitendra.purohit@webaccessglobal.com>
Fri, 8 Jul 2016 07:10:33 +0000 (12:40 +0530)
CRM/Core/BAO/CustomField.php
templates/CRM/Contact/Page/View/CustomDataFieldView.tpl
templates/CRM/Custom/Page/CustomDataView.tpl
tests/phpunit/CRM/Core/BAO/CustomQueryTest.php

index abebd93404451228a96cf7f1674d0e2534321e88..2f74319daa58c74178c86154a06fb518d61a5b35 100644 (file)
@@ -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);
         }
index 1a88ff06f997881332c1cbd71f62629b2b472507..0e7afda38bf39067e121637025cce54da6293300 100644 (file)
@@ -50,6 +50,8 @@
             </div>
           {elseif $element.field_data_type EQ 'Memo'}
             <div class="crm-content crm-custom-data">{$element.field_value|nl2br}</div>
+          {elseif $element.field_data_type EQ 'Money'}
+            <div class="crm-content crm-custom-data">{$element.field_value|crmMoney}</div>
           {else}
             <div class="crm-content crm-custom-data">{$element.field_value}</div>
           {/if}
index e6bd2f01a6b214387ef7537022b2a046fcee19c8..8b0f9d3c7d95548ed270c95c6ded798e24c16cec 100644 (file)
                     {else}
                       <td class="label">{$element.field_title}</td>
                       {if $element.field_data_type == 'Money'}
-                        <td class="html-adjust">{$element.field_value}</td>
+                        {if $element.field_type == 'Text'}
+                          <td class="html-adjust">{$element.field_value|crmMoney}</td>
+                        {else}
+                          <td class="html-adjust">{$element.field_value}</td>
+                        {/if}
                       {else}
                         <td class="html-adjust">
                           {if $element.contact_ref_id}
             </div>
           {else}
             {if $element.field_data_type == 'Money'}
-                <div class="content">{if $element.field_value}{$element.field_value}{else}<br/>{/if}</div>
+              {if $element.field_type == 'Text'}
+                 <div class="content">{if $element.field_value}{$element.field_value|crmMoney}{else}<br/>{/if}</div>
+              {else}
+                 <div class="content">{if $element.field_value}{$element.field_value}{else}<br/>{/if}</div>
+              {/if}
             {else}
               <div class="content">
                 {if $element.contact_ref_id}
index b738467ac3267f85d2019037463f8aa93adb60ad..26629efcaf26fcfa67326cd75e733888072f2da2 100644 (file)
@@ -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