|
@@ -1,9 +1,10 @@
|
|
|
window.pdfjsLib.GlobalWorkerOptions.workerSrc = '/printer_bridge/static/lib/js/pdf.worker.js';
|
|
|
|
|
|
// Tools
|
|
|
-openerp.pdfJs = window.pdfjsLib || {};
|
|
|
-openerp.printJs = window.printJS || {};
|
|
|
-openerp.html2canvas = window.html2canvas || {};
|
|
|
+openerp.pdfJs = window.pdfjsLib || _.noop();
|
|
|
+openerp.printJs = window.printJS || _.noop();
|
|
|
+openerp.html2canvas = window.html2canvas || _.noop();
|
|
|
+openerp.html2pdf = window.html2pdf || _.noop();
|
|
|
|
|
|
/**
|
|
|
*
|
|
@@ -108,7 +109,7 @@ openerp.printer_bridge = function (instance, local) {
|
|
|
}
|
|
|
|
|
|
if (_.isEqual(data.status, 'error')) {
|
|
|
- instance.web.notification.do_warn('Impresión', 'Ocurrió un error al imprimir: ' + data.printer);
|
|
|
+ instance.web.notification.do_warn('Impresión', 'Ocurrió un error al imprimir: ' + data.printer, data.cause);
|
|
|
}
|
|
|
},
|
|
|
handle_download_data: function (data) {
|
|
@@ -278,6 +279,9 @@ openerp.printer_bridge = function (instance, local) {
|
|
|
init: function (parent) {
|
|
|
this._super(parent);
|
|
|
this.start();
|
|
|
+
|
|
|
+ var config = local.socket_manager.config;
|
|
|
+ this.preview_pdf = config.action_preview_pdf || false;
|
|
|
},
|
|
|
start: function () {
|
|
|
this.defer = $.Deferred();
|
|
@@ -578,13 +582,14 @@ openerp.printer_bridge = function (instance, local) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (this.socket_manager.socket.disconnected) {
|
|
|
- if (config.action_download_pdf) {
|
|
|
- download_pdf(data);
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (config.action_download_pdf) {
|
|
|
+ download_pdf(data);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
+ if (this.socket_manager.socket.disconnected) {
|
|
|
var widget = new PrinterUnavailableDialog();
|
|
|
+
|
|
|
widget.can_download().then(function (can_download) {
|
|
|
if (!can_download) {
|
|
|
return;
|
|
@@ -616,16 +621,35 @@ openerp.printer_bridge = function (instance, local) {
|
|
|
print_test: function (e) {
|
|
|
e.preventDefault();
|
|
|
|
|
|
- var html = openerp.web.qweb.render('EiruPosTicket');
|
|
|
+ var wrapper = document.createElement('div');
|
|
|
+ wrapper.innerHTML = openerp.web.qweb.render('EiruPosTicket');
|
|
|
+ wrapper.setAttribute('id', 'ticket_wrapper')
|
|
|
+
|
|
|
+ $('body').append(wrapper);
|
|
|
+
|
|
|
+ // var ticket_el = $('body').find('.eiru_pos_ticket').get(0);
|
|
|
+ var ticket_el = document.querySelector('.eiru_pos_ticket');
|
|
|
+
|
|
|
+ console.log(ticket_el);
|
|
|
+
|
|
|
var pdf = new jsPDF({
|
|
|
unit: 'mm',
|
|
|
format: [290, 70]
|
|
|
});
|
|
|
|
|
|
- pdf.fromHTML(html, 0, 0);
|
|
|
+ instance.html2canvas(ticket_el, {
|
|
|
+ canvas: pdf.canvas,
|
|
|
+ logging: false,
|
|
|
+ removeContainer: true,
|
|
|
+ width: 264.5,
|
|
|
+ height: 1016.6
|
|
|
+ }).then(function (canvas) {
|
|
|
+ console.log(canvas);
|
|
|
+ });
|
|
|
|
|
|
- var data = pdf.output('datauristring');
|
|
|
- local.print(data);
|
|
|
+ // var data = pdf.output('datauristring');
|
|
|
+ // console.log(data);
|
|
|
+ // local.print(data);
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -752,14 +776,15 @@ openerp.printer_bridge = function (instance, local) {
|
|
|
this.trigger_preview_pdf(action);
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ if (config.action_download_pdf) {
|
|
|
+ self.trigger_download_pdf(action);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
if (local.socket_manager.socket.disconnected) {
|
|
|
- if (config.action_download_pdf) {
|
|
|
- self.trigger_download_pdf(action);
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
var widget = new PrinterUnavailableDialog(this);
|
|
|
+
|
|
|
widget.can_download().then(function (can_download) {
|
|
|
if (!can_download) {
|
|
|
return;
|