blob: aaf48a206c1129ee08b557cf0ac1137296beffa1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
odoo.define('website_sale.validate', function (require) {
'use strict';
var publicWidget = require('web.public.widget');
var core = require('web.core');
var _t = core._t;
publicWidget.registry.websiteSaleValidate = publicWidget.Widget.extend({
selector: 'div.oe_website_sale_tx_status[data-order-id]',
/**
* @override
*/
start: function () {
var def = this._super.apply(this, arguments);
this._poll_nbr = 0;
this._paymentTransationPollStatus();
return def;
},
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* @private
*/
_paymentTransationPollStatus: function () {
var self = this;
this._rpc({
route: '/shop/payment/get_status/' + parseInt(this.$el.data('order-id')),
}).then(function (result) {
self._poll_nbr += 1;
if (result.recall) {
if (self._poll_nbr < 20) {
setTimeout(function () {
self._paymentTransationPollStatus();
}, Math.ceil(self._poll_nbr / 3) * 1000);
} else {
var $message = $(result.message);
var $warning = $("<i class='fa fa-warning' style='margin-right:10px;'>");
$warning.attr("title", _t("We are waiting for confirmation from the bank or the payment provider"));
$message.find('span:first').prepend($warning);
result.message = $message.html();
}
}
self.$el.html(result.message);
});
},
});
});
|