From 7de3f8e9934d481c03da4bd07d09ab3545a5cdb4 Mon Sep 17 00:00:00 2001 From: Abderrahim Darghal Belkacemi Date: Thu, 6 Nov 2025 15:29:48 +0100 Subject: [PATCH 1/4] solve merge conflict --- Translation/en_EN.json | 4 +++- Translation/es_ES.json | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Translation/en_EN.json b/Translation/en_EN.json index 8bc551d..e7014cf 100644 --- a/Translation/en_EN.json +++ b/Translation/en_EN.json @@ -95,5 +95,7 @@ "unknown-device": "Unknown device", "vendor-id": "Vendor ID", "vendor-product-id-required-to-print": "Vendor ID and Product ID are required to print.", - "you-can-adjust-parameters": "You can adjust the parameters if necessary." + "you-can-adjust-parameters": "You can adjust the parameters if necessary.", + "last-activity": "Last activity", + "print-shipping-address": "Print shipping address" } \ No newline at end of file diff --git a/Translation/es_ES.json b/Translation/es_ES.json index f8a478a..e625e98 100644 --- a/Translation/es_ES.json +++ b/Translation/es_ES.json @@ -95,5 +95,7 @@ "unknown-device": "Dispositivo desconocido", "vendor-id": "Vendor ID", "vendor-product-id-required-to-print": "El Vendor ID y el Product ID son necesarios para imprimir.", - "you-can-adjust-parameters": "Puede ajustar los parámetros si es necesario." + "you-can-adjust-parameters": "Puede ajustar los parámetros si es necesario.", + "last-activity": "Última actividad", + "print-shipping-address": "Imprimir dirección de envío" } \ No newline at end of file From fbb1ddd3a08d8cbd50c3304bba648f277a9b8eb4 Mon Sep 17 00:00:00 2001 From: Abderrahim Darghal Belkacemi Date: Thu, 6 Nov 2025 15:35:04 +0100 Subject: [PATCH 2/4] fix outdated branch --- Lib/Tickets/BaseTicket.php | 30 ++++++++++++++++++++++++++++++ Model/TicketPrinter.php | 4 ++++ Table/tickets_printers.xml | 5 +++++ XMLView/EditTicketPrinter.xml | 3 +++ 4 files changed, 42 insertions(+) diff --git a/Lib/Tickets/BaseTicket.php b/Lib/Tickets/BaseTicket.php index 6187942..4f476dc 100644 --- a/Lib/Tickets/BaseTicket.php +++ b/Lib/Tickets/BaseTicket.php @@ -18,6 +18,8 @@ use FacturaScripts\Dinamic\Model\User; use Mike42\Escpos\PrintConnectors\DummyPrintConnector; use Mike42\Escpos\Printer; +use FacturaScripts\Dinamic\Model\Contacto; +use FacturaScripts\Dinamic\Model\Pais; /** * @author Carlos Garcia Gomez @@ -545,6 +547,34 @@ protected static function setHeader(ModelClass $model, TicketPrinter $printer, s if (in_array($model->modelClassName(), ['PresupuestoCliente', 'PedidoCliente', 'AlbaranCliente', 'FacturaCliente'])) { static::$escpos->text(static::sanitize(static::$i18n->trans('date') . ': ' . $model->fecha . ' ' . $model->hora) . "\n"); static::$escpos->text(static::sanitize(static::$i18n->trans('customer') . ': ' . $model->nombrecliente) . "\n\n"); + + // si se debe imprimir la dirección de envio + if ($printer->print_shipping_address) { + static::$escpos->text(static::sanitize(static::$i18n->trans('address') . ': ')); + $shippingAddress = new Contacto(); + + if(empty($model->idcontactoenv) && empty($model->direccion)){ + // si las dos están vacías entonces un - + static::$escpos->text(static::sanitize(' - ')); + + } else if ($shippingAddress->load($model->idcontactoenv)) { + // si existe el contacto de envio lo imprimimos + static::$escpos->text(static::sanitize($shippingAddress->direccion) . ", "); + static::$escpos->text(static::sanitize( + $shippingAddress->codpostal . ' (' . $shippingAddress->ciudad . '), ' . $shippingAddress->provincia + ) . ", "); + $pais = new Pais(); + if ($pais->load($shippingAddress->codpais)) { + static::$escpos->text(static::sanitize($pais->nombre) . "\n\n"); + } else { + static::$escpos->text(static::sanitize($shippingAddress->codpais) . "\n\n"); + } + + }else{ + // sino imprimimos la direccion de factura + static::$escpos->text(static::sanitize($model->direccion) . "\n"); + } + } } // añadimos la cabecera diff --git a/Model/TicketPrinter.php b/Model/TicketPrinter.php index 39ddf18..ad9f7a1 100644 --- a/Model/TicketPrinter.php +++ b/Model/TicketPrinter.php @@ -102,6 +102,9 @@ class TicketPrinter extends ModelClass /** @var bool */ public $print_stored_logo; + /** @var bool */ + public $print_shipping_address; + /** @var int */ public $title_font_size; @@ -127,6 +130,7 @@ public function clear(): void $this->print_lines_total = true; $this->print_payment_methods = false; $this->print_stored_logo = false; + $this->print_shipping_address = false; $this->title_font_size = 2; } diff --git a/Table/tickets_printers.xml b/Table/tickets_printers.xml index d666a51..aa761e5 100644 --- a/Table/tickets_printers.xml +++ b/Table/tickets_printers.xml @@ -71,6 +71,11 @@ boolean false + + print_shipping_address + boolean + false + print_invoice_receipts boolean diff --git a/XMLView/EditTicketPrinter.xml b/XMLView/EditTicketPrinter.xml index 2529699..4c3ad6d 100644 --- a/XMLView/EditTicketPrinter.xml +++ b/XMLView/EditTicketPrinter.xml @@ -53,6 +53,9 @@ + + + From f2b7c7319b35ea7ba6b792e7fb5dd202c3bcaf9a Mon Sep 17 00:00:00 2001 From: Abderrahim Darghal Belkacemi Date: Thu, 6 Nov 2025 16:50:55 +0100 Subject: [PATCH 3/4] fix: salto de linea --- Lib/Tickets/BaseTicket.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Lib/Tickets/BaseTicket.php b/Lib/Tickets/BaseTicket.php index 4f476dc..625c65c 100644 --- a/Lib/Tickets/BaseTicket.php +++ b/Lib/Tickets/BaseTicket.php @@ -546,7 +546,7 @@ protected static function setHeader(ModelClass $model, TicketPrinter $printer, s // imprimimos la fecha y el cliente if (in_array($model->modelClassName(), ['PresupuestoCliente', 'PedidoCliente', 'AlbaranCliente', 'FacturaCliente'])) { static::$escpos->text(static::sanitize(static::$i18n->trans('date') . ': ' . $model->fecha . ' ' . $model->hora) . "\n"); - static::$escpos->text(static::sanitize(static::$i18n->trans('customer') . ': ' . $model->nombrecliente) . "\n\n"); + static::$escpos->text(static::sanitize(static::$i18n->trans('customer') . ': ' . $model->nombrecliente) . "\n"); // si se debe imprimir la dirección de envio if ($printer->print_shipping_address) { @@ -565,9 +565,9 @@ protected static function setHeader(ModelClass $model, TicketPrinter $printer, s ) . ", "); $pais = new Pais(); if ($pais->load($shippingAddress->codpais)) { - static::$escpos->text(static::sanitize($pais->nombre) . "\n\n"); + static::$escpos->text(static::sanitize($pais->nombre) . "\n"); } else { - static::$escpos->text(static::sanitize($shippingAddress->codpais) . "\n\n"); + static::$escpos->text(static::sanitize($shippingAddress->codpais) . "\n"); } }else{ @@ -575,6 +575,8 @@ protected static function setHeader(ModelClass $model, TicketPrinter $printer, s static::$escpos->text(static::sanitize($model->direccion) . "\n"); } } + + static::$escpos->text("\n"); } // añadimos la cabecera From e875407587bff280c9b23e572cf3404a4361efae Mon Sep 17 00:00:00 2001 From: Abderrahim Darghal Belkacemi Date: Thu, 6 Nov 2025 17:12:23 +0100 Subject: [PATCH 4/4] fix: reformated address --- Lib/Tickets/BaseTicket.php | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Lib/Tickets/BaseTicket.php b/Lib/Tickets/BaseTicket.php index 625c65c..64b2ead 100644 --- a/Lib/Tickets/BaseTicket.php +++ b/Lib/Tickets/BaseTicket.php @@ -19,7 +19,6 @@ use Mike42\Escpos\PrintConnectors\DummyPrintConnector; use Mike42\Escpos\Printer; use FacturaScripts\Dinamic\Model\Contacto; -use FacturaScripts\Dinamic\Model\Pais; /** * @author Carlos Garcia Gomez @@ -559,16 +558,10 @@ protected static function setHeader(ModelClass $model, TicketPrinter $printer, s } else if ($shippingAddress->load($model->idcontactoenv)) { // si existe el contacto de envio lo imprimimos - static::$escpos->text(static::sanitize($shippingAddress->direccion) . ", "); + static::$escpos->text(static::sanitize($shippingAddress->direccion) . "\n"); static::$escpos->text(static::sanitize( $shippingAddress->codpostal . ' (' . $shippingAddress->ciudad . '), ' . $shippingAddress->provincia ) . ", "); - $pais = new Pais(); - if ($pais->load($shippingAddress->codpais)) { - static::$escpos->text(static::sanitize($pais->nombre) . "\n"); - } else { - static::$escpos->text(static::sanitize($shippingAddress->codpais) . "\n"); - } }else{ // sino imprimimos la direccion de factura