/**
  * Action called when posting press reviews subscription form
  */
 public function postAction()
 {
     try {
         // Form is not posted correctly, we redirect to the previous page
         if (!$this->getRequest()->isPost()) {
             Flash::addItem(__("Requête invalide.", "s1b"));
             return HTTPHelper::redirectToReferer();
         }
         // Check the form validity
         $form = new PressReviewsSusbcriptionForm();
         if (!$form->isValid($_POST)) {
             Flash::addItems($form->getFailureMessages());
         } else {
             // Try to get an existing PressReviewsSubscriber
             /* @var $existingPressReviewSubscriber PressReviewsSubscriber */
             $existingPressReviewSubscriber = PressReviewsSubscriberDao::getInstance()->getByEmail($form->getEmail());
             if ($existingPressReviewSubscriber) {
                 // Update press reviews subscriber (reactivation)
                 $existingPressReviewSubscriber->setIs_deleted(false);
                 PressReviewsSubscriberDao::getInstance()->update($existingPressReviewSubscriber);
                 // Set success flash message
                 Flash::addItem(__("Votre abonnement a été réactivé.", "s1b"));
             } else {
                 // Add press reviews subscriber to database
                 $pressReviewsSubscribers = new PressReviewsSubscriber();
                 $pressReviewsSubscribers->setEmail($form->getEmail());
                 PressReviewsSubscriberDao::getInstance()->add($pressReviewsSubscribers);
                 // Set success flash message
                 Flash::addItem(__("Votre abonnement a bien été pris en compte.", "s1b"));
             }
         }
         HTTPHelper::redirectToReferer();
     } catch (\Exception $e) {
         Trace::addItem(sprintf("Une erreur s'est produite dans \"%s->%s\", TRACE : %s\"", get_class(), __FUNCTION__, $e->getTraceAsString()));
         $this->forward("error", "error", "default");
     }
 }
 public function IsValid()
 {
     $this->__load();
     return parent::IsValid();
 }