예제 #1
0
 /**
  * Data grid form submit handler.
  * @param  AppForm
  * @return void
  */
 public function formSubmitHandler(AppForm $form)
 {
     $this->receivedSignal = 'submit';
     // was form submitted?
     if ($form->isSubmitted()) {
         $values = $form->getValues();
         if ($form['filterSubmit']->isSubmittedBy()) {
             $this->handleFilter($values['filters']);
         } elseif ($form['pageSubmit']->isSubmittedBy()) {
             $this->handlePage($values['page']);
         } elseif ($form['itemsSubmit']->isSubmittedBy()) {
             $this->handleItems($values['items']);
         } elseif ($form['resetSubmit']->isSubmittedBy()) {
             $this->handleReset();
         } elseif ($form['operationSubmit']->isSubmittedBy()) {
             if (!is_array($this->onOperationSubmit)) {
                 throw new InvalidStateException('No user defined handler for operations; assign valid callback to operations handler into DataGrid::$operationsHandler variable.');
             }
         } else {
             throw new InvalidStateException("Unknown submit button.");
         }
     }
     if (!$this->presenter->isAjax()) {
         $this->presenter->redirect('this');
     }
 }