|
@@ -12,6 +12,7 @@ openerp.html2canvas = window.html2canvas || {};
|
|
|
*/
|
|
|
openerp.print_engine = function (instance, local) {
|
|
|
|
|
|
+ // Clase que maneja el socket de conexión entre odoo y el programa de impresión cliente encargada de la impresión directa
|
|
|
var SocketManager = instance.web.Class.extend({
|
|
|
init: function () {
|
|
|
this.socket = null;
|
|
@@ -191,6 +192,7 @@ openerp.print_engine = function (instance, local) {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ // Diálogo que sirve para descargar del repositorio el programa cliente
|
|
|
var DownloadPrinterTools = instance.web.Widget.extend({
|
|
|
template: 'DownloadPrinterTools',
|
|
|
events: {
|
|
@@ -248,6 +250,7 @@ openerp.print_engine = function (instance, local) {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ // Icono de notificación en la barra superior del sistema
|
|
|
var PrinterTopNotificator = instance.web.Widget.extend({
|
|
|
template: 'PrinterTopNotificator',
|
|
|
events: {
|
|
@@ -266,6 +269,7 @@ openerp.print_engine = function (instance, local) {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ // Diálogo de impresión cuando la impresión directa no está disponible
|
|
|
var PrinterUnavailableDialog = instance.web.Widget.extend({
|
|
|
template: 'PrinterUnavailableDialog',
|
|
|
events: {
|
|
@@ -304,6 +308,7 @@ openerp.print_engine = function (instance, local) {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ // Diálogo de selección de la impresora que se encargará de la impresión
|
|
|
var PrinterSelectionDialog = instance.web.Widget.extend({
|
|
|
template: 'PrinterSelectionDialog',
|
|
|
events: {
|
|
@@ -352,6 +357,7 @@ openerp.print_engine = function (instance, local) {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ // Pequeño visor pdf
|
|
|
var PdfViewerDialog = instance.web.Widget.extend({
|
|
|
template: 'PdfViewerDialog',
|
|
|
events: {
|
|
@@ -535,10 +541,12 @@ openerp.print_engine = function (instance, local) {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ // Dispara el visor pdf
|
|
|
var preview_pdf = function (owner, data, name) {
|
|
|
new PdfViewerDialog(owner, data, name);
|
|
|
};
|
|
|
|
|
|
+ // Dispara la descarga del pdf
|
|
|
var download_pdf = function (source) {
|
|
|
var matchMimeType = source.match(/data:[a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+.*,/);
|
|
|
|
|
@@ -558,6 +566,7 @@ openerp.print_engine = function (instance, local) {
|
|
|
a.click();
|
|
|
};
|
|
|
|
|
|
+ // Dispara la impresión directa o descarga pdf
|
|
|
local.print = function (data) {
|
|
|
var config = this.socket_manager.config;
|
|
|
|
|
@@ -592,6 +601,7 @@ openerp.print_engine = function (instance, local) {
|
|
|
this.socket_manager.request_print(data);
|
|
|
};
|
|
|
|
|
|
+ // Test
|
|
|
local.TicketTestPage = instance.web.Widget.extend({
|
|
|
template: 'TicketTestPage',
|
|
|
events: {
|