Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / SL / Presenter / Invoice.pm
index ebde34f..ba662ed 100644 (file)
@@ -2,68 +2,69 @@ package SL::Presenter::Invoice;
 
 use strict;
 
-use parent qw(Exporter);
+use SL::Presenter::EscapedText qw(escape is_escaped);
 
 use Exporter qw(import);
-our @EXPORT = qw(invoice sales_invoice ar_transaction purchase_invoice ap_transaction);
+our @EXPORT_OK = qw(invoice sales_invoice ar_transaction purchase_invoice ap_transaction);
 
 use Carp;
 
 sub invoice {
-  my ($self, $invoice, %params) = @_;
+  my ($invoice, %params) = @_;
 
   if ( $invoice->is_sales ) {
     if ( $invoice->invoice ) {
-      return _is_ir_record($self, $invoice, 'is', %params);
+      return _is_ir_record($invoice, 'is', %params);
     } else {
-      return _is_ir_record($self, $invoice, 'ar', %params);
+      return _is_ir_record($invoice, 'ar', %params);
     }
   } else {
     if ( $invoice->invoice ) {
-      return _is_ir_record($self, $invoice, 'ir', %params);
+      return _is_ir_record($invoice, 'ir', %params);
     } else {
-      return _is_ir_record($self, $invoice, 'ap', %params);
+      return _is_ir_record($invoice, 'ap', %params);
     }
   };
 };
 
 sub sales_invoice {
-  my ($self, $invoice, %params) = @_;
+  my ($invoice, %params) = @_;
 
-  return _is_ir_record($self, $invoice, 'is', %params);
+  _is_ir_record($invoice, 'is', %params);
 }
 
 sub ar_transaction {
-  my ($self, $invoice, %params) = @_;
+  my ($invoice, %params) = @_;
 
-  return _is_ir_record($self, $invoice, 'ar', %params);
+  _is_ir_record($invoice, 'ar', %params);
 }
 
 sub purchase_invoice {
-  my ($self, $invoice, %params) = @_;
+  my ($invoice, %params) = @_;
 
-  return _is_ir_record($self, $invoice, 'ir', %params);
+  _is_ir_record($invoice, 'ir', %params);
 }
 
 sub ap_transaction {
-  my ($self, $invoice, %params) = @_;
+  my ($invoice, %params) = @_;
 
-  return _is_ir_record($self, $invoice, 'ap', %params);
+  _is_ir_record($invoice, 'ap', %params);
 }
 
 sub _is_ir_record {
-  my ($self, $invoice, $controller, %params) = @_;
+  my ($invoice, $controller, %params) = @_;
 
   $params{display} ||= 'inline';
 
   croak "Unknown display type '$params{display}'" unless $params{display} =~ m/^(?:inline|table-cell)$/;
 
   my $text = join '', (
-    $params{no_link} ? '' : '<a href="' . $controller . '.pl?action=edit&amp;type=invoice&amp;id=' . $self->escape($invoice->id) . '">',
-    $self->escape($invoice->invnumber),
+    $params{no_link} ? '' : '<a href="' . $controller . '.pl?action=edit&amp;type=invoice&amp;id=' . escape($invoice->id) . '">',
+    escape($invoice->invnumber),
     $params{no_link} ? '' : '</a>',
   );
-  return $self->escaped_text($text);
+
+  is_escaped($text);
 }
 
 1;
@@ -83,22 +84,22 @@ transaction, purchase invoice and AP transaction Rose::DB objects
 
   # Sales invoices:
   my $object = SL::DB::Manager::Invoice->get_first(where => [ invoice => 1 ]);
-  my $html   = SL::Presenter->get->sales_invoice($object, display => 'inline');
+  my $html   = SL::Presenter::Invoice::sales_invoice($object, display => 'inline');
 
   # AR transactions:
   my $object = SL::DB::Manager::Invoice->get_first(where => [ or => [ invoice => undef, invoice => 0 ]]);
-  my $html   = SL::Presenter->get->ar_transaction($object, display => 'inline');
+  my $html   = SL::Presenter::Invoice::ar_transaction($object, display => 'inline');
 
   # Purchase invoices:
   my $object = SL::DB::Manager::PurchaseInvoice->get_first(where => [ invoice => 1 ]);
-  my $html   = SL::Presenter->get->purchase_invoice($object, display => 'inline');
+  my $html   = SL::Presenter::Invoice::purchase_invoice($object, display => 'inline');
 
   # AP transactions:
   my $object = SL::DB::Manager::PurchaseInvoice->get_first(where => [ or => [ invoice => undef, invoice => 0 ]]);
-  my $html   = SL::Presenter->get->ar_transaction($object, display => 'inline');
+  my $html   = SL::Presenter::Invoice::ar_transaction($object, display => 'inline');
 
   # use with any of the above ar/ap/is/ir types:
-  my $html   = SL::Presenter->get->invoice($object, display => 'inline');
+  my $html   = SL::Presenter::Invoice::invoice($object, display => 'inline');
 
 =head1 FUNCTIONS