Esempio n. 1
0
 public function getStartAndEndDates($employeeId)
 {
     $userEmployeeNumber = null;
     $timesheetService = new TimesheetService();
     $timesheets = $timesheetService->getTimesheetByEmployeeId($employeeId);
     $dateOptions = array();
     $dateOptionsToDrpDwn = array();
     $userObj = sfContext::getInstance()->getUser()->getAttribute('user');
     $userId = $userObj->getUserId();
     $userEmployeeNumber = $userObj->getEmployeeNumber();
     if ($userEmployeeNumber == $employeeId) {
         $user = new User();
         $decoratedUser = new EssUserRoleDecorator($user);
     } else {
         $userRoleFactory = new UserRoleFactory();
         $decoratedUser = $userRoleFactory->decorateUserRole($userId, $employeeId, $userEmployeeNumber);
     }
     $i = 0;
     if ($timesheets != null) {
         foreach ($timesheets as $timesheet) {
             $allowedActions = $decoratedUser->getAllowedActions(WorkflowStateMachine::FLOW_TIME_TIMESHEET, $timesheet->getState());
             if (in_array(WorkflowStateMachine::TIMESHEET_ACTION_VIEW, $allowedActions)) {
                 $dateOptions[$i] = $timesheet->getStartDate() . " " . __("to") . " " . $timesheet->getEndDate();
                 $dateOptionsToDrpDwn[$i] = set_datepicker_date_format($timesheet->getStartDate()) . " " . __("to") . " " . set_datepicker_date_format($timesheet->getEndDate());
                 $i++;
             }
         }
     }
     $this->dateOptions = array_reverse($dateOptions);
     return array_reverse($dateOptionsToDrpDwn);
 }
 public function getStartAndEndDates($employeeId)
 {
     $timesheetService = new TimesheetService();
     $timesheets = $timesheetService->getTimesheetByEmployeeId($employeeId);
     $dateOptions = array();
     $dateOptionsToDrpDwn = array();
     $userRoleManager = sfContext::getInstance()->getUserRoleManager();
     $user = $userRoleManager->getUser();
     $excludeRoles = array();
     $includeRoles = $employeeId == $user->getEmpNumber() ? array('ESS') : array();
     $entities = array('Employee' => $employeeId);
     $i = 0;
     if ($timesheets != null) {
         $dataGroupPermissions = $userRoleManager->getDataGroupPermissions(array('time_employee_timesheets'), array(), array(), $employeeId == $user->getEmpNumber(), $entities);
         foreach ($timesheets as $timesheet) {
             $allowedActions = $userRoleManager->getAllowedActions(WorkflowStateMachine::FLOW_TIME_TIMESHEET, $timesheet->getState(), $excludeRoles, $includeRoles, $entities);
             if (isset($allowedActions[WorkflowStateMachine::TIMESHEET_ACTION_VIEW]) || $dataGroupPermissions->canRead()) {
                 $dateOptions[$i] = $timesheet->getStartDate() . " " . __("to") . " " . $timesheet->getEndDate();
                 $dateOptionsToDrpDwn[$i] = set_datepicker_date_format($timesheet->getStartDate()) . " " . __("to") . " " . set_datepicker_date_format($timesheet->getEndDate());
                 $i++;
             }
         }
     }
     $this->dateOptions = array_reverse($dateOptions);
     return array_reverse($dateOptionsToDrpDwn);
 }