/** * create() method (create and update modes) */ function testCreateGet() { $permissionIndividual1Id = Contact::createIndividual(); $permissionIndividual2Id = Contact::createIndividual(); $stages = array_keys(CRM_Core_OptionGroup::values('case_status', FALSE, FALSE, FALSE, " AND grouping = 'Vacancy'")); $params = array('position' => 'Senior Support Specialist', 'location' => 'Headquaters', 'salary' => '$110-$130k/yr', 'description' => 'Answer phone calls and emails from irate customers.', 'benefits' => 'Have a place to park', 'requirements' => 'Pro-actively looks to build cross discipline experience and increase knowledge.', 'stages' => $stages, 'application_profile' => CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', 'application_profile', 'id', 'name'), 'evaluation_profile' => CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', 'evaluation_profile', 'id', 'name'), 'status_id' => '4', 'start_date' => '20140425151100', 'end_date' => '20140426231100', 'permission' => array('manage Applicants', 'administer Vacancy'), 'permission_contact_id' => array($permissionIndividual1Id, $permissionIndividual2Id)); $vacancy = CRM_HRRecruitment_BAO_HRVacancy::create($params); $getValues = array(); $getParams = array('id' => $vacancy->id); CRM_HRRecruitment_BAO_HRVacancy::retrieve($getParams, $getValues); //stage array index always starts with 1 so in order to make changes in //$getValues['stages'] in order to just match the value $getValues['stages'] = array_values($getValues['stages']); $getValues['permission'] = array_values($getValues['permission']); $getValues['permission_contact_id'] = array_values($getValues['permission_contact_id']); //process date back to mysql format $getValues['start_date'] = CRM_Utils_Date::isoToMysql($getValues['start_date']); $getValues['end_date'] = CRM_Utils_Date::isoToMysql($getValues['end_date']); foreach ($params as $column => $value) { $this->assertEquals($params[$column], $getValues[$column], "Check for Job {$column}."); } }
/** * This function sets the default values for the form. For add/edit mode * the default values are retrieved from the database * * @access public * * @return void */ function setDefaultValues() { $defaults = array(); if ($this->_id) { $params['id'] = $this->_id; } else { $defaults['template_id'] = $params['id'] = CRM_Utils_Request::retrieve('template_id', 'Integer', $this); } if (!empty($params['id'])) { CRM_HRRecruitment_BAO_HRVacancy::retrieve($params, $defaults); //format vacancy start/end date if (!empty($defaults['start_date'])) { list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['start_date'], 'activityDateTime'); } if (!empty($defaults['end_date'])) { list($defaults['end_date'], $defaults['end_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['end_date'], 'activityDateTime'); } //show that only number of permission row(s) which have defaults if any if (!empty($defaults['permission']) && count($defaults['permission'])) { $this->assign('showPermissionRow', count($defaults['permission'])); } return $defaults; } foreach (array('application_profile', 'evaluation_profile') as $profileName) { if ($ufGroupID = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $profileName, 'id', 'name')) { $defaults[$profileName] = $ufGroupID; } } $defaults['status_id'] = CRM_Core_OptionGroup::getDefaultValue('vacancy_status'); return $defaults; }