X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fir.pl;h=159dc45e8941d0896c74b8453c3e777648f649ae;hb=47916a374217afc8d84bd147f0fada5086970bae;hp=3f8812e1853d5d894ab1d4a700ecf54c17368f04;hpb=a0f6a00c1db8152633841777a95f5420b56b42ee;p=kivitendo-erp.git
diff --git a/bin/mozilla/ir.pl b/bin/mozilla/ir.pl
index 3f8812e18..159dc45e8 100644
--- a/bin/mozilla/ir.pl
+++ b/bin/mozilla/ir.pl
@@ -35,9 +35,9 @@ use SL::IR;
use SL::IS;
use SL::PE;
-require "$form->{path}/io.pl";
-require "$form->{path}/arap.pl";
-require "$form->{path}/common.pl";
+require "bin/mozilla/io.pl";
+require "bin/mozilla/arap.pl";
+require "bin/mozilla/common.pl";
require "bin/mozilla/drafts.pl";
1;
@@ -120,11 +120,6 @@ sub invoice_links {
$form->{taxzone_id} = $taxzone_id;
}
- # currencies
- @curr = split(/:/, $form->{currencies});
- chomp $curr[0];
- $form->{defaultcurrency} = $curr[0];
-
map { $form->{selectcurrency} .= "";
- } else {
- $form->{selecttaxzone} .=
- "";
- }
-
- }
- } else {
- $form->{selecttaxzone} =~ s/ selected//g;
- if ($form->{taxzone_id} ne "") {
- $form->{selecttaxzone} =~ s/value=$form->{taxzone_id}/value=$form->{taxzone_id} selected/;
- }
+
+ %labels = ();
+ @values = ();
+ my $i = 0;
+ foreach my $item (@{ $form->{"ALL_CURRENCIES"} }) {
+ push(@values, $item);
+ $labels{$item} = $item;
+ }
+
+ $form->{currency} = $form->{defaultcurrency} unless $form->{currency};
+ my $currencies;
+ if (scalar @values) {
+ $currencies = qq|
+
+ | . $locale->text('Currency') . qq| |
+ | .
+ NTI($cgi->popup_menu('-name' => 'currency', '-default' => $form->{"currency"},
+ '-values' => \@values, '-labels' => \%labels)) . qq|
+ |
+
|;
}
- $taxzone = qq|
-
- | . $locale->text('Steuersatz') . qq| |
- |
-
-
|;
+ %labels = ();
+ @values = ();
+ my $i = 0;
+ foreach my $item (@{ $form->{"ALL_SALESMEN"} }) {
+ push(@values, $item->{"id"});
+ $labels{$item->{"id"}} = $item->{"name"};
+ }
+ my $employees = qq|
+
+ | . $locale->text('Employee') . qq| |
+ | .
+ NTI($cgi->popup_menu('-name' => 'employee_id', '-default' => $form->{"employee_id"},
+ '-values' => \@values, '-labels' => \%labels)) . qq|
+ |
+
|;
+
+ %labels = ();
+ @values = ();
+ my $i = 0;
+ foreach my $item (@{ $form->{"ALL_VENDORS"} }) {
+ push(@values, $item->{name}.qq|--|.$item->{"id"});
+ $labels{$item->{"id"}} = $item->{"name"}.qq|--|.$item->{"id"};
+ }
+ my $vendors = qq|
+ | . $locale->text('Vendor') . qq| |
+ | .
+ NTI($cgi->popup_menu('-name' => 'vendor', '-default' => $form->{"vendor"},
+ '-onChange' => 'document.getElementById(\'update_button\').click();',
+ '-values' => \@values, '-labels' => \%labels)) . qq|
+ | |;
+ %labels = ();
+ @values = ();
+ foreach my $item (@{ $form->{"ALL_TAXZONES"} }) {
+ push(@values, $item->{"id"});
+ $labels{$item->{"id"}} = $item->{"description"};
+ }
+ if (!$form->{"id"}) {
+ $taxzone = qq|
+
+ | . $locale->text('Steuersatz') . qq| |
+ | .
+ NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"},
+ '-values' => \@values, '-labels' => \%labels)) . qq|
+ |
+
|;
- $vendor =
- ($form->{selectvendor})
- ? qq|\n|
- : qq||;
+ } else {
+ $taxzone = qq|
+
+ | . $locale->text('Steuersatz') . qq| |
+
+
+ | . H($labels{$form->{"taxzone_id"}}) . qq|
+ |
+
|;
+ }
$department = qq|
| . $locale->text('Department') . qq| |
-
-
+ |
+
|
| if $form->{selectdepartment};
@@ -357,13 +409,13 @@ onchange="document.getElementById('update_button').click();">| .
# with JavaScript Calendar
$button1 = qq|
- |
-
+ text('button') . qq|> |
|;
$button2 = qq|
- |
-
+ text('button') . qq|> |
|;
@@ -415,59 +467,38 @@ onchange="document.getElementById('update_button').click();">| .
| . ($form->{saved_message} ? qq|$form->{saved_message}
| : "") . qq|
+$form->{title}
+
-
- $form->{title} |
-
-
-
-
-
-
+ |
+ $vendors
+
+
+
+ $contact
+
+ | . $locale->text('Credit Limit') . qq| |
+ $form->{creditlimit}; | . $locale->text('Remaining') . qq| $form->{creditremaining} |
+
- | . $locale->text('Vendor') . qq| |
- $vendor |
-
- |
- . $locale->text('Contact Person') . qq| |
- $contact |
-
- {vendor_id}>
-
-
-
-
- |
-
-
-
- | . $locale->text('Credit Limit') . qq| |
- $form->{creditlimit} |
- |
- | . $locale->text('Remaining') . qq| |
- $form->{creditremaining} |
-
-
- |
-
- | . $locale->text('Record in') . qq| |
- |
-
+ | . $locale->text('Record in') . qq| |
+ |
+
$taxzone
$department
- | . $locale->text('Currency') . qq| |
- |
+ $currencies
$exchangerate
|
-
+ $employees
+
| . $locale->text('Invoice Number') . qq| |
|
@@ -486,13 +517,13 @@ onchange="document.getElementById('update_button').click();">| .
| . $locale->text('Order Date') . qq| |
- |
- |
+
+ |
| . $locale->text('Quotation Date') . qq| |
- |
- |
+
+ |
| . $locale->text('Project Number') . qq| |
@@ -507,8 +538,6 @@ onchange="document.getElementById('update_button').click();">| .
$jsscript
-
-{defaultcurrency}>
{fxgain_accno}>
{fxloss_accno}>
@@ -652,7 +681,7 @@ sub form_footer {
$subtotal
$tax
- 0
+
| . $locale->text('Total') . qq| |
$form->{invtotal} |
@@ -795,6 +824,10 @@ sub form_footer {
$invdate = $form->datetonum($form->{invdate}, \%myconfig);
$closedto = $form->datetonum($form->{closedto}, \%myconfig);
+ print qq|
+|;
+
if ($form->{id}) {
my $show_storno = !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap");
@@ -816,9 +849,6 @@ sub form_footer {
}
- print qq||;
-
if (!$form->{id} && ($invdate > $closedto)) {
print qq| | .
@@ -826,19 +856,8 @@ sub form_footer {
'-class' => 'submit'));
}
- print $form->write_trigger(\%myconfig, scalar(@triggers) / 3, @triggers) .
- qq|
-
-{rowcount}>
-
-
-
-{path}>
-{login}>
-{password}>
-|
- . $cgi->hidden('-name' => 'draft_id', '-default' => [$form->{draft_id}])
- . $cgi->hidden('-name' => 'draft_description', '-default' => [$form->{draft_description}]);
+ print $form->write_trigger(\%myconfig, scalar(@triggers) / 3, @triggers);
+ $form->hide_form(qw(rowcount callback draft_id draft_description login password));
# button for saving history
if($form->{id} ne "") {
@@ -989,16 +1008,30 @@ sub storno {
$form->error($locale->text("Invoice has already been storno'd!"));
}
+ my $employee_id = $form->{employee_id};
invoice_links();
prepare_invoice();
relink_accounts();
+ # Payments must not be recorded for the new storno invoice.
+ $form->{paidaccounts} = 0;
+ map { my $key = $_; delete $form->{$key} if grep { $key =~ /^$_/ } qw(datepaid_ source_ memo_ paid_ exchangerate_ AR_paid_) } keys %{ $form };
+
+ # saving the history
+ if(!exists $form->{addition} && $form->{id} ne "") {
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
+ $form->{addition} = "CANCELED";
+ $form->save_history($form->dbconnect(\%myconfig));
+ }
+ # /saving the history
+
$form->{storno_id} = $form->{id};
$form->{storno} = 1;
$form->{id} = "";
$form->{invnumber} = "Storno zu " . $form->{invnumber};
-
- &post();
+ $form->{rowcount}++;
+ $form->{employee_id} = $employee_id;
+ post();
$lxdebug->leave_sub();
}
@@ -1041,8 +1074,9 @@ sub post_payment {
if(!exists $form->{addition} && $form->{id} ne "") {
# saving the history
- $form->{snumbers} = qq|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!'));
@@ -1060,6 +1094,9 @@ sub post {
$form->isblank("invdate", $locale->text('Invoice Date missing!'));
$form->isblank("vendor", $locale->text('Vendor missing!'));
+ $form->{invnumber} =~ s/^\s*//g;
+ $form->{invnumber} =~ s/\s*$//g;
+
# if the vendor changed get new values
if (&check_name(vendor)) {
&update;
@@ -1105,7 +1142,7 @@ sub post {
if (IR->post_invoice(\%myconfig, \%$form)){
# saving the history
if(!exists $form->{addition} && $form->{id} ne "") {
- $form->{snumbers} = qq|invnumber|;
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
$form->{addition} = "POSTED";
#$form->{what_done} = $locale->text("Rechnungsnummer") . qq| | . $form->{invnumber};
$form->save_history($form->dbconnect(\%myconfig));
@@ -1159,7 +1196,7 @@ sub yes {
if (IR->delete_invoice(\%myconfig, \%$form)) {
# saving the history
if(!exists $form->{addition}) {
- $form->{snumbers} = qq|invnumber|;
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
$form->{addition} = "DELETED";
$form->save_history($form->dbconnect(\%myconfig));
}
| |