X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FTemplate%2FPlugin%2FLxERP.pm;h=1bd03dab83a3986a19915e2729bb3ec5e86f7a23;hb=b7c3c5b701a69be1c1e8d7c45a89f1ac96c70faa;hp=ed2287b429833104b67dc84fa4104f9289b91337;hpb=d1e4ee7951b4ea788fcfd6bf882865f1b2724966;p=kivitendo-erp.git diff --git a/SL/Template/Plugin/LxERP.pm b/SL/Template/Plugin/LxERP.pm index ed2287b42..1bd03dab8 100644 --- a/SL/Template/Plugin/LxERP.pm +++ b/SL/Template/Plugin/LxERP.pm @@ -3,6 +3,10 @@ package SL::Template::Plugin::LxERP; use base qw( Template::Plugin ); use Template::Plugin; +use List::Util qw(min); + +use SL::AM; + sub new { my $class = shift; my $context = shift; @@ -17,6 +21,15 @@ sub format_amount { 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) = @_; @@ -32,5 +45,49 @@ sub escape_br { return $var; } -1; +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|| . join('', map { '' } @words) . qq|
{class} . '>' . $self->_turn90_word($_) . '
|; + + } else { + return $self->_turn90_word($word); + } +} + +1;