Latest updates from IceHrmPro
This commit is contained in:
101
core/src/Employees/Admin/Api/EmployeeUtil.php
Normal file
101
core/src/Employees/Admin/Api/EmployeeUtil.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
namespace Employees\Admin\Api;
|
||||
|
||||
use Classes\BaseService;
|
||||
|
||||
class EmployeeUtil
|
||||
{
|
||||
public function getEmployeeDataField($employeeId, $startDate, $endDate, $field)
|
||||
{
|
||||
$employee = BaseService::getInstance()->getElement(
|
||||
'Employee',
|
||||
$employeeId,
|
||||
$this->getMapping(),
|
||||
true
|
||||
);
|
||||
return [
|
||||
'string',
|
||||
$employee->$field
|
||||
];
|
||||
}
|
||||
|
||||
public function getMapping()
|
||||
{
|
||||
$mapping = <<<JSON
|
||||
{
|
||||
"nationality":[
|
||||
"Nationality",
|
||||
"id",
|
||||
"name"
|
||||
],
|
||||
"ethnicity":[
|
||||
"Ethnicity",
|
||||
"id",
|
||||
"name"
|
||||
],
|
||||
"immigration_status":[
|
||||
"ImmigrationStatus",
|
||||
"id",
|
||||
"name"
|
||||
],
|
||||
"employment_status":[
|
||||
"EmploymentStatus",
|
||||
"id",
|
||||
"name"
|
||||
],
|
||||
"job_title":[
|
||||
"JobTitle",
|
||||
"id",
|
||||
"name"
|
||||
],
|
||||
"pay_grade":[
|
||||
"PayGrade",
|
||||
"id",
|
||||
"name"
|
||||
],
|
||||
"country":[
|
||||
"Country",
|
||||
"code",
|
||||
"name"
|
||||
],
|
||||
"province":[
|
||||
"Province",
|
||||
"id",
|
||||
"name"
|
||||
],
|
||||
"department":[
|
||||
"CompanyStructure",
|
||||
"id",
|
||||
"title"
|
||||
],
|
||||
"supervisor":[
|
||||
"Employee",
|
||||
"id",
|
||||
"first_name+last_name"
|
||||
],
|
||||
"indirect_supervisors":[
|
||||
"Employee",
|
||||
"id",
|
||||
"first_name+last_name"
|
||||
],
|
||||
"approver1":[
|
||||
"Employee",
|
||||
"id",
|
||||
"first_name+last_name"
|
||||
],
|
||||
"approver2":[
|
||||
"Employee",
|
||||
"id",
|
||||
"first_name+last_name"
|
||||
],
|
||||
"approver3":[
|
||||
"Employee",
|
||||
"id",
|
||||
"first_name+last_name"
|
||||
]
|
||||
}
|
||||
JSON;
|
||||
|
||||
return $mapping;
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ use Salary\Common\Model\EmployeeSalary;
|
||||
use TimeSheets\Common\Model\EmployeeTimeEntry;
|
||||
use TimeSheets\Common\Model\EmployeeTimeSheet;
|
||||
use Travel\Common\Model\EmployeeTravelRecord;
|
||||
use Utils\LogManager;
|
||||
|
||||
class EmployeesActionManager extends SubActionManager
|
||||
{
|
||||
@@ -63,7 +64,6 @@ class EmployeesActionManager extends SubActionManager
|
||||
|
||||
$employee->termination_date = null;
|
||||
$employee->status = 'Active';
|
||||
|
||||
$ok = $employee->Save();
|
||||
if (!$ok) {
|
||||
return new IceResponse(IceResponse::ERROR, "Error occurred while activating employee");
|
||||
@@ -113,7 +113,13 @@ class EmployeesActionManager extends SubActionManager
|
||||
|
||||
$data->timesheets = $this->getEmployeeData($employee->id, new EmployeeTimeSheet());
|
||||
$data->timesheetEntries = $this->getEmployeeData($employee->id, new EmployeeTimeEntry());
|
||||
$data->attendance = $this->getEmployeeData($employee->id, new Attendance());
|
||||
|
||||
$attendnace = $this->getEmployeeData($employee->id, new Attendance());
|
||||
$data->attendance = array_map(function ($item) {
|
||||
$item->image_in = '';
|
||||
$item->image_out = '';
|
||||
}, $attendnace);
|
||||
|
||||
if (class_exists('\Documents\Common\Model\EmployeeDocument')) {
|
||||
$data->documents = $this->getEmployeeData($employee->id, new \Documents\Common\Model\EmployeeDocument());
|
||||
}
|
||||
@@ -131,12 +137,14 @@ class EmployeesActionManager extends SubActionManager
|
||||
|
||||
$ok = $archived->Save();
|
||||
if (!$ok) {
|
||||
LogManager::getInstance()->error('Error occurred while archiving employee :'.$archived->ErrorMsg());
|
||||
return new IceResponse(IceResponse::ERROR, "Error occurred while archiving employee");
|
||||
}
|
||||
|
||||
|
||||
$ok = $employee->Delete();
|
||||
if (!$ok) {
|
||||
LogManager::getInstance()->error('Error occurred while deleting employee :'.$employee->ErrorMsg());
|
||||
return new IceResponse(IceResponse::ERROR, "Error occurred while deleting employee");
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
namespace Employees\Admin\Api;
|
||||
|
||||
use Classes\AbstractModuleManager;
|
||||
use Classes\Macaw;
|
||||
use Classes\UIManager;
|
||||
use Employees\Common\Model\Employee;
|
||||
use Employees\Rest\EmployeeRestEndPoint;
|
||||
@@ -26,32 +27,32 @@ class EmployeesAdminManager extends AbstractModuleManager
|
||||
|
||||
public function setupRestEndPoints()
|
||||
{
|
||||
\Classes\Macaw::get(REST_API_PATH.'employees/me', function () {
|
||||
Macaw::get(REST_API_PATH.'employees/me', function () {
|
||||
$empRestEndPoint = new EmployeeRestEndPoint();
|
||||
$empRestEndPoint->process('get', 'me');
|
||||
});
|
||||
|
||||
\Classes\Macaw::get(REST_API_PATH.'employees/(:num)', function ($pathParams) {
|
||||
Macaw::get(REST_API_PATH.'employees/(:num)', function ($pathParams) {
|
||||
$empRestEndPoint = new EmployeeRestEndPoint();
|
||||
$empRestEndPoint->process('get', $pathParams);
|
||||
});
|
||||
|
||||
\Classes\Macaw::get(REST_API_PATH.'employees', function () {
|
||||
Macaw::get(REST_API_PATH.'employees', function () {
|
||||
$empRestEndPoint = new EmployeeRestEndPoint();
|
||||
$empRestEndPoint->process('listAll');
|
||||
});
|
||||
|
||||
\Classes\Macaw::post(REST_API_PATH.'employees', function () {
|
||||
Macaw::post(REST_API_PATH.'employees', function () {
|
||||
$empRestEndPoint = new EmployeeRestEndPoint();
|
||||
$empRestEndPoint->process('post');
|
||||
});
|
||||
|
||||
\Classes\Macaw::put(REST_API_PATH.'employees/(:num)', function ($pathParams) {
|
||||
Macaw::put(REST_API_PATH.'employees/(:num)', function ($pathParams) {
|
||||
$empRestEndPoint = new EmployeeRestEndPoint();
|
||||
$empRestEndPoint->process('put', $pathParams);
|
||||
});
|
||||
|
||||
\Classes\Macaw::delete(REST_API_PATH.'employees/(:num)', function ($pathParams) {
|
||||
Macaw::delete(REST_API_PATH.'employees/(:num)', function ($pathParams) {
|
||||
$empRestEndPoint = new EmployeeRestEndPoint();
|
||||
$empRestEndPoint->process('delete', $pathParams);
|
||||
});
|
||||
@@ -86,16 +87,26 @@ class EmployeesAdminManager extends AbstractModuleManager
|
||||
public function initQuickAccessMenu()
|
||||
{
|
||||
UIManager::getInstance()->addQuickAccessMenuItem(
|
||||
"View Employees",
|
||||
"fa-users",
|
||||
CLIENT_BASE_URL."?g=admin&n=employees&m=admin_Employees",
|
||||
array("Admin","Manager")
|
||||
'View Employees',
|
||||
'fa-users',
|
||||
CLIENT_BASE_URL.'?g=admin&n=employees&m=admin_Employees',
|
||||
array('Admin','Manager')
|
||||
);
|
||||
UIManager::getInstance()->addQuickAccessMenuItem(
|
||||
"Add a New Employee",
|
||||
"fa-edit",
|
||||
CLIENT_BASE_URL."?g=admin&n=employees&m=admin_Employees&action=new",
|
||||
array("Admin")
|
||||
'Add a New Employee',
|
||||
'fa-edit',
|
||||
CLIENT_BASE_URL.'?g=admin&n=employees&m=admin_Employees&action=new',
|
||||
array('Admin')
|
||||
);
|
||||
}
|
||||
|
||||
public function initCalculationHooks()
|
||||
{
|
||||
$this->addCalculationHook(
|
||||
'EmployeeData_getFieldValue',
|
||||
'Get Employee Data',
|
||||
EmployeeUtil::class,
|
||||
'getEmployeeDataField'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user