/** * Get default user data for creating new users. * @return array */ function getUserDefaultData($tmp_company_id = NULL) { //Allow getting default data from other companies, so it makes it easier to create the first employee of a company. if ($tmp_company_id != '' and $tmp_company_id > 0 and $this->getPermissionObject()->Check('company', 'enabled') and $this->getPermissionObject()->Check('company', 'view')) { $company_id = $tmp_company_id; } else { $company_id = $this->getCurrentCompanyObject()->getId(); } Debug::Text('Getting user default data for Company ID: ' . $company_id . ' TMP Company ID: ' . $tmp_company_id, __FILE__, __LINE__, __METHOD__, 10); //Get New Hire Defaults. $udlf = TTnew('UserDefaultListFactory'); $udlf->getByCompanyId($company_id); if ($udlf->getRecordCount() > 0) { Debug::Text('Using User Defaults, as they exist...', __FILE__, __LINE__, __METHOD__, 10); $udf_obj = $udlf->getCurrent(); $data = array('company_id' => $company_id, 'status_id' => 10, 'title_id' => $udf_obj->getTitle(), 'employee_number' => UserFactory::getNextAvailableEmployeeNumber($company_id), 'city' => $udf_obj->getCity(), 'country' => $udf_obj->getCountry(), 'province' => $udf_obj->getProvince(), 'work_phone' => $udf_obj->getWorkPhone(), 'work_phone_ext' => $udf_obj->getWorkPhoneExt(), 'work_email' => $udf_obj->getWorkEmail(), 'hire_date' => TTDate::getAPIDate('DATE', $udf_obj->getHireDate()), 'sex_id' => 5, 'default_branch_id' => $udf_obj->getDefaultBranch(), 'default_department_id' => $udf_obj->getDefaultDepartment(), 'permission_control_id' => $udf_obj->getPermissionControl(), 'pay_period_schedule_id' => $udf_obj->getPayPeriodSchedule(), 'policy_group_id' => $udf_obj->getPolicyGroup(), 'currency_id' => $udf_obj->getCurrency()); } if (!isset($data['company_id'])) { $data['company_id'] = $company_id; } if (!isset($data['country'])) { $data['country'] = 'US'; } $ulf = TTnew('UserListFactory'); $ulf->getHighestEmployeeNumberByCompanyId($company_id); if ($ulf->getRecordCount() > 0) { Debug::Text('Highest Employee Number: ' . $ulf->getCurrent()->getEmployeeNumber(), __FILE__, __LINE__, __METHOD__, 10); if (is_numeric($ulf->getCurrent()->getEmployeeNumber()) == TRUE) { $data['next_available_employee_number'] = $ulf->getCurrent()->getEmployeeNumber() + 1; } else { Debug::Text('Highest Employee Number is not an integer.', __FILE__, __LINE__, __METHOD__, 10); $data['next_available_employee_number'] = NULL; } } else { $data['next_available_employee_number'] = 1; } if (!isset($data['hire_date']) or $data['hire_date'] == '') { $data['hire_date'] = TTDate::getAPIDate('DATE', time()); } return $this->returnHandler($data); }