Example #1
0
 public function submitAction()
 {
     $storage = new Zend_Auth_Storage_Session();
     $sessionData = $storage->read();
     $myTsModel = new Timemanagement_Model_MyTimesheet();
     $selDay = $this->_getParam('day');
     $selYrMon = $this->_getParam('selYrMon');
     $callval = $this->getRequest()->getParam('call');
     $week = $this->_getParam('week');
     $calWeek = $this->_getParam('calWeek');
     $yrMon = explode('-', $selYrMon);
     if ($selDay != '') {
         $calWeek = strftime('%U', strtotime($selYrMon . '-' . $selDay));
         $startCalWeek = strftime('%U', strtotime($selYrMon . '-01'));
         $week = $calWeek - $startCalWeek + 1;
         $dayName = strtolower(date('D', strtotime($selYrMon . '-' . $selDay)));
     }
     $statusData = array('emp_id' => $sessionData->id, 'ts_year' => $yrMon[0], 'ts_month' => $yrMon[1], 'ts_week' => $week, 'cal_week' => $calWeek, 'week_status' => 'submitted', 'modified_by' => $sessionData->id, 'modified' => Zend_Registry::get('currentdate'));
     if ($selDay != '') {
         $statusData[$dayName . '_status'] = 'submitted';
         $statusData[$dayName . '_status_date'] = Zend_Registry::get('currentdate');
     } else {
         $weekDaysStatus = $myTsModel->getWeekDaysDailyStatus($sessionData->id, $yrMon[0], $yrMon[1], $week);
         foreach ($weekDaysStatus[0] as $key => $value) {
             if ($value == 'saved') {
                 $dayName = substr($key, 0, 3);
                 $statusData[$dayName . '_status'] = 'submitted';
                 $statusData[$dayName . '_status_date'] = Zend_Registry::get('currentdate');
             }
         }
     }
     $weekDaysProjStatus = $myTsModel->getWeekDaysProjStatus($sessionData->id, $yrMon[0], $yrMon[1], $week);
     $projId = '';
     foreach ($weekDaysProjStatus as $projStatusArray) {
         $projStatusData = array();
         foreach ($projStatusArray as $key => $value) {
             if ($key == 'project_id') {
                 $projId = $value;
             }
             if ($value == 'saved') {
                 $dayShortName = substr($key, 0, 3);
                 if ($selDay != '') {
                     $projStatusData[$dayName . '_project_status'] = 'submitted';
                 } else {
                     $projStatusData[$dayShortName . '_project_status'] = 'submitted';
                 }
                 $myTsModel->updateProjectSubmitStatus($sessionData->id, $yrMon[0], $yrMon[1], $week, $projStatusData, $projId);
             }
         }
     }
     $myTsModel->updateSubmitStatus($sessionData->id, $yrMon[0], $yrMon[1], $week, $statusData);
     $myTsModel->updateWeekStatus($sessionData->id, $yrMon[0], $yrMon[1], $week);
     if ($callval == 'ajaxcall') {
         $this->_helper->layout->disableLayout();
     }
     $this->view->status = 'success';
     if ($selDay != '') {
         $this->view->message = 'Timesheet submited successfully for Day ' . $selDay;
     } else {
         $this->view->message = 'Timesheet submited successfully for week ' . $week;
     }
 }