#======================================================================
use SL::IR;
+use SL::IS;
use SL::PE;
require "$form->{path}/io.pl";
#quote selectvendor Bug 133
$form->{"selectvendor"} = $form->quote($form->{"selectvendor"});
+ #substitute \n and \r to \s (bug 543)
+ $form->{"selectvendor"} =~ s/[\n\r]/ /g;
+
$form->{exchangerate} =
$form->format_amount(\%myconfig, $form->{exchangerate});
"all" => 0,
"old_id" => \@old_project_ids });
- my (%labels, @values);
+ my %labels;
+ my @values = (undef);
foreach my $item (@{ $form->{"ALL_CONTACTS"} }) {
push(@values, $item->{"cp_id"});
$labels{$item->{"cp_id"}} = $item->{"cp_name"} .
$vendor =
($form->{selectvendor})
- ? qq|<select name=vendor>$form->{selectvendor}</select>\n<input type=hidden name="selectvendor" value="$form->{selectvendor}">|
+ ? qq|<select name="vendor"
+onchange="document.getElementById('update_button').click();">| .
+ qq|$form->{selectvendor}</select>\n<input type=hidden name="selectvendor" value="| .
+ Q($form->{selectvendor}) . qq|">|
: qq|<input name=vendor value="$form->{vendor}" size=35>|;
$department = qq|
$tax .= qq|
<tr>
- <th align=right>$form->{"${item}_description"}</th>
+ <th align=right>$form->{"${item}_description"} |
+ . $form->{"${item}_rate"} * 100 .qq|%</th>
<td align=right>$form->{"${item}_total"}</td>
</tr>
|;
$tax .= qq|
<tr>
- <th align=right>Enthaltene $form->{"${item}_description"}</th>
+ <th align=right>Enthaltene $form->{"${item}_description"} |
+ . $form->{"${item}_rate"} * 100 .qq|%</th>
<td align=right>$form->{"${item}_total"}</td>
</tr>
<tr>
$closedto = $form->datetonum($form->{closedto}, \%myconfig);
if ($form->{id}) {
+ my $show_storno = !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap");
+
print qq|<input class=submit type=submit name=action value="|
. $locale->text('Post Payment') . qq|">
|;
print qq|<input class=submit type=submit name=action value="|
. $locale->text('Storno') . qq|">
-| unless ($form->{storno});
+| if ($show_storno);
if ($form->{radier}) {
print qq|
<input class=submit type=submit name=action value="|
}
$i = $form->{rowcount};
- $exchangerate = ($form->{exchangerate}) ? $form->{exchangerate} : 1;
+ $exchangerate = ($form->{exchangerate} * 1) ? $form->{exchangerate} * 1 : 1;
if ( ($form->{"partnumber_$i"} eq "")
&& ($form->{"description_$i"} eq "")
$form->error($locale->text('Cannot storno storno invoice!'));
}
+ if (IS->has_storno(\%myconfig, $form, "ap")) {
+ $form->error($locale->text("Invoice has already been storno'd!"));
+ }
+
+ invoice_links();
+ prepare_invoice();
+ relink_accounts();
+
$form->{storno_id} = $form->{id};
$form->{storno} = 1;
$form->{id} = "";