示例#1
0
 /**
  * Get a list of all interesting options
  *
  * @return array e.g. $fieldOptions[$entityName][$fieldName] contains key-value options
  */
 public static function getFieldOptions()
 {
     $fields = array('HRJobContractRevision' => array('hrjc_revision_change_reason' => 'change_reason'), 'HRJobDetails' => array("contract_type", "level_type", "location", 'notice_unit', 'notice_unit_employee', 'department'), 'HRJobHour' => array('hours_type', 'hours_unit'), 'HRJobPay' => array('is_paid', 'pay_unit', 'pay_currency', 'pay_cycle'), 'HRJobPension' => array('pension_type'), 'HRJobHealth' => array('provider', 'plan_type', 'provider_life_insurance', 'plan_type_life_insurance'), 'HRJobRole' => array('location', 'department', 'level_type', 'role_hours_unit', 'region'));
     $fieldOptions = array();
     foreach ($fields as $entityName => $fieldNames) {
         foreach ($fieldNames as $fieldName) {
             $fieldOptions[$entityName][$fieldName] = CRM_Core_PseudoConstant::get("CRM_Hrjobcontract_DAO_{$entityName}", $fieldName);
         }
     }
     $absenceTypeResult = civicrm_api3('HRAbsenceType', 'get', array('sequential' => 1, 'return' => 'id,title'));
     foreach ($absenceTypeResult['values'] as $value) {
         $fieldOptions['HRJobLeave']['leave_type'][$value['id']] = $value['title'];
     }
     $fieldOptions['HRJobPay']['benefit_name'] = CRM_Hrjobcontract_Page_JobContractTab::getCustomOptions('hrjc_benefit_name');
     $fieldOptions['HRJobPay']['benefit_type'] = CRM_Hrjobcontract_Page_JobContractTab::getCustomOptions('hrjc_benefit_type');
     $fieldOptions['HRJobPay']['deduction_name'] = CRM_Hrjobcontract_Page_JobContractTab::getCustomOptions('hrjc_deduction_name');
     $fieldOptions['HRJobPay']['deduction_type'] = CRM_Hrjobcontract_Page_JobContractTab::getCustomOptions('hrjc_deduction_type');
     return $fieldOptions;
 }