else {
//we should get contact type only if contact
if ($ufGroupId) {
- $data['contact_type'] = CRM_Core_BAO_UFField::getProfileType($ufGroupId);
+ $data['contact_type'] = CRM_Core_BAO_UFField::getProfileType($ufGroupId, TRUE, FALSE, TRUE);
//special case to handle profile with only contact fields
if ($data['contact_type'] == 'Contact') {
if ($contact->birth_date) {
$birthDate = CRM_Utils_Date::customFormat($contact->birth_date, '%Y%m%d');
if ($birthDate < date('Ymd')) {
- $age = CRM_Utils_Date::calculateAge($birthDate);
+ $deceasedDate = NULL;
+ if (!empty($contact->is_deceased) && !empty($contact->deceased_date)) {
+ $deceasedDate = $contact->deceased_date;
+ }
+ $age = CRM_Utils_Date::calculateAge($birthDate, $deceasedDate);
$values['age']['y'] = $age['years'] ?? NULL;
$values['age']['m'] = $age['months'] ?? NULL;
}
return CRM_Contribute_BAO_Contribution::contributionCount($contactId);
case 'membership':
- return CRM_Member_BAO_Membership::getContactMembershipCount($contactId, TRUE);
+ return CRM_Member_BAO_Membership::getContactMembershipCount((int) $contactId, TRUE);
case 'participant':
return CRM_Event_BAO_Participant::getContactParticipantCount($contactId);
}
// finally get menu item for -more- action widget.
+ while (!empty($contextMenu['moreActions'][$values['weight']])) {
+ // Quick & dirty way of handling 2 items with the same weight
+ // without clobbering one.
+ $values['weight']++;
+ }
$contextMenu['moreActions'][$values['weight']] = [
'title' => $values['title'],
'ref' => $values['ref'],
}
// finally get menu item for -more- action widget.
+ while (!empty($contextMenu['otherActions'][$value['weight']])) {
+ // Quick & dirty way of handling 2 items with the same weight
+ // without clobbering one.
+ $value['weight']++;
+ }
$contextMenu['otherActions'][$value['weight']] = [
'title' => $value['title'],
'ref' => $value['ref'],