Fix display of custom data in cases
authorDominic Tubach <tubach@systopia.de>
Thu, 26 Jan 2023 12:08:52 +0000 (13:08 +0100)
committerDominic Tubach <tubach@systopia.de>
Thu, 26 Jan 2023 12:08:52 +0000 (13:08 +0100)
templates/CRM/Case/Page/CustomDataView.tpl

index 9112396e4d7972bc5d7f5c464e28218816c5faf9..05f6a622ec3a70af0e1255964ce1084703de9396 100644 (file)
       {$cd_edit.title}
     </div>
     <div class="crm-accordion-body">
-      {foreach from=$cd_edit.fields item=element key=field_id}
+      {if !empty($cd_edit.fields)}
         <table class="crm-info-panel">
-          <tr>
-            {if $element.options_per_line != 0}
+          {foreach from=$cd_edit.fields item=element key=field_id}
+            <tr>
               <td class="label">{$element.field_title}</td>
               <td class="html-adjust">
-              {* sort by fails for option per line. Added a variable to iterate through the element array*}
-                {if $element.field_data_type EQ 'ContactReference' && $element.contact_ref_links}
-                  {', '|implode:$element.contact_ref_links}
-                {else}
+                {if $element.options_per_line != 0}
+                  {* sort by fails for option per line. Added a variable to iterate through the element array*}
                   {foreach from=$element.field_value item=val}
                     {$val}<br/>
                   {/foreach}
+                {elseif $element.field_data_type == 'Memo'}
+                  {$element.field_value|nl2br}
+                {elseif $element.field_data_type == 'Money' && $element.field_type == 'Text'}
+                  {$element.data|crmMoney}
+                {elseif $element.field_data_type == 'ContactReference' && $element.contact_ref_links}
+                  {', '|implode:$element.contact_ref_links}
+                {else}
+                  {$element.field_value}
                 {/if}
               </td>
-              {else}
-                <td class="label">{$element.field_title}</td>
-                <td class="html-adjust">
-                  {if $element.field_data_type EQ 'ContactReference' && $element.contact_ref_links}
-                    {', '|implode:$element.contact_ref_links}
-                  {elseif $element.field_data_type == 'Money'}
-                    {$element.field_value|crmMoney}
-                  {else}
-                    {$element.field_value}
-                  {/if}
-                </td>
-            {/if}
-          </tr>
+            </tr>
+          {/foreach}
         </table>
-      {/foreach}
+      {/if}
       <div>
         {crmButton p="civicrm/case/cd/edit" q="cgcount=1&action=update&reset=1&type=Case&entityID=$caseID&groupID=$customGroupId&cid=$contactID&subType=$caseTypeID" icon="pencil"}{ts}Edit{/ts}{/crmButton}
       </div>
@@ -57,3 +52,4 @@
   {/foreach}
 {/foreach}
 <div id="case_custom_edit"></div>
+