/**
  * @return json response
  */
 public function fillperiodgridAction()
 {
     $request = $this->getRequest();
     $period_dateobj = null;
     $weekday_number = null;
     //Getting Request Parameters
     $reqDate = $request->getParam('period_date');
     if ($reqDate) {
         $period_dateobj = new Zend_Date($reqDate);
         $weekday_number = $period_dateobj->toString('e');
     } else {
         $period_dateobj = new Zend_Date();
     }
     $staff_id = $request->getParam('staff_id');
     if (!$staff_id) {
         if (Zend_Auth::getInstance()->hasIdentity()) {
             $authInfo = Zend_Auth::getInstance()->getStorage()->read();
             $staff_id = $authInfo['identity'];
         } else {
             throw new Zend_Exception('You need to login first.', Zend_Log::ERR);
         }
     }
     $period_date = $period_dateobj->get(Zend_Date::ISO_8601);
     if (isset($staff_id)) {
         $dayPeriods = Acad_Model_DbTable_TimeTable::getFacultyDayPeriods($staff_id, $period_date, $weekday_number);
         if (isset($period_date) and isset($weekday_number)) {
             $adjustedPeriods = Acad_Model_DbTable_FacultyAdjustment::getAdjusted($staff_id, $period_date);
             foreach ($dayPeriods as $key => $value) {
                 $dayPeriods[$key]['adjusted'] = 0;
                 $dayPeriods[$key]['nonattendance'] = 0;
                 foreach ($adjustedPeriods as $akey => $avalue) {
                     if ($value['timetable_id'] == $avalue['source_timetable_id']) {
                         $dayPeriods[$key]['adjusted'] = 1;
                     }
                 }
                 $noattendance = Acad_Model_DbTable_NoAttendanceDay::isnoattendanceday($period_date, $dayPeriods[$key]['department_id'], $dayPeriods[$key]['degree_id'], $dayPeriods[$key]['semester_id']);
                 if ($noattendance) {
                     $dayPeriods[$key]['nonattendance'] = 1;
                 }
             }
         }
         $response = new stdClass();
         $response->page = 1;
         $response->total = 1;
         $response->records = count($dayPeriods);
         foreach ($dayPeriods as $key => $period) {
             $response->rows[$key]['id'] = $period['timetable_id'];
             $response->rows[$key]['cell'] = $period;
         }
         echo $this->_helper->json($response, false);
     } else {
         throw new Zend_Exception('Unidentified access', Zend_Log::ALERT);
     }
 }
 public function canceladjustmentAction()
 {
     $request = $this->getRequest();
     $staff_id = $request->getParam('staff_id');
     $period_id = $request->getParam('period_id');
     $periodDateobj = new Zend_Date($request->getParam('period_date'), 'dd-MM-YYYY');
     $period_date = $periodDateobj->toString('YYYY-MM-dd');
     $deleted = Acad_Model_DbTable_FacultyAdjustment::cancelAdjustment($period_id, $staff_id, $period_date);
     if ($deleted > 0) {
         echo "Adjustment Deleted Successfully";
     } else {
         echo "Adjustment Not Deleted ";
     }
 }