Esempio n. 1
0
 function createSchedule($user_id, $date_stamp, $data = NULL)
 {
     $sf = new ScheduleFactory();
     $sf->setUserDateId(UserDateFactory::findOrInsertUserDate($user_id, $date_stamp));
     if (isset($data['status_id'])) {
         $sf->setStatus($data['status_id']);
     } else {
         $sf->setStatus(10);
     }
     if (isset($data['schedule_policy_id'])) {
         $sf->setSchedulePolicyID($data['schedule_policy_id']);
     }
     if (isset($data['absence_policy_id'])) {
         $sf->setAbsencePolicyID($data['absence_policy_id']);
     }
     if (isset($data['branch_id'])) {
         $sf->setBranch($data['branch_id']);
     }
     if (isset($data['department_id'])) {
         $sf->setDepartment($data['department_id']);
     }
     if (isset($data['job_id'])) {
         $sf->setJob($data['job_id']);
     }
     if (isset($data['job_item_id'])) {
         $sf->setJobItem($data['job_item_id']);
     }
     if ($data['start_time'] != '') {
         $start_time = strtotime($data['start_time'], $date_stamp);
     }
     if ($data['end_time'] != '') {
         Debug::Text('End Time: ' . $data['end_time'] . ' Date Stamp: ' . $date_stamp, __FILE__, __LINE__, __METHOD__, 10);
         $end_time = strtotime($data['end_time'], $date_stamp);
         Debug::Text('bEnd Time: ' . $data['end_time'] . ' - ' . TTDate::getDate('DATE+TIME', $data['end_time']), __FILE__, __LINE__, __METHOD__, 10);
     }
     $sf->setStartTime($start_time);
     $sf->setEndTime($end_time);
     if ($sf->isValid()) {
         $sf->setEnableReCalculateDay(FALSE);
         $insert_id = $sf->Save();
         Debug::Text('Schedule ID: ' . $insert_id, __FILE__, __LINE__, __METHOD__, 10);
         return $insert_id;
     }
     Debug::Text('Failed Creating Schedule!', __FILE__, __LINE__, __METHOD__, 10);
     return FALSE;
 }
Esempio n. 2
0
     $user_generic_status_label = 'N/A @ ' . TTDate::getDate('DATE', $start_time) . ': ' . TTDate::getDate('TIME', $start_time) . ' - ' . TTDate::getDate('TIME', $end_time);
 }
 //Re-initialize schedule factory here so we clear any errors preventing the next schedule from being inserted.
 $sf = new ScheduleFactory();
 //$sf->setUserDateId( $user_date_id  );
 $sf->setUserDate($user_id, $time_stamp);
 $sf->setStatus($data['status_id']);
 $sf->setSchedulePolicyID($data['schedule_policy_id']);
 $sf->setAbsencePolicyID($data['absence_policy_id']);
 if (isset($data['branch_id']) and $data['branch_id'] == -1) {
     $sf->setBranch($user_obj->getDefaultBranch());
 } elseif (isset($data['branch_id'])) {
     $sf->setBranch($data['branch_id']);
 }
 if (isset($data['department_id']) and $data['department_id'] == -1) {
     $sf->setDepartment($user_obj->getDefaultDepartment());
 } elseif (isset($data['department_id'])) {
     $sf->setDepartment($data['department_id']);
 }
 if (isset($data['job_id'])) {
     $sf->setJob($data['job_id']);
 }
 if (isset($data['job_item_id'])) {
     $sf->setJobItem($data['job_item_id']);
 }
 $sf->setStartTime($start_time);
 $sf->setEndTime($end_time);
 if ($sf->isValid()) {
     $sf->setEnableReCalculateDay(TRUE);
     if ($sf->Save() != TRUE) {
         UserGenericStatusFactory::queueGenericStatus($user_generic_status_label, 10, $sf->Validator->getTextErrors(), NULL);
 //Working
 $sf->setStartTime($recurring_schedule_shift_start_time);
 $sf->setEndTime($recurring_schedule_shift_end_time);
 $sf->setSchedulePolicyID($recurring_schedule_shift['schedule_policy_id']);
 if (isset($absence_policy_id) and $absence_policy_id != '') {
     $sf->setAbsencePolicyID($absence_policy_id);
 }
 unset($absence_policy_id);
 if ($recurring_schedule_shift['branch_id'] == -1) {
     $sf->setBranch($user_obj->getDefaultBranch());
 } else {
     $sf->setBranch($recurring_schedule_shift['branch_id']);
 }
 Debug::text('Department ID: ' . $recurring_schedule_shift['department_id'] . ' Default Department ID: ' . $user_obj->getDefaultDepartment(), __FILE__, __LINE__, __METHOD__, 10);
 if ($recurring_schedule_shift['department_id'] == -1) {
     $sf->setDepartment($user_obj->getDefaultDepartment());
 } else {
     $sf->setDepartment($recurring_schedule_shift['department_id']);
 }
 if (isset($recurring_schedule_shift['job_id'])) {
     $sf->setJob($recurring_schedule_shift['job_id']);
 }
 if (isset($recurring_schedule_shift['job_item_id'])) {
     $sf->setJobItem($recurring_schedule_shift['job_item_id']);
 }
 if ($sf->isValid()) {
     //Recalculate if its a absence schedule, so the holiday
     //policy takes effect.
     //Always re-calculate, this way it automatically applies dock time and holiday time.
     //Recalculate at the end of the day in a cronjob.
     //Part of the reason is that if they have a dock policy, it will show up as
Esempio n. 4
0
     $date_stamp = $data['date_stamp'];
 } else {
     $date_stamp = $data['date_stamp'] + 86400 * $i;
 }
 Debug::Text('Date Stamp: ' . TTDate::getDate('DATE', $date_stamp), __FILE__, __LINE__, __METHOD__, 10);
 $sf = new ScheduleFactory();
 if ($i == 0) {
     $sf->setID($data['id']);
 }
 //$sf->setUserDateId( UserDateFactory::findOrInsertUserDate($data['user_id'], $date_stamp) );
 $sf->setUserDate($data['user_id'], $date_stamp);
 $sf->setStatus($data['status_id']);
 $sf->setSchedulePolicyID($data['schedule_policy_id']);
 $sf->setAbsencePolicyID($data['absence_policy_id']);
 $sf->setBranch($data['branch_id']);
 $sf->setDepartment($data['department_id']);
 if (isset($data['job_id'])) {
     $sf->setJob($data['job_id']);
 }
 if (isset($data['job_item_id'])) {
     $sf->setJobItem($data['job_item_id']);
 }
 if ($data['start_time'] != '') {
     $start_time = strtotime($data['start_time'], $date_stamp);
 } else {
     $start_time = NULL;
 }
 if ($data['end_time'] != '') {
     Debug::Text('End Time: ' . $data['end_time'] . ' Date Stamp: ' . $date_stamp, __FILE__, __LINE__, __METHOD__, 10);
     $end_time = strtotime($data['end_time'], $date_stamp);
     Debug::Text('bEnd Time: ' . $data['end_time'] . ' - ' . TTDate::getDate('DATE+TIME', $data['end_time']), __FILE__, __LINE__, __METHOD__, 10);