Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision cbb1f3f2

Von Jan Büren vor mehr als 2 Jahren hinzugefügt

  • ID cbb1f3f20a7c9d574b22d3bd98c842801c5ec148
  • Vorgänger 5a485635
  • Nachfolger 46a49667

Form: check_exchangerate auf Parameter-Validierung umgestellt

Unterschiede anzeigen:

SL/Form.pm
use File::Temp ();
use IO::File;
use Math::BigInt;
use Params::Validate qw(:all);
use POSIX qw(strftime);
use SL::Auth;
use SL::Auth::DB;
......
sub check_exchangerate {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $currency, $transdate, $fld) = @_;
if ($fld !~/^buy|sell$/) {
$self->error('Fatal: check_exchangerate called with invalid buy/sell argument');
}
unless ($transdate) {
$main::lxdebug->leave_sub();
return "";
}
my $self = shift;
validate_pos(@_,
{ type => HASHREF, callbacks => { has_yy_in_dateformat => sub { $_[0]->{dateformat} =~ m/yy/ } } },
{ type => SCALAR }, # should be ISO three letter codes for currency identification (ISO 4217)
{ type => SCALAR, callbacks => { is_valid_kivi_date => sub { shift =~ m/\d+\d+\d+/ } } }, # we have three numers
{ type => SCALAR, callbacks => { is_buy_or_sell_rate => sub { shift =~ m/^buy|sell$/ } } },
);
my ($myconfig, $currency, $transdate, $fld) = @_;
my ($defaultcurrency) = $self->get_default_currency($myconfig);
if ($currency eq $defaultcurrency) {
$main::lxdebug->leave_sub();
return 1;

Auch abrufbar als: Unified diff