diff --git a/Lib/Tickets/BaseTicket.php b/Lib/Tickets/BaseTicket.php index 6187942..64b2ead 100644 --- a/Lib/Tickets/BaseTicket.php +++ b/Lib/Tickets/BaseTicket.php @@ -18,6 +18,7 @@ use FacturaScripts\Dinamic\Model\User; use Mike42\Escpos\PrintConnectors\DummyPrintConnector; use Mike42\Escpos\Printer; +use FacturaScripts\Dinamic\Model\Contacto; /** * @author Carlos Garcia Gomez @@ -544,7 +545,31 @@ 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) { + 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) . "\n"); + static::$escpos->text(static::sanitize( + $shippingAddress->codpostal . ' (' . $shippingAddress->ciudad . '), ' . $shippingAddress->provincia + ) . ", "); + + }else{ + // sino imprimimos la direccion de factura + static::$escpos->text(static::sanitize($model->direccion) . "\n"); + } + } + + static::$escpos->text("\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/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 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 @@ + + +