X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=SL%2FTemplate%2FPlugin%2FLxERP.pm;h=40bf195f205f2569b422ed92448fcf621e6c3f7b;hb=73a58f3dceeb378343ceb151942828eea686b75a;hp=a97344af25e16aedb756b473e068521b619452f2;hpb=2ef21b8f2aaae439a9408977458bdeb9b0fd9e25;p=kivitendo-erp.git
diff --git a/SL/Template/Plugin/LxERP.pm b/SL/Template/Plugin/LxERP.pm
index a97344af2..40bf195f2 100644
--- a/SL/Template/Plugin/LxERP.pm
+++ b/SL/Template/Plugin/LxERP.pm
@@ -3,6 +3,12 @@ package SL::Template::Plugin::LxERP;
use base qw( Template::Plugin );
use Template::Plugin;
+use List::Util qw(min);
+
+use SL::AM;
+
+use strict;
+
sub new {
my $class = shift;
my $context = shift;
@@ -11,17 +17,100 @@ sub new {
}
sub format_amount {
+ my ($self, $var, $places, $skip_zero, $dash) = @_;
+
+ return $main::form->format_amount(\%main::myconfig, $var * 1, $places, $dash) unless $skip_zero && $var == 0;
+ return '';
+}
+
+sub round_amount {
my ($self, $var, $places, $skip_zero) = @_;
- return $main::form->format_amount(\%main::myconfig, $var * 1, $places) unless $skip_zero && $var == 0;
+ return $main::form->round_amount($var * 1, $places) unless $skip_zero && $var == 0;
return '';
}
+sub format_amount_units {
+ my ($self, $amount, $amount_unit, $part_unit) = @_;
+
+ return $main::form->format_amount_units('amount' => $amount,
+ 'part_unit' => $part_unit,
+ 'amount_unit' => $amount_unit,
+ 'conv_units' => 'convertible_not_smaller');
+}
+
sub format_percent {
my ($self, $var, $places, $skip_zero) = @_;
+ $places ||= 2;
+
return $self->format_amount($var * 100, $places, $skip_zero);
}
-1;
+sub escape_br {
+ my ($self, $var) = @_;
+
+ $var =~ s/\r//g;
+ $var =~ s/\n/
/g;
+
+ return $var;
+}
+
+sub format_string {
+ my $self = shift;
+ my $string = shift;
+
+ return $main::form->format_string($string, @_);
+}
+
+sub numtextrows {
+ my $self = shift;
+ return $main::form->numtextrows(@_);
+}
+
+sub _turn90_word {
+ my $self = shift;
+ my $word = shift || "";
+
+ return join '
', map { $main::locale->quote_special_chars('HTML', $_) } split(m//, $word);
+}
+
+sub turn90 {
+ my $self = shift;
+ my $word = shift;
+ my $args = shift;
+
+ $args ||= { };
+ $word ||= "";
+
+ $args->{split_by} ||= 'chars';
+ $args->{class} = " class=\"$args->{class}\"" if ($args->{class});
+
+ if ($args->{split_by} eq 'words') {
+ my @words = split m/\s+/, $word;
+
+ if (1 >= scalar @words) {
+ return $self->_turn90_word($words[0]);
+ }
+
+ return qq|
{class} . '>' . $self->_turn90_word($_) . ' | ' } @words) . qq|