function saveNewsArticle($data, Form $form)
 {
     try {
         $form->clearMessage();
         $form->resetValidation();
         if ($data['newsID']) {
             $this->manager->updateNews($data);
         } else {
             $this->manager->postNews($data);
         }
         Session::clear("FormInfo.Form_NewsRequestForm.data");
         return Controller::curr()->redirect('/news-add/?saved=1');
     } catch (EntityValidationException $ex1) {
         $messages = $ex1->getMessages();
         $msg = $messages[0];
         $form->addErrorMessage('Headline', $msg['message'], 'bad');
         SS_Log::log($msg['message'], SS_Log::ERR);
         // Load errors into session and post back
         Session::set("FormInfo.Form_NewsRequestForm.data", $data);
         return $this->redirectBack();
     } catch (Exception $ex) {
         $form->addErrorMessage('Headline', 'Server Error', 'bad');
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         // Load errors into session and post back
         Session::set("FormInfo.Form_NewsRequestForm.data", $data);
         return $this->redirectBack();
     }
 }
 function saveEventRegistrationRequest($data, Form $form)
 {
     // Check if the honeypot has been filled out
     if (@$data['username']) {
         SS_Log::log(sprintf('EventRegistrationRequestForm honeypot triggered (data: %s)', http_build_query($data)), SS_Log::NOTICE);
         return $this->httpError(403);
     }
     try {
         $this->event_registration_request_manager->registerEventRegistrationRequest($data);
         Session::clear("FormInfo.Form_EventRegistrationRequestForm.data");
         $form->clearMessage();
         return $this->redirect($this->Link('?saved=1'));
     } catch (EntityValidationException $ex1) {
         $messages = $ex1->getMessages();
         $msg = $messages[0];
         $form->addErrorMessage('City', $msg['message'], 'bad');
         SS_Log::log($msg['message'], SS_Log::ERR);
         // Load errors into session and post back
         Session::set("FormInfo.Form_EventRegistrationRequestForm.data", $data);
         return $this->redirectBack();
     } catch (Exception $ex) {
         $form->addErrorMessage('Title', 'Server Error', 'bad');
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         // Load errors into session and post back
         Session::set("FormInfo.Form_EventRegistrationRequestForm.data", $data);
         return $this->redirectBack();
     }
 }
 /**
  * Add status message to the response (only if `show_ajax_messages` config is set)
  * @param AjaxHTTPResponse $response
  * @param Form|null $form the form instance
  */
 protected function triggerStatusMessage($response, $form = null)
 {
     if (!self::config()->show_ajax_messages) {
         return;
     }
     $message = '';
     $type = '';
     if ($this->owner->cart) {
         $message = $this->owner->cart->getMessage();
         $type = $this->owner->cart->getMessageType();
         $this->owner->cart->clearMessage();
     }
     if ($form) {
         // if the message was not previously set via cart, get the message from $form
         if (empty($message)) {
             $message = $form->Message();
             $type = $form->MessageType();
         }
         $form->clearMessage();
     }
     if (!empty($message)) {
         $response->triggerEvent('statusmessage', array('content' => $message, 'type' => $type));
     }
 }
 /**
  * @return Form
  */
 public function DateRangeForm()
 {
     $fields = new FieldList($dateFrom = new DateField('from'), $dateTo = new DateField('to'), new HiddenField('tag'));
     $dateFrom->setConfig('showcalendar', true);
     $dateTo->setConfig('showcalendar', true);
     $actions = new FieldList(FormAction::create("doDateFilter")->setTitle("Filter")->addExtraClass('btn btn-primary primary'), FormAction::create("doDateReset")->setTitle("Clear")->addExtraClass('btn'));
     $form = new Form($this, 'DateRangeForm', $fields, $actions);
     $form->loadDataFrom($this->request->getVars());
     $form->setFormMethod('get');
     // Manually extract the message so we can clear it.
     $form->ErrorMessage = $form->Message();
     $form->ErrorMessageType = $form->MessageType();
     $form->clearMessage();
     return $form;
 }