'image_url' => $others['imageUrl'] ?? NULL,
'edit_url' => $others['editUrl'] ?? NULL,
'delete_url' => $others['deleteUrl'] ?? NULL,
+ 'icon' => $others['icon'] ?? self::getIcon($type, $others['subtype'] ?? NULL),
]
);
$session->set(self::STORE_NAME, self::$_recent);
}
+ /**
+ * @param $type
+ * @param $subType
+ * @return string|null
+ */
+ private static function getIcon($type, $subType) {
+ $icon = NULL;
+ $contactTypes = CRM_Contact_BAO_ContactType::getAllContactTypes();
+ if (!empty($contactTypes[$type])) {
+ // Pick icon from contact sub-type first if available, then contact type
+ $subTypesAndType = array_merge((array) CRM_Utils_Array::explodePadded($subType), [$type]);
+ foreach ($subTypesAndType as $contactType) {
+ $icon = $icon ?? $contactTypes[$contactType]['icon'] ?? NULL;
+ }
+ // If no contact type icon, proceed to lookup icon from dao
+ $type = 'Contact';
+ }
+ if (!$icon) {
+ $daoClass = CRM_Core_DAO_AllCoreTables::getFullName($type);
+ if ($daoClass) {
+ $icon = $daoClass::$_icon;
+ }
+ }
+ return $icon ?: 'fa-gear';
+ }
+
/**
* Callback for hook_civicrm_post().
* @param \Civi\Core\Event\PostEvent $event
{if $item.image_url}
<span class="icon crm-icon {if $item.subtype}{$item.subtype}{else}{$item.type}{/if}-icon" style="background: url('{$item.image_url}')"></span>
{else}
- <span class="icon crm-icon {$item.type}{if $item.subtype}-subtype{/if}-icon"></span>
+ <i class="crm-i fa-fw {$item.icon}"></i>
{/if}
{if $item.isDeleted}<del>{/if}{$item.title}{if $item.isDeleted}</del>{/if}
</a>
$this->assertEquals([
[
'contact_id' => '3',
- 'contact_type' => '<a href="/index.php?q=civicrm/contact/view&reset=1&cid=3" data-tooltip-url="/index.php?q=civicrm/profile/view&reset=1&gid=7&id=3&snippet=4&is_show_email_task=1" class="crm-summary-link"><div class="icon crm-icon Individual-icon"></div></a>',
+ 'contact_type' => '<a href="/index.php?q=civicrm/contact/view&reset=1&cid=3" data-tooltip-url="/index.php?q=civicrm/profile/view&reset=1&gid=7&id=3&snippet=4&is_show_email_task=1" class="crm-summary-link"><i class="crm-i fa-fw fa-user" title=""></i></a>',
'sort_name' => 'Anderson, Anthony',
'display_name' => 'Mr. Anthony Anderson II',
'activity_id' => '1',
$_REQUEST['return'] = TRUE;
$json = CRM_Financial_Page_AJAX::getFinancialTransactionsList();
$json = str_replace(rtrim(CIVICRM_UF_BASEURL, '/'), 'http://FIX ME', $json);
- $this->assertEquals('{"sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "aaData": [ ["","<a href=\"/index.php?q=civicrm/contact/view&reset=1&cid=3\" data-tooltip-url=\"/index.php?q=civicrm/profile/view&reset=1&gid=7&id=3&snippet=4&is_show_email_task=1\" class=\"crm-summary-link\"><div'
- . ' class=\"icon crm-icon Individual-icon\"></div></a>","<a href=/index.php?q=civicrm/contact/view&reset=1&cid=3>Anderson, Anthony</a>","$100.00","12345","' . CRM_Utils_Date::customFormat(date('Ymd')) . ' 12:00 AM","' . CRM_Utils_Date::customFormat(date('Ymd')) . ' 12:00 AM",'
+ $this->assertEquals('{"sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "aaData": [ ["","<a href=\"/index.php?q=civicrm/contact/view&reset=1&cid=3\" data-tooltip-url=\"/index.php?q=civicrm/profile/view&reset=1&gid=7&id=3&snippet=4&is_show_email_task=1\" class=\"crm-summary-link\">'
+ . '<i class=\"crm-i fa-fw fa-user\" title=\"\"></i></a>","<a href=/index.php?q=civicrm/contact/view&reset=1&cid=3>Anderson, Anthony</a>","$100.00","12345","' . CRM_Utils_Date::customFormat(date('Ymd')) . ' 12:00 AM","' . CRM_Utils_Date::customFormat(date('Ymd')) . ' 12:00 AM",'
. '"Credit Card","Completed","Donation","<span><a href=\"/index.php?q=civicrm/contact/view/contribution&reset=1&id=1&cid=3&action=view&context=contribution&'
. 'selectedChild=contribute\" class=\"action-item crm-hover-button\" title=\'View Contribution\' >View</a></span>"]] }', $json);
}
$_REQUEST['return'] = TRUE;
$json = CRM_Financial_Page_AJAX::getFinancialTransactionsList();
$json = str_replace(rtrim(CIVICRM_UF_BASEURL, '/'), 'http://FIX ME', $json);
- $this->assertEquals('{"sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "aaData": [ ["<input type=\'checkbox\' id=\'mark_x_2\' name=\'mark_x_2\' value=\'1\' onclick=enableActions(\'x\')></input>","<a href=\"/index.php?q=civicrm/contact/view&reset=1&cid=3\" data-tooltip-url=\"/index.php?q=civicrm/profile/view&reset=1&gid=7&id=3&snippet=4&is_show_email_task=1\" class=\"crm-summary-link\"><div'
- . ' class=\"icon crm-icon Individual-icon\"></div></a>","<a href=/index.php?q=civicrm/contact/view&reset=1&cid=3>Anderson, Anthony</a>","$5.00","12345","' . CRM_Utils_Date::customFormat(date('Ymd')) . ' 12:00 AM","' . CRM_Utils_Date::customFormat(date('Ymd')) . ' 12:00 AM",'
+ $this->assertEquals('{"sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "aaData": [ ["<input type=\'checkbox\' id=\'mark_x_2\' name=\'mark_x_2\' value=\'1\' onclick=enableActions(\'x\')></input>","<a href=\"/index.php?q=civicrm/contact/view&reset=1&cid=3\" data-tooltip-url=\"/index.php?q=civicrm/profile/view&reset=1&gid=7&id=3&snippet=4&is_show_email_task=1\" class=\"crm-summary-link\">'
+ . '<i class=\"crm-i fa-fw fa-user\" title=\"\"></i></a>","<a href=/index.php?q=civicrm/contact/view&reset=1&cid=3>Anderson, Anthony</a>","$5.00","12345","' . CRM_Utils_Date::customFormat(date('Ymd')) . ' 12:00 AM","' . CRM_Utils_Date::customFormat(date('Ymd')) . ' 12:00 AM",'
. '"Credit Card","Completed","Donation","<span><a href=\"/index.php?q=civicrm/contact/view/contribution&reset=1&id=1&cid=3&action=view&context=contribution&'
. 'selectedChild=contribute\" class=\"action-item crm-hover-button\" title=\'View Contribution\' >View</a><a href=\"#\" class=\"action-item crm-hover-button disable-action\" title=\'Assign Transaction\' onclick = \"assignRemove( 2,\'assign\' );\">Assign</a></span>"]] }', $json);
}
$this->assertEquals([
'contact_id' => $this->_contactID,
'membership_id' => $membershipID,
- 'contact_type' => '<a href="/index.php?q=civicrm/contact/view&reset=1&cid=' . $this->_contactID . '" data-tooltip-url="/index.php?q=civicrm/profile/view&reset=1&gid=7&id=' . $this->_contactID . '&snippet=4&is_show_email_task=1" class="crm-summary-link"><div class="icon crm-icon Individual-icon"></div></a>',
+ 'contact_type' => '<a href="/index.php?q=civicrm/contact/view&reset=1&cid=' . $this->_contactID . '" data-tooltip-url="/index.php?q=civicrm/profile/view&reset=1&gid=7&id=' . $this->_contactID . '&snippet=4&is_show_email_task=1" class="crm-summary-link"><i class="crm-i fa-fw fa-user" title=""></i></a>',
'sort_name' => 'Anderson, Anthony',
'membership_type' => 'General',
'membership_join_date' => date('Y-m-d'),
'pledge_status_name' => 'Pending Label**',
'checkbox' => 'mark_x_1',
'action' => '<span><a href="/index.php?q=civicrm/contact/view/pledge&reset=1&id=1&cid=3&action=view&context=search&selectedChild=pledge&key=' . $qfKey . '" class="action-item crm-hover-button" title=' . "'" . 'View Pledge' . "'" . ' >View</a><a href="/index.php?q=civicrm/contact/view/pledge&reset=1&action=update&id=1&cid=3&context=search&key=' . $qfKey . '" class="action-item crm-hover-button" title=' . "'" . 'Edit Pledge' . "'" . ' >Edit</a></span><span class=' . "'" . 'btn-slide crm-hover-button' . "'" . '>more<ul class=' . "'" . 'panel' . "'" . '><li><a href="/index.php?q=civicrm/contact/view/pledge&reset=1&action=detach&id=1&cid=3&context=search&key=' . $qfKey . '" class="action-item crm-hover-button" title=' . "'" . 'Cancel Pledge' . "'" . ' onclick = "return confirm(' . "'" . 'Cancelling this pledge will also cancel any scheduled (and not completed) pledge payments. This action cannot be undone. Do you want to continue?' . "'" . ');">Cancel</a></li><li><a href="/index.php?q=civicrm/contact/view/pledge&reset=1&action=delete&id=1&cid=3&context=search&key=' . $qfKey . '" class="action-item crm-hover-button small-popup" title=' . "'" . 'Delete Pledge' . "'" . ' >Delete</a></li></ul></span>',
- 'contact_type' => '<a href="/index.php?q=civicrm/contact/view&reset=1&cid=3" data-tooltip-url="/index.php?q=civicrm/profile/view&reset=1&gid=7&id=3&snippet=4&is_show_email_task=1" class="crm-summary-link"><div class="icon crm-icon Individual-icon"></div></a>',
+ 'contact_type' => '<a href="/index.php?q=civicrm/contact/view&reset=1&cid=3" data-tooltip-url="/index.php?q=civicrm/profile/view&reset=1&gid=7&id=3&snippet=4&is_show_email_task=1" class="crm-summary-link"><i class="crm-i fa-fw fa-user" title=""></i></a>',
], $rows[0]);
}