/**
  * Sets the preferences for this form
  * 
  * @return array
  *
  * @author Sebastian Diel <*****@*****.**>
  * @since 09.10.2012
  */
 public function preferences()
 {
     parent::preferences();
     if ($this->controller->class == 'SilvercartCheckoutStep_Controller') {
         $this->CancelLink = $this->controller->Link();
     } else {
         $this->CancelLink = $this->controller->Parent()->Link();
     }
 }
 /**
  * We intercept the submit handler since we have to alter some field
  * checks depending on the status of the field "InvoiceAddressAsShippingAddress".
  *
  * @param SS_HTTPRequest $data submit data
  * @param Form           $form form object
  *
  * @return ViewableData
  *
  * @author Sascha Koehler <*****@*****.**>,
  *         Sebastian Diel <*****@*****.**>
  * @since 20.01.2014
  */
 public function submit($data, $form)
 {
     // Disable the check instructions if the shipping address shall be
     // the same as the invoice address.
     if ($data['InvoiceAddressAsShippingAddress'] == '1') {
         $this->deactivateValidationFor('Shipping_Salutation');
         $this->deactivateValidationFor('Shipping_AcademicTitle');
         $this->deactivateValidationFor('Shipping_FirstName');
         $this->deactivateValidationFor('Shipping_Surname');
         $this->deactivateValidationFor('Shipping_Addition');
         $this->deactivateValidationFor('Shipping_Street');
         $this->deactivateValidationFor('Shipping_StreetNumber');
         $this->deactivateValidationFor('Shipping_Postcode');
         $this->deactivateValidationFor('Shipping_City');
         $this->deactivateValidationFor('Shipping_PhoneAreaCode');
         $this->deactivateValidationFor('Shipping_Phone');
         $this->deactivateValidationFor('Shipping_Country');
     }
     $formData = $data->postVars();
     if ($this->UseMinimumAgeToOrder()) {
         $formData['Birthday'] = $formData['BirthdayYear'] . '-' . $formData['BirthdayMonth'] . '-' . $formData['BirthdayDay'];
         if (!SilvercartConfig::CheckMinimumAgeToOrder($formData['Birthday'])) {
             $this->errorMessages['BirthdayDay'] = array('message' => SilvercartConfig::MinimumAgeToOrderError(), 'fieldname' => _t('SilvercartPage.BIRTHDAY') . ' - ' . _t('SilvercartPage.DAY'), 'BirthdayDay' => array('message' => SilvercartConfig::MinimumAgeToOrderError()));
             $this->errorMessages['BirthdayMonth'] = array('message' => SilvercartConfig::MinimumAgeToOrderError(), 'fieldname' => _t('SilvercartPage.BIRTHDAY') . ' - ' . _t('SilvercartPage.MONTH'), 'BirthdayMonth' => array('message' => SilvercartConfig::MinimumAgeToOrderError()));
             $this->errorMessages['BirthdayYear'] = array('message' => SilvercartConfig::MinimumAgeToOrderError(), 'fieldname' => _t('SilvercartPage.BIRTHDAY') . ' - ' . _t('SilvercartPage.YEAR'), 'BirthdayYear' => array('message' => SilvercartConfig::MinimumAgeToOrderError()));
             $this->setSubmitSuccess(false);
             return $this->submitFailure($data, $form);
         }
     }
     parent::submit($data, $form);
 }