Beispiel #1
0
 /**
  * Create Modal dialog business logic
  * @param App_Form $form
  * @param array $options
  */
 public function ajaxFormProcessor(App_Form $form, $options)
 {
     $params = $this->_getAllParams();
     $subaction = isset($params['subaction']) ? $params['subaction'] : null;
     switch ($subaction) {
         case 'submit':
             if (!$form->isValid($params)) {
                 $this->view->isValid = $form->isValid($params);
                 $this->view->message = $form->getErrorMessages();
             } else {
                 $this->view->isValid = $form->isValid($params);
                 $modelClass = $options['model']['class'];
                 $modelMethod = $options['model']['method'];
                 // persist method
                 call_user_func(array($modelClass, $modelMethod), $params);
                 $this->setMessage(self::$_translate->_($options['success']['message']));
                 $this->createAjaxButton($options['success']['button']['title'], $options['success']['button']['action']);
                 if (isset($options['success']['redirect'])) {
                     $this->view->redirect = $this->baseUrl . $options['success']['redirect'];
                 }
                 break;
             }
         default:
             $this->view->title = self::$_translate->_($options['title']);
             $this->createAjaxButton(self::$_translate->_($options['button']), "submit", $params, $options['url']);
             $this->view->form = $form->toArray();
     }
 }