Latest updates from IceHrmPro

This commit is contained in:
Thilina Pituwala
2020-05-20 18:47:29 +02:00
parent 60c92d7935
commit 7453a58aad
18012 changed files with 2089245 additions and 10173 deletions

View 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;
}
}

View File

@@ -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");
}

View File

@@ -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'
);
}
}