コード例 #1
0
 /**
  * Back end data provider to datagrid.
  * @return json
  */
 public function fillgridAction()
 {
     $request = $this->getRequest();
     $valid = $request->getParam('nd');
     $department_id = $request->getParam('department_id');
     $degree_id = $request->getParam('degree_id');
     $semester_id = $request->getParam('semester_id');
     $test_id = $request->getParam('test_id');
     if ($request->isXmlHttpRequest() and $valid) {
         $this->gridparam['page'] = $request->getParam('page', 1);
         // get the requested page
         $this->gridparam['limit'] = $request->getParam('rows', 20);
         // rows limit in Grid
         $this->gridparam['sidx'] = $request->getParam('sidx', 1);
         // get index column - i.e. user click to sort
         $this->gridparam['sord'] = $request->getParam('sord', 'asc');
         // sort direction
         $params = array('department_id' => $department_id, 'degree_id' => $degree_id, 'semester_id' => $semester_id, 'test_id' => $test_id, 'test_type_id' => 'SESS');
         $model = new Acad_Model_Test_Sessional($params);
         $result = $model->fetchSchedule();
         $response = new stdClass();
         $response->page = $this->gridparam['page'];
         $response->total = 1;
         if ($result instanceof Zend_Exception) {
             $this->getResponse()->setException(new Exception('Invalid sessional parameter OR No entry exists', Zend_Log::ERR))->setHttpResponseCode(400);
         } elseif (true == $result['exists']) {
             $response->records = count($result['data']);
             foreach ($result['data'] as $key => $row) {
                 $response->rows[$key]['id'] = $row->getTest_info_id();
                 $response->rows[$key]['cell'] = array($row->getSubject_code(), $row->getSubject_name(), $row->getDate_of_conduct(), $row->getTime(), $row->getMax_marks(), $row->getPass_Marks());
             }
             $this->_helper->json($response);
         } else {
             foreach ($result['data'] as $key => $row) {
                 $response->rows[$key]['id'] = 'new_' . $key;
                 $response->rows[$key]['cell'] = array($row->getSubject_code(), $row->getSubject_name(), $row->getDate_of_conduct(), $row->getTime(), $row->getDefault_max_marks(), $row->getDefault_pass_Marks());
             }
             $this->_helper->json($response);
         }
     }
 }