my $form = $main::form;
my %myconfig = %main::myconfig;
- my ($duedate, $taxincluded, @curr);
+ my ($duedate, $taxincluded);
$form->create_links("AR", \%myconfig, "customer");
$duedate = $form->{duedate};
$form->{notes} = $form->{intnotes} unless $form->{notes};
# currencies
- @curr = split(/:/, $form->{currencies});
- chomp $curr[0];
- $form->{defaultcurrency} = $curr[0];
+ $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
- map { $form->{selectcurrency} .= "<option>$_\n" } @curr;
+ map { $form->{selectcurrency} .= "<option>$_\n" } $form->get_all_currencies(\%myconfig);
# customers
if (@{ $form->{all_customer} || [] }) {
$exchangerate = qq|
<input type=hidden name=forex value=$form->{forex}>
|;
- if ($form->{currency} ne $form->{defaultcurrency}) {
+ if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) {
if ($form->{forex}) {
$exchangerate .= qq|
<th align=right>| . $locale->text('Exchangerate') . qq|</th>
</tr>
|;
- if ($form->{currency} eq $form->{defaultcurrency}) {
+ if ($form->{defaultcurrency} && ($form->{currency} eq $form->{defaultcurrency})) {
@column_index = qw(datepaid source memo paid AR_paid paid_project_id);
} else {
@column_index = qw(datepaid source memo paid exchangerate AR_paid paid_project_id);
}
$exchangerate = qq| |;
- if ($form->{currency} ne $form->{defaultcurrency}) {
+ if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) {
if ($form->{"forex_$i"}) {
$exchangerate =
qq|<input type=hidden name="exchangerate_$i" value=$form->{"exchangerate_$i"}>$form->{"exchangerate_$i"}|;
$form->error($locale->text('Cannot post payment for a closed period!')) if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
- if ($form->{currency} ne $form->{defaultcurrency}) {
+ if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) {
# $form->{"exchangerate_$i"} = $form->{exchangerate} if ($invdate == $datepaid);
$form->isblank("exchangerate_$i", $locale->text('Exchangerate for payment missing!'));
}
$form->isblank("duedate", $locale->text('Due Date missing!'));
$form->isblank("customer", $locale->text('Customer missing!'));
+ if ($myconfig{mandatory_departments} && !$form->{department}) {
+ $form->{saved_message} = $::locale->text('You have to specify a department.');
+ update();
+ exit;
+ }
+
my $closedto = $form->datetonum($form->{closedto}, \%myconfig);
my $transdate = $form->datetonum($form->{transdate}, \%myconfig);
$form->error($locale->text('Cannot post transaction for a closed period!')) if ($form->date_closed($form->{"transdate"}, \%myconfig));
unless grep $_*1, map $form->parse_amount(\%myconfig, $form->{"amount_$_"}), 1..$form->{rowcount};
$form->isblank("exchangerate", $locale->text('Exchangerate missing!'))
- if ($form->{currency} ne $form->{defaultcurrency});
+ if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency}));
delete($form->{AR});
$form->error($locale->text('Cannot post payment for a closed period!'))
if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
- if ($form->{currency} ne $form->{defaultcurrency}) {
+ if ($form->{defaultcurrency} && ($form->{currency} ne $form->{defaultcurrency})) {
$form->{"exchangerate_$i"} = $form->{exchangerate} if ($transdate == $datepaid);
$form->isblank("exchangerate_$i", $locale->text('Exchangerate for payment missing!'));
}
my ($customer) = split /--/, $form->{customer};
if ($form->{oldcustomer} ne "$customer--$form->{customer_id}") {
update();
- exit;
+ ::end_of_request();
}
$form->{AR}{receivables} = $form->{ARselected};
$form->{storno} = 0;
- $main::lxdebug->message(0, $form->{amount});
$form->{id} = 0 if $form->{postasnew};
$form->error($locale->text('Cannot post transaction!')) unless AR->post_transaction(\%myconfig, \%$form);
$form->all_vc(\%myconfig, "customer", "AR");
$form->{title} = $locale->text('AR Transactions');
- $form->{fokus} = "search.customer";
$form->{jsscript} = 1;
$form->get_lists("projects" => { "key" => "ALL_PROJECTS", "all" => 1 },