blob: 1af25e42180019bf06e2dfed26c4c082801ccee7 (
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
|
odoo.define('point_of_sale.ErrorTracebackPopup', function(require) {
'use strict';
const ErrorPopup = require('point_of_sale.ErrorPopup');
const Registries = require('point_of_sale.Registries');
// formerly ErrorTracebackPopupWidget
class ErrorTracebackPopup extends ErrorPopup {
get tracebackUrl() {
const blob = new Blob([this.props.body]);
const URL = window.URL || window.webkitURL;
return URL.createObjectURL(blob);
}
get tracebackFilename() {
return `${this.env._t('error')} ${moment().format('YYYY-MM-DD-HH-mm-ss')}.txt`;
}
emailTraceback() {
const address = this.env.pos.company.email;
const subject = this.env._t('IMPORTANT: Bug Report From Odoo Point Of Sale');
window.open(
'mailto:' +
address +
'?subject=' +
(subject ? window.encodeURIComponent(subject) : '') +
'&body=' +
(this.props.body ? window.encodeURIComponent(this.props.body) : '')
);
}
}
ErrorTracebackPopup.template = 'ErrorTracebackPopup';
ErrorTracebackPopup.defaultProps = {
confirmText: 'Ok',
cancelText: 'Cancel',
title: 'Error with Traceback',
body: '',
exitButtonIsShown: false,
exitButtonText: 'Exit Pos',
exitButtonTrigger: 'close-pos'
};
Registries.Component.add(ErrorTracebackPopup);
return ErrorTracebackPopup;
});
|