From ba291f46205eff0ebcc5ae92c6198bf67f87bf1d Mon Sep 17 00:00:00 2001 From: Pablo Ferrandez Roca Date: Tue, 19 Aug 2025 13:37:04 +0200 Subject: [PATCH 1/2] Plugin actualizado --- Controller/EditTicketPrinter.php | 2 ++ Controller/SendTicket.php | 2 +- Lib/Export/TicketExport.php | 4 +++- Lib/Tickets/BaseTicket.php | 10 +++++----- Lib/Tickets/Gift.php | 4 +++- Lib/Tickets/Normal.php | 6 ++++-- Lib/Tickets/PaymentReceipt.php | 6 ++++-- Model/Ticket.php | 8 ++++---- Model/TicketPrinter.php | 8 ++++---- Test/main/Lib/Tickets/GiftTest.php | 4 +++- Test/main/Lib/Tickets/NormalTest.php | 4 +++- Test/main/Lib/Tickets/PaymentReceiptTest.php | 4 +++- View/SendTicket.html.twig | 10 +++++----- View/Tab/DownloadPrinterApp.html.twig | 16 ++++++++-------- facturascripts.ini | 2 +- 15 files changed, 53 insertions(+), 37 deletions(-) diff --git a/Controller/EditTicketPrinter.php b/Controller/EditTicketPrinter.php index 84f4453..c9ebd76 100644 --- a/Controller/EditTicketPrinter.php +++ b/Controller/EditTicketPrinter.php @@ -8,6 +8,8 @@ use FacturaScripts\Core\Base\DataBase\DataBaseWhere; use FacturaScripts\Core\Lib\ExtendedController\BaseView; use FacturaScripts\Core\Lib\ExtendedController\EditController; +use FacturaScripts\Core\Tools; + /** * @author Carlos Garcia Gomez diff --git a/Controller/SendTicket.php b/Controller/SendTicket.php index e00cb01..66fe0bb 100644 --- a/Controller/SendTicket.php +++ b/Controller/SendTicket.php @@ -6,7 +6,7 @@ namespace FacturaScripts\Plugins\Tickets\Controller; use FacturaScripts\Core\Base\Controller; -use FacturaScripts\Core\Model\Base\ModelClass; +use FacturaScripts\Core\Template\ModelClass; use FacturaScripts\Core\Tools; use FacturaScripts\Dinamic\Lib\Tickets\Gift; use FacturaScripts\Dinamic\Lib\Tickets\Normal; diff --git a/Lib/Export/TicketExport.php b/Lib/Export/TicketExport.php index 76c6d7c..e12a3bb 100644 --- a/Lib/Export/TicketExport.php +++ b/Lib/Export/TicketExport.php @@ -6,7 +6,9 @@ namespace FacturaScripts\Plugins\Tickets\Lib\Export; use FacturaScripts\Core\Lib\Export\ExportBase; -use Symfony\Component\HttpFoundation\Response; +use FacturaScripts\Core\Response; +use FacturaScripts\Core\Tools; + /** * @author Carlos Garcia Gomez diff --git a/Lib/Tickets/BaseTicket.php b/Lib/Tickets/BaseTicket.php index 59d6bf9..2a6962e 100644 --- a/Lib/Tickets/BaseTicket.php +++ b/Lib/Tickets/BaseTicket.php @@ -6,7 +6,7 @@ namespace FacturaScripts\Plugins\Tickets\Lib\Tickets; use FacturaScripts\Core\Base\DataBase\DataBaseWhere; -use FacturaScripts\Core\Model\Base\ModelClass; +use FacturaScripts\Core\Template\ModelClass; use FacturaScripts\Core\Plugins; use FacturaScripts\Core\Tools; use FacturaScripts\Core\Translator; @@ -39,7 +39,7 @@ abstract class BaseTicket private static $openDrawer = true; - abstract public static function print(ModelClass $model, TicketPrinter $printer, User $user, Agente $agent = null): bool; + abstract public static function print(ModelClass $model, TicketPrinter $printer, User $user, ?Agente $agent = null): bool; public static function setLines(?array $lines = null): void { @@ -98,7 +98,7 @@ protected static function getPaymentMethods(ModelClass $model, TicketPrinter $pr // si no es una factura buscamos si tiene anticipos $prepagoModel = new PrePago(); $where = [ - new DataBaseWhere('modelid', $model->primaryColumnValue()), + new DataBaseWhere('modelid', $model->id()), new DataBaseWhere('modelname', $model->modelClassName()), ]; foreach ($prepagoModel->all($where, [], 0, 0) as $prepago) { @@ -123,7 +123,7 @@ protected static function getPaymentMethods(ModelClass $model, TicketPrinter $pr // pintamos las formas de pago foreach ($paymentMethods as $codpago => $total) { $payment = new FormaPago(); - if (false === $payment->loadFromCode($codpago)) { + if (false === $payment->load($codpago)) { continue; } @@ -214,7 +214,7 @@ protected static function getSubtotals(ModelClass $model, array $lines): array ]; $impuesto = new Impuesto(); - if ($line->codimpuesto && $impuesto->loadFromCode($line->codimpuesto)) { + if ($line->codimpuesto && $impuesto->load($line->codimpuesto)) { $subtotals[$key]['tax'] = $impuesto->descripcion; } } diff --git a/Lib/Tickets/Gift.php b/Lib/Tickets/Gift.php index 4f2b828..24ef00f 100644 --- a/Lib/Tickets/Gift.php +++ b/Lib/Tickets/Gift.php @@ -5,7 +5,9 @@ namespace FacturaScripts\Plugins\Tickets\Lib\Tickets; -use FacturaScripts\Core\Model\Base\ModelClass; +use FacturaScripts\Core\Template\ModelClass; +use FacturaScripts\Core\Tools; + use FacturaScripts\Dinamic\Model\Ticket; use FacturaScripts\Dinamic\Model\TicketPrinter; diff --git a/Lib/Tickets/Normal.php b/Lib/Tickets/Normal.php index 2048dae..97f65a1 100644 --- a/Lib/Tickets/Normal.php +++ b/Lib/Tickets/Normal.php @@ -5,7 +5,9 @@ namespace FacturaScripts\Plugins\Tickets\Lib\Tickets; -use FacturaScripts\Core\Model\Base\ModelClass; +use FacturaScripts\Core\Template\ModelClass; +use FacturaScripts\Core\Tools; + use FacturaScripts\Dinamic\Model\Agente; use FacturaScripts\Dinamic\Model\Ticket; use FacturaScripts\Dinamic\Model\TicketPrinter; @@ -17,7 +19,7 @@ */ class Normal extends BaseTicket { - public static function print(ModelClass $model, TicketPrinter $printer, User $user, Agente $agent = null): bool + public static function print(ModelClass $model, TicketPrinter $printer, User $user, ?Agente $agent = null): bool { static::init(); diff --git a/Lib/Tickets/PaymentReceipt.php b/Lib/Tickets/PaymentReceipt.php index aa66dae..f392f88 100644 --- a/Lib/Tickets/PaymentReceipt.php +++ b/Lib/Tickets/PaymentReceipt.php @@ -5,7 +5,9 @@ namespace FacturaScripts\Plugins\Tickets\Lib\Tickets; -use FacturaScripts\Core\Model\Base\ModelClass; +use FacturaScripts\Core\Template\ModelClass; +use FacturaScripts\Core\Tools; + use FacturaScripts\Dinamic\Model\Agente; use FacturaScripts\Dinamic\Model\Ticket; use FacturaScripts\Dinamic\Model\TicketPrinter; @@ -17,7 +19,7 @@ */ class PaymentReceipt extends BaseTicket { - public static function print(ModelClass $model, TicketPrinter $printer, User $user, Agente $agent = null): bool + public static function print(ModelClass $model, TicketPrinter $printer, User $user, ?Agente $agent = null): bool { static::init(); diff --git a/Model/Ticket.php b/Model/Ticket.php index 92973cf..c8a100b 100644 --- a/Model/Ticket.php +++ b/Model/Ticket.php @@ -5,8 +5,8 @@ namespace FacturaScripts\Plugins\Tickets\Model; -use FacturaScripts\Core\Model\Base\ModelClass; -use FacturaScripts\Core\Model\Base\ModelTrait; +use FacturaScripts\Core\Template\ModelClass; +use FacturaScripts\Core\Template\ModelTrait; use FacturaScripts\Core\Tools; use FacturaScripts\Dinamic\Model\Agente; @@ -72,7 +72,7 @@ class Ticket extends ModelClass */ public $title; - public function clear() + public function clear(): void { parent::clear(); $this->appversion = 0.0; @@ -84,7 +84,7 @@ public function clear() public function getPrinter(): TicketPrinter { $printer = new TicketPrinter(); - $printer->loadFromCode($this->idprinter); + $printer->load($this->idprinter); return $printer; } diff --git a/Model/TicketPrinter.php b/Model/TicketPrinter.php index 7b99444..ca1dd30 100644 --- a/Model/TicketPrinter.php +++ b/Model/TicketPrinter.php @@ -5,8 +5,8 @@ namespace FacturaScripts\Plugins\Tickets\Model; -use FacturaScripts\Core\Model\Base\ModelClass; -use FacturaScripts\Core\Model\Base\ModelTrait; +use FacturaScripts\Core\Template\ModelClass; +use FacturaScripts\Core\Template\ModelTrait; use FacturaScripts\Core\Tools; use FacturaScripts\Dinamic\Model\ApiAccess; use FacturaScripts\Dinamic\Model\ApiKey; @@ -108,7 +108,7 @@ class TicketPrinter extends ModelClass /** @var int */ public $title_font_size; - public function clear() + public function clear(): void { parent::clear(); $this->creationdate = Tools::date(); @@ -140,7 +140,7 @@ public function delete(): bool public function getApiKey(): ApiKey { $apikey = new ApiKey(); - $apikey->loadFromCode($this->idapikey); + $apikey->load($this->idapikey); return $apikey; } diff --git a/Test/main/Lib/Tickets/GiftTest.php b/Test/main/Lib/Tickets/GiftTest.php index 2f42d86..f53959d 100644 --- a/Test/main/Lib/Tickets/GiftTest.php +++ b/Test/main/Lib/Tickets/GiftTest.php @@ -5,7 +5,9 @@ namespace FacturaScripts\Test\Plugins\Tickets\Lib\Tickets; -use FacturaScripts\Core\Base\Calculator; +use FacturaScripts\Core\Lib\Calculator; +use FacturaScripts\Core\Tools; + use FacturaScripts\Dinamic\Lib\Tickets\Gift; use FacturaScripts\Dinamic\Model\Cliente; use FacturaScripts\Dinamic\Model\FacturaCliente; diff --git a/Test/main/Lib/Tickets/NormalTest.php b/Test/main/Lib/Tickets/NormalTest.php index 1ae7f0a..eb706fe 100644 --- a/Test/main/Lib/Tickets/NormalTest.php +++ b/Test/main/Lib/Tickets/NormalTest.php @@ -5,7 +5,9 @@ namespace FacturaScripts\Test\Plugins\Tickets\Lib\Tickets; -use FacturaScripts\Core\Base\Calculator; +use FacturaScripts\Core\Lib\Calculator; +use FacturaScripts\Core\Tools; + use FacturaScripts\Dinamic\Lib\Tickets\Normal; use FacturaScripts\Dinamic\Model\FacturaCliente; use FacturaScripts\Dinamic\Model\Ticket; diff --git a/Test/main/Lib/Tickets/PaymentReceiptTest.php b/Test/main/Lib/Tickets/PaymentReceiptTest.php index a7fa883..dc8f56f 100644 --- a/Test/main/Lib/Tickets/PaymentReceiptTest.php +++ b/Test/main/Lib/Tickets/PaymentReceiptTest.php @@ -5,7 +5,9 @@ namespace FacturaScripts\Test\Plugins\Tickets\Lib\Tickets; -use FacturaScripts\Core\Base\Calculator; +use FacturaScripts\Core\Lib\Calculator; +use FacturaScripts\Core\Tools; + use FacturaScripts\Dinamic\Lib\Tickets\PaymentReceipt; use FacturaScripts\Dinamic\Model\Cliente; use FacturaScripts\Dinamic\Model\FacturaCliente; diff --git a/View/SendTicket.html.twig b/View/SendTicket.html.twig index 25a55e0..881ce4d 100644 --- a/View/SendTicket.html.twig +++ b/View/SendTicket.html.twig @@ -19,8 +19,8 @@

{{ fsc.title }}

-
- {% for format in fsc.getFormats(fsc.modelClassName) %} {% endfor %} @@ -29,12 +29,12 @@ {% for printer in fsc.printers %} {% if printer.isActive() %} {% else %}

@@ -42,7 +42,7 @@

{% endif %} {% else %} -
+
{{ trans('no-printer-connected') }}
{% endfor %} diff --git a/View/Tab/DownloadPrinterApp.html.twig b/View/Tab/DownloadPrinterApp.html.twig index b6d6695..78c1bf7 100644 --- a/View/Tab/DownloadPrinterApp.html.twig +++ b/View/Tab/DownloadPrinterApp.html.twig @@ -5,29 +5,29 @@
-
+

{{ trans('connect-a-printer-p') }}

- diff --git a/facturascripts.ini b/facturascripts.ini index 581365f..0e97cd8 100644 --- a/facturascripts.ini +++ b/facturascripts.ini @@ -1,5 +1,5 @@ name = 'Tickets' description = 'Permite imprimir tickets de facturas, albaranes, pedidos, presupuestos y servicios.' version = 2.41 -min_version = 2024.5 +min_version = 2025 compatible = 'PrePagos' \ No newline at end of file From 7c8374b3d6a5f23f0523307118f749b7ccdbc741 Mon Sep 17 00:00:00 2001 From: Pablo Ferrandez Roca Date: Fri, 29 Aug 2025 15:28:06 +0200 Subject: [PATCH 2/2] actualizdas funciones y bootstrap --- Controller/EditTicketPrinter.php | 2 +- Controller/SendTicket.php | 2 +- View/SendTicket.html.twig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Controller/EditTicketPrinter.php b/Controller/EditTicketPrinter.php index c9ebd76..5f03c2c 100644 --- a/Controller/EditTicketPrinter.php +++ b/Controller/EditTicketPrinter.php @@ -88,7 +88,7 @@ protected function loadData($viewName, $view) break; case 'ListTicket': - $id = $this->views[$mvn]->model->primaryColumnValue(); + $id = $this->views[$mvn]->model->id(); $where = [new DataBaseWhere('idprinter', $id)]; $view->loadData('', $where); break; diff --git a/Controller/SendTicket.php b/Controller/SendTicket.php index 66fe0bb..57fc307 100644 --- a/Controller/SendTicket.php +++ b/Controller/SendTicket.php @@ -82,7 +82,7 @@ public function privateCore(&$response, $user, $permissions) } $model = new $modelClass(); - if (false === $model->loadFromCode($this->modelCode)) { + if (false === $model->load($this->modelCode)) { $this->setTemplate('Error/SendTicket'); return; } diff --git a/View/SendTicket.html.twig b/View/SendTicket.html.twig index 881ce4d..ea5599e 100644 --- a/View/SendTicket.html.twig +++ b/View/SendTicket.html.twig @@ -42,7 +42,7 @@

{% endif %} {% else %} -
+
{{ trans('no-printer-connected') }}
{% endfor %}