}
sub _replace_vars {
- my $object = shift;
- my $vars = shift;
- my $sub = shift;
- my $str = $object->$sub;
+ my (%params) = @_;
+ my $sub = $params{attribute};
+ my $str = $params{object}->$sub;
$str =~ s{ <\% ([a-z0-9_]+) ( \s+ format \s*=\s* (.*?) \s* )? \%>}{
my ($key, $format) = ($1, $3);
- if (!$vars->{$key}) {
+ if (!$params{vars}->{$key}) {
'';
} elsif ($format) {
pattern => $format,
locale => 'de_DE',
time_zone => 'local',
- )->format_datetime($vars->{$key}->[0]);
+ )->format_datetime($params{vars}->{$key}->[0]);
} else {
- $vars->{$1}->[1]->($vars->{$1}->[0]);
+ $params{vars}->{$1}->[1]->($params{vars}->{$1}->[0]);
}
}eigx;
- $object->$sub($str);
+ $params{object}->$sub($str);
}
sub _create_periodic_invoice {
employee => $order->employee, # new_from sets employee to import user
);
- _replace_vars($invoice, $time_period_vars, $_) for qw(notes intnotes transaction_description);
+ _replace_vars(object => $invoice, vars => $time_period_vars, attribute => $_) for qw(notes intnotes transaction_description);
foreach my $item (@{ $invoice->items }) {
- _replace_vars($item, $time_period_vars, $_) for qw(description longdescription);
+ _replace_vars(object => $item, vars => $time_period_vars, attribute => $_) for qw(description longdescription);
}
$invoice->post(ar_id => $config->ar_chart_id) || die;