sub add {
$lxdebug->enter_sub();
+ $form->{"Watchdog::invdate,duedate,vendor,vendor_id"} = 1;
return $lxdebug->leave_sub() if (load_draft_maybe());
$form->{oldvendor} = "$form->{vendor}--$form->{vendor_id}";
- # vendors
- if (@{ $form->{all_vendor} }) {
- $form->{vendor} = "$form->{vendor}--$form->{vendor_id}";
- map { $form->{selectvendor} .= "<option>$_->{name}--$_->{id}\n" }
- (@{ $form->{all_vendor} });
- }
-
# departments
if ($form->{all_departments}) {
$form->{selectdepartment} = "<option>\n";
s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
}
+ if ($form->{old_employee_id}) {
+ $form->{employee_id} = $form->{old_employee_id};
+ }
+ if ($form->{old_salesman_id}) {
+ $form->{salesman_id} = $form->{old_salesman_id};
+ }
+
+ $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
+
+
$form->{radier} =
($form->current_date(\%myconfig) eq $form->{gldate}) ? 1 : 0;
- #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});
<tr>
<th align="right">| . $locale->text('Contact Person') . qq|</th>
<td>| .
- NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
+ NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values, '-style' => 'width: 250px',
'-labels' => \%labels, '-default' => $form->{"cp_id"}))
. qq|
</td>
my $i = 0;
foreach my $item (@{ $form->{"ALL_VENDORS"} }) {
push(@values, $item->{name}.qq|--|.$item->{"id"});
- $labels{$item->{"id"}} = $item->{"name"}.qq|--|.$item->{"id"};
+ $labels{$item->{name}.qq|--|.$item->{"id"}} = $item->{"name"};
}
+
+ $form->{selectvendor} = ($myconfig{vclimit} > scalar(@values));
+
my $vendors = qq|
<th align="right">| . $locale->text('Vendor') . qq|</th>
<td>| .
- NTI($cgi->popup_menu('-name' => 'vendor', '-default' => $form->{"vendor"},
+ (($myconfig{vclimit} <= scalar(@values))
+ ? qq|<input type="text" value="| . H($form->{vendor}) . qq|" name="vendor">|
+ : (NTI($cgi->popup_menu('-name' => 'vendor', '-default' => $form->{oldvendor},
'-onChange' => 'document.getElementById(\'update_button\').click();',
- '-values' => \@values, '-labels' => \%labels)) . qq|
+ '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')))) . qq|
<input type="button" value="?" onclick="show_vc_details('vendor')">
</td>|;
<th align="right">| . $locale->text('Steuersatz') . qq|</th>
<td>| .
NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
- '-values' => \@values, '-labels' => \%labels)) . qq|
+ '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')) . qq|
</td>
</tr>|;
$department = qq|
<tr>
<th align="right" nowrap>| . $locale->text('Department') . qq|</th>
- <td colspan="3"><select name="department">$form->{selectdepartment}</select>
+ <td colspan="3"><select name="department" style="width: 250px">$form->{selectdepartment}</select>
<input type="hidden" name="selectdepartment" value="$form->{selectdepartment}">
</td>
</tr>
<body onLoad="$onload">
<form method=post action=$form->{script}>
+|;
-<input type=hidden name=id value=$form->{id}>
-<input type=hidden name=title value="$form->{title}">
-<input type=hidden name=vc value="vendor">
-<input type=hidden name=type value=$form->{type}>
-<input type=hidden name=level value=$form->{level}>
-
-<input type=hidden name=creditlimit value=$form->{creditlimit}>
-<input type=hidden name=creditremaining value=$form->{creditremaining}>
-
-<input type=hidden name=closedto value=$form->{closedto}>
-<input type=hidden name=locked value=$form->{locked}>
+ $form->hide_form(qw(id title vc type level creditlimit creditremaining
+ closedto locked shippted storno storno_id
+ max_dunning_level dunning_amount));
-<input type=hidden name=shipped value=$form->{shipped}>
-<input type=hidden name=storno value=$form->{storno}>
-<input type=hidden name=storno_id value=$form->{storno_id}>
+ print qq|<p>$form->{saved_message}</p>| if $form->{saved_message};
-| . ($form->{saved_message} ? qq|<p>$form->{saved_message}</p>| : "") . qq|
+ print qq|
<div class="listtop" width="100%">$form->{title}</div>
$vendors
<input type="hidden" name="vendor_id" value="$form->{vendor_id}">
<input type="hidden" name="oldvendor" value="$form->{oldvendor}">
- <input type="hidden" name="selectvendor" value= "1">
+ <input type="hidden" name="selectvendor" value= "$form->{selectvendor}">
$contact
<tr>
<td align="right">| . $locale->text('Credit Limit') . qq|</td>
</tr>
<tr>
<th align="right">| . $locale->text('Record in') . qq|</th>
- <td colspan="3"><select name="AP">$form->{selectAP}</select></td>
+ <td colspan="3"><select name="AP" style="width: 250px">$form->{selectAP}</select></td>
<input type="hidden" name="selectAP" value="$form->{selectAP}">
</tr>
$taxzone
<td align=left width=30%><b>Dateiname</b></td>
<td align=left width=70%><b>Webdavlink</b></td>
|;
- foreach $file (keys %{ $form->{WEBDAV} }) {
+ foreach $file (@{ $form->{WEBDAV} }) {
$webdav_list .= qq|
<tr>
- <td align=left>$file</td>
- <td align=left><a href="$form->{WEBDAV}{$file}">$form->{WEBDAV}{$file}</a></td>
+ <td align="left">$file->{name}</td>
+ <td align="left"><a href="$file->{link}">$file->{type}</a></td>
</tr>
|;
}
</tr>
|;
- my @triggers = ();
+ my @triggers = ();
+ my $totalpaid = 0;
+
$form->{paidaccounts}++ if ($form->{"paid_$form->{paidaccounts}"});
for $i (1 .. $form->{paidaccounts}) {
$form->{"selectAP_paid_$i"} =~
s/option>\Q$form->{"AP_paid_$i"}\E/option selected>$form->{"AP_paid_$i"}/;
+ $totalpaid += $form->{"paid_$i"};
+
# format amounts
if ($form->{"paid_$i"}) {
$form->{"paid_$i"} =
push(@triggers, "datepaid_$i", "BL", "trigger_datepaid_$i");
}
+ my $paid_missing = $form->{oldinvtotal} - $totalpaid;
+
print qq|
+ <tr>
+ <td></td>
+ <td></td>
+ <td align="center">| . $locale->text('Total') . qq|</td>
+ <td align="center">| . H($form->format_amount(\%myconfig, $totalpaid, 2)) . qq|</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td align="center">| . $locale->text('Missing amount') . qq|</td>
+ <td align="center">| . H($form->format_amount(\%myconfig, $paid_missing, 2)) . qq|</td>
+ </tr>
+
<input type=hidden name=oldinvtotal value=$form->{oldinvtotal}>
<input type=hidden name=paidaccounts value=$form->{paidaccounts}>
<input type=hidden name=selectAP_paid value="$form->{selectAP_paid}">
. qq|">|;
}
# /button for saving history
-
+ # mark_as_paid button
+ if($form->{id} ne "") {
+ print qq| <input type="submit" class="submit" name="action" value="|
+ . $locale->text('mark as paid') . qq|">|;
+ }
+ # /mark_as_paid button
print qq|</form>
</body>
$lxdebug->leave_sub();
}
+sub mark_as_paid {
+ $lxdebug->enter_sub();
+ &mark_as_paid_common(\%myconfig,"ap");
+ $lxdebug->leave_sub();
+}
+
sub update {
$lxdebug->enter_sub();
sub post_payment {
$lxdebug->enter_sub();
+
+ $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
for $i (1 .. $form->{paidaccounts}) {
if ($form->{"paid_$i"}) {
$datepaid = $form->datetonum($form->{"datepaid_$i"}, \%myconfig);
($form->{AP}) = split /--/, $form->{AP};
($form->{AP_paid}) = split /--/, $form->{AP_paid};
if (IR->post_payment(\%myconfig, \%$form)){
-
- if(!exists $form->{addition} && $form->{id} ne "") {
+ if (!exists $form->{addition} && $form->{id} ne "") {
# saving the history
- $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
$form->{addition} = "PAYMENT POSTED";
$form->{what_done} = $form->{currency} . qq| | . $form->{paid} . qq| | . $locale->text("POSTED");
$form->save_history($form->dbconnect(\%myconfig));
- # /saving the history
- $form->redirect($locale->text(' Payment posted!'));
+ # /saving the history
}
+
+ $form->redirect($locale->text('Payment posted!'));
}
- $form->error($locale->text('Cannot post payment!'));
+ $form->error($locale->text('Cannot post payment!'));
$lxdebug->leave_sub();
}
sub post {
$lxdebug->enter_sub();
+ $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
+
$form->isblank("invdate", $locale->text('Invoice Date missing!'));
$form->isblank("vendor", $locale->text('Vendor missing!'));
($form->{AP}) = split /--/, $form->{AP};
($form->{AP_paid}) = split /--/, $form->{AP_paid};
+ $form->{storno} = 0;
$form->{id} = 0 if $form->{postasnew};