Exemple #1
0
/**
 * Implementation of hook_civicrm_tabs
 */
function hrabsence_civicrm_tabs(&$tabs, $contactID)
{
    $contactType = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $contactID, 'contact_type', 'id');
    if (!($contactType == 'Individual' && CRM_HRAbsence_Page_EmployeeAbsencePage::checkPermissions($contactID, 'viewWidget'))) {
        return;
    }
    $absence = civicrm_api3('Activity', 'getabsences', array('target_contact_id' => $contactID));
    $absenceDuration = 0;
    foreach ($absence['values'] as $k => $v) {
        $absenceDuration += CRM_HRAbsence_BAO_HRAbsenceType::getAbsenceDuration($v['id']);
    }
    CRM_HRAbsence_Page_EmployeeAbsencePage::registerResources($contactID);
    $tabs[] = array('id' => 'absenceTab', 'url' => CRM_Utils_System::url('civicrm/absences', array('cid' => $contactID, 'snippet' => 1)), 'count' => $absenceDuration / (8 * 60), 'title' => ts('Absences'), 'weight' => 300);
}