public function testBulkAssignLeaveEntitlements()
 {
     $this->fixture = sfConfig::get('sf_plugins_dir') . '/orangehrmLeavePlugin/test/fixtures/LeaveEntitlement.yml';
     TestDataService::populate($this->fixture);
     $dao = new LeaveEntitlementDao();
     $limit = 5000;
     $empList = array();
     $employeeService = new EmployeeService();
     $employeeService->setEmployeeDao(new EmployeeDao());
     for ($i = 0; $i < $limit; $i++) {
         $employee = new Employee();
         $employee->setFirstName($i);
         $employee = $employeeService->saveEmployee($employee);
         array_push($empList, $employee->getEmpNumber());
     }
     $start_time = microtime(true);
     $leaveEntitlement = new LeaveEntitlement();
     $leaveEntitlement->setLeaveTypeId(1);
     $leaveEntitlement->setCreditedDate(date('Y-m-d'));
     $leaveEntitlement->setEntitlementType(LeaveEntitlement::ENTITLEMENT_TYPE_ADD);
     $leaveEntitlement->setDeleted(0);
     $leaveEntitlement->setNoOfDays(2);
     $leaveEntitlement->setFromDate('2012-01-01');
     $leaveEntitlement->setToDate('2012-08-01');
     $result = $dao->bulkAssignLeaveEntitlements($empList, $leaveEntitlement);
     $deference = microtime(true) - $start_time;
     $this->assertEquals(count($empList), $result, "Time Deference - " . $deference);
     echo "Add Entitlement 5000 Time " . $deference;
 }
	public function getLeavesForMeAndSubordinates($req){
		
		$shareCalendar = $this->baseService->settingsManager->getSetting("Leave: Share Calendar to Whole Company");
		
		$map = json_decode('{"employee":["Employee","id","first_name+last_name"],"leave_type":["LeaveType","id","name"]}');
		
		$employee = $this->baseService->getElement('Employee',$this->getCurrentProfileId(),null,true);
		
		
		if($shareCalendar != "1"){
			$subordinate = new Employee();
			$subordinates = $subordinate->Find("supervisor = ?",array($employee->id));
			
			$subordinatesIds = $employee->id;
			foreach($subordinates as $sub){
				if($subordinatesIds != ""){
					$subordinatesIds.=",";
				}
				$subordinatesIds.=$sub->id;
			}
			
			$employeeLeave = new EmployeeLeave();
			$startDate = date("Y-m-d H:i:s",$req->start);
			$endDate = date("Y-m-d H:i:s",$req->end);
			
			$list = $employeeLeave->Find("employee in (".$subordinatesIds.") and status in ('Approved','Pending') and ((date_start >= ? and date_start <= ? ) or (date_end >= ? and date_end <= ?))",array($startDate,$endDate,$startDate,$endDate));
			
		}else{
			
			$employeeLeave = new EmployeeLeave();
			$startDate = date("Y-m-d H:i:s",$req->start);
			$endDate = date("Y-m-d H:i:s",$req->end);
			
			$list = $employeeLeave->Find("status in ('Approved','Pending') and ((date_start >= ? and date_start <= ? ) or (date_end >= ? and date_end <= ?))",array($startDate,$endDate,$startDate,$endDate));
			
		}

		
		if(!$list){
			LogManager::getInstance()->info($employeeLeave->ErrorMsg());
		}
		if(!empty($map)){
			$list = $this->baseService->populateMapping($list,$map);
		}
		
		$data = array();
		foreach($list as $leave){
			$data[] = $this->leaveToEvent($leave);
		}
		
		$holiday = new HoliDay();
		$holidays = $holiday->Find("1=1",array());
		
		foreach($holidays as $holiday){
			$data[] = $this->holidayToEvent($holiday);
		}
		
		echo json_encode($data);
		exit();
	}
 private function compareEmployee(Employee $objectOne, Employee $objectTwo)
 {
     if ($objectOne->getRank() == $objectTwo->getRank()) {
         return 0;
     }
     return $objectOne->getRank() < $objectTwo->getRank() ? -1 : 1;
 }
Example #4
0
 public function displayEmployee($value, $tr)
 {
     $template = $this->context->smarty->createTemplate('controllers/logs/employee_field.tpl', $this->context->smarty);
     $employee = new Employee((int) $tr['id_employee']);
     $template->assign(array('employee_image' => $employee->getImage(), 'employee_name' => $value));
     return $template->fetch();
 }
 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);
 }
 public function getDashboardItemData()
 {
     $data = array();
     $emp = new Employee();
     $data['numberOfEmployees'] = $emp->Count("1 = 1");
     return $data;
 }
 public function getData($report, $req)
 {
     $leaveActionManager = new LeavesActionManager();
     $department = $req['department'];
     $employeeId = $req['employee'];
     if (($employeeId == "NULL" || empty($employeeId)) && ($department == "NULL" || empty($department))) {
         $emp = new Employee();
         $employees = $emp->Find("status = 'Active'", array());
     } else {
         if ($employeeId != "NULL" && !empty($employeeId)) {
             $emp = new Employee();
             $employees = $emp->Find("id = ?", array($employeeId));
         } else {
             $emp = new Employee();
             $employees = $emp->Find("department = ? and status = 'Active'", array($department));
         }
     }
     $reportData = array();
     $reportData[] = array("Employee ID", "Employee", "Leave Type", "Pending", "Approved", "Rejected", "Canceled", "Available", "To be Accrued", "Carried Forward from Previous Years");
     foreach ($employees as $employee) {
         $leaveEntitlements = $leaveActionManager->getEntitlementByEmployee($employee)->getObject();
         foreach ($leaveEntitlements as $leaveEntitlement) {
             $reportData[] = array($employee->employee_id, $employee->first_name . " " . $employee->last_name, $leaveEntitlement['name'], $leaveEntitlement['pendingLeaves'], $leaveEntitlement['approvedLeaves'], $leaveEntitlement['rejectedLeaves'], $leaveEntitlement['cancelRequestedLeaves'], $leaveEntitlement['availableLeaves'], $leaveEntitlement['tobeAccrued'], $leaveEntitlement['carriedForward']);
         }
     }
     return $reportData;
 }
Example #8
0
 /**
  * Grant access to the WiFi network to an employee
  * @param Employee $employee
  * @return bool
  */
 public function grantAccess(Employee $employee)
 {
     //now, it's a network with "access control"
     if ($employee->getAccessLevel() === Employee::ACCESS_LEVEL_HIGH) {
         return $this->wifiNetwork->grantAccess($employee);
     }
     return false;
 }
Example #9
0
 private function getEmployeeById($id)
 {
     $sup = new Employee();
     $sup->Load("id = ?", array($id));
     if ($sup->id != $id) {
         error_log("Employee not found");
         return null;
     }
     return $sup;
 }
 private function getEmployeeById($id)
 {
     $sup = new Employee();
     $sup->Load("id = ?", array($id));
     if ($sup->id != $id) {
         LogManager::getInstance()->info("Employee not found");
         return null;
     }
     return $sup;
 }
 public function editgroup($id)
 {
     $employeeId = Session::get('userEmployeeId');
     $employee = new Employee();
     $employeeInfo = $employee->getEmployeeInfoById($employeeId);
     // Show details of a user.
     $group = Group::findOrFail($id);
     $perms = array("view" => 1, "create" => 2, "update" => 3, "delete" => 4);
     $permissions = Permission::all();
     return View::make('admin.editgroup')->with('group', $group)->with('perms', $perms)->with('permissions', $permissions)->with('employeeInfo', $employeeInfo);
 }
 public function postProcess()
 {
     global $cookie, $currentIndex;
     if (Tools::isSubmit('submitDatePicker')) {
         if (!Validate::isDate($from = Tools::getValue('datepickerFrom')) or !Validate::isDate($to = Tools::getValue('datepickerTo'))) {
             $this->_errors[] = Tools::displayError('Date specified is invalid');
         }
     }
     if (Tools::isSubmit('submitDateDay')) {
         $from = date('Y-m-d');
         $to = date('Y-m-d');
     }
     if (Tools::isSubmit('submitDateDayPrev')) {
         $yesterday = time() - 60 * 60 * 24;
         $from = date('Y-m-d', $yesterday);
         $to = date('Y-m-d', $yesterday);
     }
     if (Tools::isSubmit('submitDateMonth')) {
         $from = date('Y-m-01');
         $to = date('Y-m-t');
     }
     if (Tools::isSubmit('submitDateMonthPrev')) {
         $m = date('m') == 1 ? 12 : date('m') - 1;
         $y = $m == 12 ? date('Y') - 1 : date('Y');
         $from = $y . '-' . $m . '-01';
         $to = $y . '-' . $m . date('-t', mktime(12, 0, 0, $m, 15, $y));
     }
     if (Tools::isSubmit('submitDateYear')) {
         $from = date('Y-01-01');
         $to = date('Y-12-31');
     }
     if (Tools::isSubmit('submitDateYearPrev')) {
         $from = date('Y') - 1 . date('-01-01');
         $to = date('Y') - 1 . date('-12-31');
     }
     if (isset($from) and isset($to) and !sizeof($this->_errors)) {
         $employee = new Employee($cookie->id_employee);
         $employee->stats_date_from = $from;
         $employee->stats_date_to = $to;
         $employee->update();
         Tools::redirectAdmin($_SERVER['REQUEST_URI']);
     }
     if (Tools::getValue('submitSettings')) {
         if ($this->tabAccess['edit'] === '1') {
             $currentIndex .= '&module=' . Tools::getValue('module');
             $this->_postConfig($this->_fieldsSettings);
         } else {
             $this->_errors[] = Tools::displayError('You do not have permission to edit here.');
         }
     }
     if (sizeof($this->_errors)) {
         AdminTab::displayErrors();
     }
 }
 public function deleteProfileImage($req)
 {
     $profileId = $this->getCurrentProfileId();
     $subordinate = new Employee();
     $subordinatesCount = $subordinate->Count("supervisor = ? and id = ?", array($profileId, $req->id));
     if ($this->user->user_level == 'Admin' || $this->user->employee == $req->id || $subordinatesCount == 1) {
         $fs = FileService::getInstance();
         $res = $fs->deleteProfileImage($req->id);
         return new IceResponse(IceResponse::SUCCESS, $res);
     }
     return new IceResponse(IceResponse::ERROR, "Not allowed to delete profile image");
 }
 protected function createFakerEmployee()
 {
     $faker = Faker::create();
     for ($i = 1; $i < 50; $i++) {
         $employee = new Employee();
         $employee->first_name = $faker->firstName;
         $employee->last_name = $faker->lastName;
         $employee->email = $faker->email;
         $employee->hire_date = $faker->date($format = 'Y-m-d');
         $employee->password = $faker->password;
         $employee->save();
     }
 }
Example #15
0
 public function run()
 {
     $employee = new Employee();
     $employee->name = 'Ganesh';
     $employee->email = '*****@*****.**';
     $employee->password = '******';
     $employee->password_confirmation = '00d00@ganesh';
     $employee->mobile = '9999999999';
     $employee->active = 1;
     $employee->save();
     $employee::$rules = [];
     $employee->generateEmployeeId();
 }
 public function requireDefaultRecords()
 {
     parent::requireDefaultRecords();
     $employeeSet = DataObject::get('Employee');
     foreach ($employeeSet as $employee) {
         $employee->delete();
     }
     foreach ($this->data() as $employeeName) {
         $employee = new Employee();
         $employee->Name = $employeeName;
         $employee->write();
     }
     DB::alteration_message("Added default records to Employee table", "created");
 }
 protected function renderContent()
 {
     $model = new Employee('search');
     $model->unsetAttributes();
     // clear any default values
     if (isset($_GET['Employee'])) {
         $model->attributes = $_GET['Employee'];
     }
     if (isset($_GET['pageSize'])) {
         Yii::app()->user->setState('pageSize', (int) $_GET['pageSize']);
         unset($_GET['pageSize']);
         // would interfere with pager and repetitive page size change
     }
     $this->render('DaftarKaryawan', array('model' => $model));
 }
 /**
  * 
  * @param array $employee
  * @return Employee
  * @throws Exception
  */
 public function addEmployee($employee)
 {
     $fileds = array_keys($employee);
     foreach ($this->getRequiredFields() as $val) {
         if (!in_array($val, $fileds)) {
             throw new Exception("required filed " . $val . " is not provided");
         }
     }
     $empObject = new Employee();
     foreach ($employee as $key => $val) {
         $empObject->set($key, $val);
     }
     $instance = $this->getServiceInstance();
     return $instance->saveEmployee($empObject);
 }
 public function loadModel($id)
 {
     if (($model = Employee::model()->findByPk($id)) === null) {
         throw new CHttpException(404, Yii::t('TeamModule.team', 'Page was not found!'));
     }
     return $model;
 }
Example #20
0
 public function index()
 {
     $entities = Entity::all();
     $employees = Employee::all();
     $menu = 'data';
     return View::make('entities.index', compact('employees', 'entities', 'menu'));
 }
 public function edit($id)
 {
     $returnment = Returnment::with('employee')->find($id);
     $employees = Employee::where('location_id', '=', Auth::user()->location_id)->get();
     $menu = 'finance';
     return View::make('returnments.edit', compact('returnment', 'employees', 'menu'));
 }
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         Employee::create([]);
     }
 }
 public function constructReturnArr($res)
 {
     $arr = array();
     $i = 0;
     while ($row = mysql_fetch_assoc($res)) {
         $emp = new Employee();
         $emp->setName($row['name']);
         $emp->setCode($row['code']);
         $emp->setSalary($row['salary']);
         $emp->setGrade($row['grade']);
         $arr[$i] = $emp;
         $i++;
     }
     $this->getConnection()->releaseRes($res);
     return $arr;
 }
 public function testSearchEmployeeList()
 {
     $parameterHolder = new EmployeeSearchParameterHolder();
     $employee1 = new Employee();
     $employee1->setLastName('Last Name');
     $employee1->setFirstName('First Name');
     $employee2 = new Employee();
     $employee2->setLastName('Last Name');
     $employee2->setFirstName('First Name');
     $list = array($employee1, $employee2);
     $mockDao = $this->getMock('EmployeeDirectoryDao');
     $mockDao->expects($this->once())->method('searchEmployees')->with($parameterHolder)->will($this->returnValue($list));
     $this->employeeDirectoryService->setEmployeeDirectoryDao($mockDao);
     $result = $this->employeeDirectoryService->searchEmployees($parameterHolder);
     $this->assertEquals($list, $result);
 }
Example #25
0
 private function getModel()
 {
     if (!$this->isGuest && $this->_model === null) {
         $this->_model = Employee::model()->findByPk($this->id, array('select' => 'role'));
     }
     return $this->_model;
 }
 /**
  * Show the form for editing the specified branch.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $rel = ERelief::find($id);
     $employees = Employee::all();
     $reliefs = Relief::all();
     return View::make('employee_relief.edit', compact('rel', 'employees', 'reliefs'));
 }
Example #27
0
 public function indexAction()
 {
     $departments = Department::find();
     $this->view->departments = $departments;
     $employees = Employee::find();
     $this->view->employees = $employees;
 }
 public function postGeneral($id)
 {
     $id = Crypt::decrypt($id);
     $request = RRequest::find($id);
     if (Input::has('save')) {
         if (Input::get('employee') == 0 || Input::get('organization') == 0 || Input::get('r_plan') == 0 || Input::get('specialist') == 0 || strlen(Input::get('title')) < 2 || strlen(Input::get('description')) < 2) {
             Session::flash('sms_warn', trans('sta.require_field'));
         } else {
             $request->request_by_id = Input::get('employee');
             $request->for_organization_id = Input::get('organization');
             $request->for_planning_id = Input::get('r_plan');
             $request->to_department_id = Input::get('specialist');
             $request->request_title = Input::get('title');
             $request->description = Input::get('description');
             $request->request_date = date('Y-m-d');
             $request->created_by = Auth::user()->employee_id;
             if ($request->save()) {
                 Session::flash('sms_success', trans('sta.save_data_success'));
                 //return Redirect::to('branch_request/general/' . Crypt::encrypt($request->id));
             }
         }
     }
     $organizations = $this->array_list(Organization::list_item());
     $employees = $this->array_list(Employee::list_item());
     $department = $this->array_list(Department::list_item());
     $r_plans = $this->array_list(Rplan::list_item());
     return View::make('branch_request.edit_general', array('id' => $id, 'organizations' => $organizations, 'employees' => $employees, 'specialist' => $department, 'r_plans' => $r_plans, 'request' => $request));
 }
Example #29
0
 public static function absentEveryEmployee()
 {
     $employees = Employee::where('status', '=', 'active')->get();
     $absentess = [];
     foreach ($employees as $employee) {
         //Count the absent except half days
         foreach (Leavetype::where('leaveType', '<>', 'half day')->get() as $leave) {
             //$absentess[$employee->employeeID][$leave->leaveType] = 0;
             //      Half Day leaves are added to casual leaves.2 half days are equal to one Casual Leave
             $absentess[$employee->employeeID][$leave->leaveType] = Attendance::where('status', '=', 'absent')->where('employeeID', '=', $employee->employeeID)->where(function ($query) {
                 $query->where('application_status', '=', 'approved')->orWhere('application_status', '=', null);
             })->where('leaveType', '=', $leave->leaveType)->count();
         }
         // half days count
         foreach (Leavetype::where('leaveType', '=', 'half day')->get() as $leave) {
             $half_day = Attendance::select('halfDayType', DB::raw('count(*) as total'))->where('status', '=', 'absent')->where('employeeID', '=', $employee->employeeID)->where(function ($query) {
                 $query->where('application_status', '=', 'approved')->orWhere('application_status', '=', null);
             })->where('leaveType', '=', $leave->leaveType)->groupBy('halfDayType')->get();
             foreach ($half_day as $half) {
                 $absentess[$employee->employeeID][$half->halfDayType] += $half->total / 2;
             }
         }
         //  Total of All leaves
         $absentess[$employee->employeeID]['total'] = array_sum($absentess[$employee->employeeID]);
     }
     return $absentess;
 }
 public function index()
 {
     $retrievals = Retrieval::where('project_id', '=', Auth::user()->curr_project_id)->where('location_id', '=', Auth::user()->location_id)->get();
     $employees = Employee::where('location_id', '=', Auth::user()->location_id)->get();
     $menu = 'student';
     return View::make('retrievals.index', compact('retrievals', 'employees', 'menu'));
 }