The problem is; It does not make a action when I click the button Complete shopping. But the order history records. When I click a second time, this time the order is completed.
no lines in the error log.
where you could not fault the following file?
(Opencart 2.0.2.0 and Journal2)
FILE : catalog/controller/payment/bank_transfer.php
Code: Select all
<?php
class ControllerPaymentBankTransfer extends Controller {
public function index() {
$this->load->language('payment/bank_transfer');
$data['text_instruction'] = $this->language->get('text_instruction');
$data['text_description'] = $this->language->get('text_description');
$data['text_payment'] = $this->language->get('text_payment');
$data['text_bank_account_owner'] = $this->language->get('text_bank_account_owner');
$data['text_bank_bank_no'] = $this->language->get('text_bank_bank_no');
$data['text_bank_account_no'] = $this->language->get('text_bank_account_no');
$data['text_bank_iban_no'] = $this->language->get('text_bank_iban_no');
$data['button_confirm'] = $this->language->get('button_confirm');
$data['banks'] = array();
$data['banks'] = $this->config->get('bank_transfer_info');
$data['continue'] = $this->url->link('checkout/success');
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/bank_transfer.tpl')) {
return $this->load->view($this->config->get('config_template') . '/template/payment/bank_transfer.tpl', $data);
} else {
return $this->load->view('default/template/payment/bank_transfer.tpl', $data);
}
}
public function confirm() {
if ($this->session->data['payment_method']['code'] == 'bank_transfer') {
$this->load->language('payment/bank_transfer');
$this->load->model('checkout/order');
if (!isset($_POST['bank'])) {
$json['error'] = $this->language->get('error_bank');
} else {
$comment = $this->language->get('text_instruction') . "\n\n";
$comment .= $this->language->get('text_payment')."\n\n";
$comment .= $this->request->post['bank'];
$this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('bank_transfer_order_status_id'), $comment, true);
$json['success'] = true;
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
}
?>
FILE : catalog/view/theme/default/template/payment/bank_transfer.tpl
Code: Select all
<h2><?php echo $text_instruction; ?></h2>
<div class="content">
<p><?php echo $text_description; ?></p>
<p><?php echo $text_payment; ?></p>
<form id="form-bank">
<?php $i = 1; ?>
<?php foreach ($banks as $bank) { ?>
<div class="bank-list">
<label for="<?php echo $i; ?>">
<div class="backname">
<input id="<?php echo $i; ?>" name="bank" type="radio" value="<?php echo $bank['bank_name']; ?>" />
<?php echo $bank['bank_name'] ?>
</div>
<div class="bank-logo">
<img src="<?php echo HTTPS_SERVER.'image/banka/'.$bank['image']; ?>" alt="<?php echo $bank['bank_name']; ?>" width="150" height="64" border="0"/>
</div>
<div class="bank-details">
<div class="bank-item">
<div class="title"><?php echo $text_bank_account_owner; ?></div>
<div class="sep">:</div>
<div class="text"><?php echo $bank['account_owner']; ?></div>
</div>
<div class="bank-item">
<div class="title"><?php echo $text_bank_bank_no; ?></div>
<div class="sep">:</div>
<div class="text"><?php echo $bank['bank_no']; ?></div>
</div>
<div class="bank-item">
<div class="title"><?php echo $text_bank_account_no; ?></div>
<div class="sep">:</div>
<div class="text"><?php echo $bank['account_no']; ?></div>
</div>
<div class="bank-item">
<div class="title"><?php echo $text_bank_iban_no; ?></div>
<div class="sep">:</div>
<div class="text"><?php echo $bank['iban_no']; ?></div>
</div>
</div>
</label>
</div>
<?php $i++; ?>
<?php } ?>
</form>
</div>
<div class="buttons">
<div class="right">
<input type="button" value="<?php echo $button_confirm; ?>" id="button-confirm" class="button" />
</div>
</div>
<script type="text/javascript"><!--
$('#button-confirm').on('click', function() {
$.ajax({
url: 'index.php?route=payment/bank_transfer/confirm',
type: 'post',
dataType: 'json',
data: $("#form-bank").serialize(),
success: function(json) {
if (json['error']) {
alert(json['error']);
}
if (json['success']) {
location = '<?php echo $continue; ?>';
}
}
});
});
//--></script>