From ffae956c7cc34001662a0081cd587ceda0903abe Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Mon, 11 Mar 2013 11:27:46 +0100 Subject: [PATCH] Presenter: Funktion format_man_days() --- SL/Presenter/Text.pm | 26 +++++++++++++++++++++++++- locale/de/all | 2 ++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/SL/Presenter/Text.pm b/SL/Presenter/Text.pm index bcae2f96f..637bff6b6 100644 --- a/SL/Presenter/Text.pm +++ b/SL/Presenter/Text.pm @@ -5,7 +5,7 @@ use strict; use parent qw(Exporter); use Exporter qw(import); -our @EXPORT = qw(simple_format truncate); +our @EXPORT = qw(format_man_days simple_format truncate); use Carp; @@ -32,6 +32,21 @@ sub simple_format { return '

' . $text; } +sub format_man_days { + my ($self, $value, %params) = @_; + + return '---' if $params{skip_zero} && !$value; + + return $self->escape($::locale->text('#1 h', $::form->format_amount(\%::myconfig, $value, 2))) if 8.0 > $value; + + $value /= 8.0; + my $output = $::locale->text('#1 MD', int($value)); + my $rest = ($value - int($value)) * 8.0; + $output .= ' ' . $::locale->text('#1 h', $::form->format_amount(\%::myconfig, $rest)) if $rest > 0.0; + + return $self->escape($output); +} + 1; __END__ @@ -53,6 +68,15 @@ SL::Presenter::Text - Presenter module for assorted text helpers =over 4 +=item C + +C<$value> is interpreted to mean a number of hours (for C<$value> < 8) +/ man days (if >= 8). Returns a translated, human-readable version of +it, e.g. C<2 PT 2 h> for the value C<18> and German. + +If the parameter C is trueish then C<---> is returned +instead of the normal formatting if C<$value> equals 0. + =item C Returns the C<$text> truncated after a certain number of diff --git a/locale/de/all b/locale/de/all index cc83308a6..ded08693b 100644 --- a/locale/de/all +++ b/locale/de/all @@ -14,6 +14,8 @@ $self->{texts} = { ' Part Number missing!' => ' Artikelnummer fehlt!', ' missing!' => ' fehlt!', '#1 (custom variable)' => '#1 (benutzerdefinierte Variable)', + '#1 MD' => '#1 PT', + '#1 h' => '#1 h', '#1 of #2 importable objects were imported.' => '#1 von #2 importierbaren Objekten wurden importiert.', '#1 prices were updated.' => '#1 Preise wurden aktualisiert.', '* there are restrictions for the perpetual method, look at chapter "Bemerkungen zu Bestandsmethode" in' => ' für die Bestandsmethode gibt es Einschränkungen, siehe Kapitel "Bemerkungen zu Bestandsmethode" in', -- 2.20.1