X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/4440782f0737cd715dbd96851ecc2dbd8cd639f2..82515b2d93dc5632f24d6e0b6f8f05f3fd19fbb0:/SL/DB/Helpers/AttrNumber.pm diff --git a/SL/DB/Helpers/AttrNumber.pm b/SL/DB/Helpers/AttrNumber.pm new file mode 100644 index 000000000..98acf192c --- /dev/null +++ b/SL/DB/Helpers/AttrNumber.pm @@ -0,0 +1,37 @@ +package SL::DB::Helpers::AttrNumber; + +use strict; + +use Carp; +use English; + +sub define { + my $package = shift; + my $attribute = shift; + my %params = @_; + + $params{places} = 2 if !defined($params{places}); + + my $code = <${attribute}(\$::form->parse_amount(\\\%::myconfig, \$_[0])); + } + + return \$::form->format_amount(\\\%::myconfig, \$self->${attribute}, $params{places}); +} + +1; +CODE + + eval $code; + croak "Defining '${attribute}_as_number' failed: $EVAL_ERROR" if $EVAL_ERROR; + + return 1; +} + +1;