/** * Given the list of params in the params array, fetch the object * and store the values in the values array * * @param array $params input parameters to find object * @param array $values output values of the object * * @return CRM_HRRecruitment_DAO_HRVacancy|null the found object or null * @access public * @static */ static function retrieve(&$params, &$defaults) { $vacancy = new self(); $vacancy->copyValues($params); if ($vacancy->find(TRUE)) { CRM_Core_DAO::storeValues($vacancy, $defaults); $stage = new CRM_HRRecruitment_DAO_HRVacancyStage(); $stage->vacancy_id = $vacancy->id; $stage->find(); while ($stage->fetch()) { $defaults['stages'][$stage->weight] = $stage->case_status_id; } $permission = new CRM_HRRecruitment_DAO_HRVacancyPermission(); $permission->vacancy_id = $vacancy->id; $permission->find(); $count = 1; while ($permission->fetch()) { $defaults['permission'][$count] = $permission->permission; $defaults['permission_contact_id'][$count] = $permission->contact_id; $count++; } foreach (array('application_profile', 'evaluation_profile') as $profileName) { $ufJoin = new CRM_Core_DAO_UFJoin(); $ufJoin->module = 'Vacancy'; $ufJoin->entity_id = $vacancy->id; $ufJoin->module_data = $profileName; $ufJoin->find(TRUE); $defaults[$profileName] = $ufJoin->uf_group_id; } } }
/** * Retreive contact ID having specific permission from particular vacancy ID * * @param int $vacancyID vacancy ID * @param String $permissionName * * @return array found contact IDs for specified permission name * @access public */ public static function getPermissionContact($vacancyID, $permissionName) { $permissionContactId = array(); if ($permissionName) { $permissiondao = new CRM_HRRecruitment_DAO_HRVacancyPermission(); $permissiondao->vacancy_id = $vacancyID; $permissiondao->permission = $permissionName; $permissiondao->find(); while ($permissiondao->fetch()) { $permissionContactId[] = $permissiondao->contact_id; } } return $permissionContactId; }