[*] MO: module cheque use the new moduleController system

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8741 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2011-09-23 14:34:18 +00:00
parent 7c85e104de
commit 1437dec72f
6 changed files with 60 additions and 4 deletions
+44
View File
@@ -197,6 +197,11 @@ class Cheque extends PaymentModule
return false;
}
/**
* This action display payment form
*
* @param bool $direct_call For retrocompatibility
*/
public function actionPayment($direct_call = false)
{
if (!$this->active)
@@ -224,4 +229,43 @@ class Cheque extends PaymentModule
// For retrocompatibility
return $this->display(__FILE__, 'payment_execution.tpl');
}
/**
* This action validate the payment
*/
public function actionValidation($direct_call = false)
{
$cart = $this->context->cart;
if ($cart->id_customer == 0 || $cart->id_address_delivery == 0 || $cart->id_address_invoice == 0 || !$this->active)
Tools::redirect('index.php?controller=order&step=1');
// Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
$authorized = false;
foreach (Module::getPaymentModules() as $module)
if ($module['name'] == 'cheque')
{
$authorized = true;
break;
}
if (!$authorized)
die(Tools::displayError('This payment method is not available.'));
$customer = new Customer($cart->id_customer);
if (!Validate::isLoadedObject($customer))
Tools::redirect('index.php?controller=order&step=1');
$currency = Tools::isSubmit('currency_payement') ? new Currency(Tools::getValue('currency_payement')) : $context->currency;
$total = (float)$cart->getOrderTotal(true, Cart::BOTH);
$mailVars = array(
'{cheque_name}' => Configuration::get('CHEQUE_NAME'),
'{cheque_address}' => Configuration::get('CHEQUE_ADDRESS'),
'{cheque_address_html}' => str_replace("\n", '<br />', Configuration::get('CHEQUE_ADDRESS')));
$this->validateOrder((int)$cart->id, Configuration::get('PS_OS_CHEQUE'), $total, $this->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key);
Tools::redirect('index.php?controller=order-confirmation&id_cart='.(int)($cart->id).'&id_module='.(int)$this->id.'&id_order='.$this->currentOrder.'&key='.$customer->secure_key);
}
}