Refactor project structure
This commit is contained in:
62
core/src/Dashboard/Admin/Api/DashboardActionManager.php
Normal file
62
core/src/Dashboard/Admin/Api/DashboardActionManager.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
namespace Dashboard\Admin\Api;
|
||||
|
||||
use Attendance\Common\Model\Attendance;
|
||||
use Candidates\Common\Model\Candidate;
|
||||
use Classes\IceResponse;
|
||||
use Classes\SubActionManager;
|
||||
use Company\Common\Model\CompanyStructure;
|
||||
use Employees\Common\Model\Employee;
|
||||
use JobPositions\Common\Model\Job;
|
||||
use Leaves\Common\Model\EmployeeLeave;
|
||||
use Projects\Common\Model\Project;
|
||||
use TimeSheets\Common\Model\EmployeeTimeEntry;
|
||||
use Training\Common\Model\Course;
|
||||
use Users\Common\Model\User;
|
||||
|
||||
class DashboardActionManager extends SubActionManager
|
||||
{
|
||||
|
||||
public function getInitData($req)
|
||||
{
|
||||
$data = array();
|
||||
$employees = new Employee();
|
||||
$data['numberOfEmployees'] = $employees->Count("1 = 1");
|
||||
|
||||
$company = new CompanyStructure();
|
||||
$data['numberOfCompanyStuctures'] = $company->Count("1 = 1");
|
||||
|
||||
$user = new User();
|
||||
$data['numberOfUsers'] = $user->Count("1 = 1");
|
||||
|
||||
$project = new Project();
|
||||
$data['numberOfProjects'] = $project->Count("status = 'Active'");
|
||||
|
||||
$attendance = new Attendance();
|
||||
$data['numberOfAttendanceLastWeek'] = $attendance->Count(
|
||||
"in_time > '".date("Y-m-d H:i:s", strtotime("-1 week"))."'"
|
||||
);
|
||||
if (empty($data['numberOfAttendanceLastWeek'])) {
|
||||
$data['numberOfAttendanceLastWeek'] = 0;
|
||||
}
|
||||
|
||||
$empLeave = new EmployeeLeave();
|
||||
$data['numberOfLeaves'] = $empLeave->Count("date_start > '".date("Y-m-d")."'");
|
||||
|
||||
$timeEntry = new EmployeeTimeEntry();
|
||||
$data['numberOfAttendanceLastWeek'] = $timeEntry->Count(
|
||||
"in_time > '".date("Y-m-d H:i:s", strtotime("-1 week"))."'"
|
||||
);
|
||||
|
||||
$candidate = new Candidate();
|
||||
$data['numberOfCandidates'] = $candidate->Count("1 = 1");
|
||||
|
||||
$job = new Job();
|
||||
$data['numberOfJobs'] = $job->Count("status = 'Active'");
|
||||
|
||||
$course = new Course();
|
||||
$data['numberOfCourses'] = $course->Count("1 = 1");
|
||||
|
||||
return new IceResponse(IceResponse::SUCCESS, $data);
|
||||
}
|
||||
}
|
||||
24
core/src/Dashboard/Admin/Api/DashboardAdminManager.php
Normal file
24
core/src/Dashboard/Admin/Api/DashboardAdminManager.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
namespace Dashboard\Admin\Api;
|
||||
|
||||
use Classes\AbstractModuleManager;
|
||||
|
||||
class DashboardAdminManager extends AbstractModuleManager
|
||||
{
|
||||
|
||||
public function initializeUserClasses()
|
||||
{
|
||||
}
|
||||
|
||||
public function initializeFieldMappings()
|
||||
{
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings()
|
||||
{
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions()
|
||||
{
|
||||
}
|
||||
}
|
||||
95
core/src/Dashboard/User/Api/DashboardActionManager.php
Normal file
95
core/src/Dashboard/User/Api/DashboardActionManager.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
namespace Dashboard\User\Api;
|
||||
|
||||
use Attendance\Common\Model\Attendance;
|
||||
use Candidates\Common\Model\Candidate;
|
||||
use Classes\IceResponse;
|
||||
use Classes\SubActionManager;
|
||||
use Employees\Common\Model\Employee;
|
||||
use JobPositions\Common\Model\Job;
|
||||
use Leaves\Common\Model\EmployeeLeave;
|
||||
use Leaves\User\Api\LeavesActionManager;
|
||||
use Projects\Common\Model\EmployeeProject;
|
||||
use TimeSheets\Common\Model\EmployeeTimeEntry;
|
||||
use TimeSheets\Common\Model\EmployeeTimeSheet;
|
||||
use Training\Common\Model\Course;
|
||||
|
||||
class DashboardActionManager extends SubActionManager
|
||||
{
|
||||
|
||||
public function getPendingLeaves($req)
|
||||
{
|
||||
|
||||
$lam = new LeavesActionManager();
|
||||
$leavePeriod = $lam->getCurrentLeavePeriod(date("Y-m-d H:i:s"), date("Y-m-d H:i:s"));
|
||||
|
||||
$leave = new EmployeeLeave();
|
||||
$pendingLeaves = $leave->Find("status = ? and employee = ?", array("Pending", $this->getCurrentProfileId()));
|
||||
|
||||
return new IceResponse(IceResponse::SUCCESS, count($pendingLeaves));
|
||||
}
|
||||
|
||||
public function getInitData($req)
|
||||
{
|
||||
$data = array();
|
||||
|
||||
$emp = new Employee();
|
||||
$data['numberOfEmployees'] = $emp->Count(
|
||||
"status = 'Active' and supervisor = ?",
|
||||
array($this->getCurrentProfileId())
|
||||
);
|
||||
|
||||
$data['lastTimeSheetHours'] = $this->getLastTimeSheetHours($req)->getData();
|
||||
$data['activeProjects'] = $this->getEmployeeActiveProjects($req)->getData();
|
||||
$data['pendingLeaves'] = $this->getPendingLeaves($req)->getData();
|
||||
$candidate = new Candidate();
|
||||
$data['numberOfCandidates'] = $candidate->Count("1 = 1");
|
||||
|
||||
$job = new Job();
|
||||
$data['numberOfJobs'] = $job->Count("status = 'Active'");
|
||||
|
||||
$attendance = new Attendance();
|
||||
$data['numberOfAttendanceLastWeek'] = $attendance->Count(
|
||||
"in_time > '".date("Y-m-d H:i:s", strtotime("-1 week"))."'"
|
||||
);
|
||||
|
||||
$course = new Course();
|
||||
$data['numberOfCourses'] = $course->Count("1 = 1");
|
||||
|
||||
return new IceResponse(IceResponse::SUCCESS, $data);
|
||||
}
|
||||
|
||||
public function getLastTimeSheetHours($req)
|
||||
{
|
||||
$timeSheet = new EmployeeTimeSheet();
|
||||
$timeSheet->Load("employee = ? order by date_end desc limit 1", array($this->getCurrentProfileId()));
|
||||
|
||||
if (empty($timeSheet->employee)) {
|
||||
return new IceResponse(IceResponse::SUCCESS, "0:00");
|
||||
}
|
||||
|
||||
$timeSheetEntry = new EmployeeTimeEntry();
|
||||
$list = $timeSheetEntry->Find("timesheet = ?", array($timeSheet->id));
|
||||
|
||||
$seconds = 0;
|
||||
foreach ($list as $entry) {
|
||||
$seconds += (strtotime($entry->date_end) - strtotime($entry->date_start));
|
||||
}
|
||||
|
||||
$minutes = (int)($seconds/60);
|
||||
$rem = $minutes % 60;
|
||||
$hours = ($minutes - $rem)/60;
|
||||
if ($rem < 10) {
|
||||
$rem = "0".$rem;
|
||||
}
|
||||
return new IceResponse(IceResponse::SUCCESS, $hours.":".$rem);
|
||||
}
|
||||
|
||||
public function getEmployeeActiveProjects($req)
|
||||
{
|
||||
$project = new EmployeeProject();
|
||||
$projects = $project->Find("employee = ? and status =?", array($this->getCurrentProfileId(),'Current'));
|
||||
|
||||
return new IceResponse(IceResponse::SUCCESS, count($projects));
|
||||
}
|
||||
}
|
||||
24
core/src/Dashboard/User/Api/DashboardModulesManager.php
Normal file
24
core/src/Dashboard/User/Api/DashboardModulesManager.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
namespace Dashboard\User\Api;
|
||||
|
||||
use Classes\AbstractModuleManager;
|
||||
|
||||
class DashboardModulesManager extends AbstractModuleManager
|
||||
{
|
||||
|
||||
public function initializeUserClasses()
|
||||
{
|
||||
}
|
||||
|
||||
public function initializeFieldMappings()
|
||||
{
|
||||
}
|
||||
|
||||
public function initializeDatabaseErrorMappings()
|
||||
{
|
||||
}
|
||||
|
||||
public function setupModuleClassDefinitions()
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user