//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 //docking them time during the entire day. //$sf->setEnableReCalculateDay(FALSE); //Only for holidays do we calculate the day right away. //So they don't have to wait 24hrs to see stat time. if ($status_id == 20 and $rsc_obj->getAutoFill() == FALSE) { $sf->setEnableReCalculateDay(TRUE); } else { $sf->setEnableReCalculateDay(FALSE); //Don't need to re-calc right now? } $schedule_result = $sf->Save(); $sf->CommitTransaction(); $profiler->startTimer("Add Punch"); Debug::text('Schedule Checks out, saving: ' . TTDate::getDate('DATE+TIME', $recurring_schedule_shift_start_time), __FILE__, __LINE__, __METHOD__, 10); if ($schedule_result == TRUE and $rsc_obj->getAutoFill() == TRUE and $status_id == 10) { //Make sure they are working for Auto-fill to kickin. Debug::text('Schedule has AutoFill enabled!', __FILE__, __LINE__, __METHOD__, 10); $commit_punch_transaction = FALSE; Debug::text('Punch In: ' . TTDate::getDate('DATE+TIME', $recurring_schedule_shift_start_time), __FILE__, __LINE__, __METHOD__, 10); $pf_in = new PunchFactory(); $pf_in->StartTransaction(); $pf_in->setUser($user_id); $pf_in->setType(10); //Normal $pf_in->setStatus(10); //In $pf_in->setTimeStamp($recurring_schedule_shift_start_time, TRUE);