projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fehlerbehebung für Bug 1017, die Anmerkung von Sven war korrekt, die Umformatierung...
[kivitendo-erp.git]
/
bin
/
mozilla
/
do.pl
diff --git
a/bin/mozilla/do.pl
b/bin/mozilla/do.pl
index
80e38e8
..
8ba48d6
100644
(file)
--- a/
bin/mozilla/do.pl
+++ b/
bin/mozilla/do.pl
@@
-1,4
+1,4
@@
-#
#
=====================================================================
+#=====================================================================
# LX-Office ERP
# Copyright (C) 2004
# Based on SQL-Ledger Version 2.1.9
# LX-Office ERP
# Copyright (C) 2004
# Based on SQL-Ledger Version 2.1.9
@@
-46,21
+46,28
@@
require "bin/mozilla/invoice_io.pl";
require "bin/mozilla/io.pl";
require "bin/mozilla/reportgenerator.pl";
require "bin/mozilla/io.pl";
require "bin/mozilla/reportgenerator.pl";
+use strict;
+
+my $print_post;
+
1;
# end of main
sub check_do_access {
1;
# end of main
sub check_do_access {
- $
auth->assert($
form->{type} . '_edit');
+ $
main::auth->assert($main::
form->{type} . '_edit');
}
sub set_headings {
}
sub set_headings {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
my ($action) = @_;
check_do_access();
my ($action) = @_;
+ my $form = $main::form;
+ my $locale = $main::locale;
+
if ($form->{type} eq 'purchase_delivery_order') {
$form->{vc} = 'vendor';
$form->{title} = $action eq "edit" ? $locale->text('Edit Purchase Delivery Order') : $locale->text('Add Purchase Delivery Order');
if ($form->{type} eq 'purchase_delivery_order') {
$form->{vc} = 'vendor';
$form->{title} = $action eq "edit" ? $locale->text('Edit Purchase Delivery Order') : $locale->text('Add Purchase Delivery Order');
@@
-71,14
+78,16
@@
sub set_headings {
$form->{heading} = $locale->text('Delivery Order');
$form->{heading} = $locale->text('Delivery Order');
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub add {
}
sub add {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+
set_headings("add");
$form->{callback} = build_std_url('action=add', 'type', 'vc') unless ($form->{callback});
set_headings("add");
$form->{callback} = build_std_url('action=add', 'type', 'vc') unless ($form->{callback});
@@
-87,14
+96,16
@@
sub add {
prepare_order();
display_form();
prepare_order();
display_form();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub edit {
}
sub edit {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+
# show history button
$form->{javascript} = qq|<script type="text/javascript" src="js/show_history.js"></script>|;
#/show hhistory button
# show history button
$form->{javascript} = qq|<script type="text/javascript" src="js/show_history.js"></script>|;
#/show hhistory button
@@
-111,15
+122,16
@@
sub edit {
# reset rowcount
undef $form->{rowcount};
add();
# reset rowcount
undef $form->{rowcount};
add();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
return;
# }
} elsif (!$form->{id}) {
add();
return;
# }
} elsif (!$form->{id}) {
add();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
return;
}
return;
}
+ my ($language_id, $printer_id);
if ($form->{print_and_save}) {
$form->{action} = "dispatcher";
$form->{action_print} = "1";
if ($form->{print_and_save}) {
$form->{action} = "dispatcher";
$form->{action_print} = "1";
@@
-140,19
+152,22
@@
sub edit {
display_form();
display_form();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub order_links {
}
sub order_links {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+
# get customer/vendor
$form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
# retrieve order/quotation
# get customer/vendor
$form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
# retrieve order/quotation
- $form->{webdav} = $webdav;
+ $form->{webdav} = $
main::
webdav;
$form->{jsscript} = 1;
my $editing = $form->{id};
$form->{jsscript} = 1;
my $editing = $form->{id};
@@
-185,20
+200,21
@@
sub order_links {
$form->{employee} = "$form->{employee}--$form->{employee_id}";
$form->{employee} = "$form->{employee}--$form->{employee_id}";
- $form->{salesman_id} = $salesman_id if ($editing);
-
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
sub prepare_order {
}
sub prepare_order {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+
$form->{formname} = $form->{type} unless $form->{formname};
my $i = 0;
$form->{formname} = $form->{type} unless $form->{formname};
my $i = 0;
- foreach $ref (@{ $form->{form_details} }) {
+ foreach
my
$ref (@{ $form->{form_details} }) {
$form->{rowcount} = ++$i;
map { $form->{"${_}_$i"} = $ref->{$_} } keys %{$ref};
$form->{rowcount} = ++$i;
map { $form->{"${_}_$i"} = $ref->{$_} } keys %{$ref};
@@
-209,9
+225,9
@@
sub prepare_order {
} else {
$form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"discount_$i"});
}
} else {
$form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"discount_$i"});
}
- ($dec) = ($form->{"sellprice_$i"} =~ /\.(\d+)/);
+
my
($dec) = ($form->{"sellprice_$i"} =~ /\.(\d+)/);
$dec = length $dec;
$dec = length $dec;
- $decimalplaces = ($dec > 2) ? $dec : 2;
+
my
$decimalplaces = ($dec > 2) ? $dec : 2;
# copy reqdate from deliverydate for invoice -> order conversion
$form->{"reqdate_$i"} = $form->{"deliverydate_$i"} unless $form->{"reqdate_$i"};
# copy reqdate from deliverydate for invoice -> order conversion
$form->{"reqdate_$i"} = $form->{"deliverydate_$i"} unless $form->{"reqdate_$i"};
@@
-223,14
+239,17
@@
sub prepare_order {
$form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty);
}
$form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty);
}
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub form_header {
}
sub form_header {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+
$form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
$form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
$form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
$form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
@@
-238,7
+257,7
@@
sub form_header {
$form->{jsscript} = 1;
#write Trigger
$form->{jsscript} = 1;
#write Trigger
- $jsscript = Form->write_trigger(\%myconfig, "2", "transdate", "BL", "trigger1", "reqdate", "BL", "trigger2");
+
my
$jsscript = Form->write_trigger(\%myconfig, "2", "transdate", "BL", "trigger1", "reqdate", "BL", "trigger2");
my @old_project_ids = ($form->{"globalproject_id"});
map({ push(@old_project_ids, $form->{"project_id_$_"})
my @old_project_ids = ($form->{"globalproject_id"});
map({ push(@old_project_ids, $form->{"project_id_$_"})
@@
-284,30
+303,36
@@
sub form_header {
print $form->parse_html_template('do/form_header');
print $form->parse_html_template('do/form_header');
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub form_footer {
}
sub form_footer {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+
$form->{PRINT_OPTIONS} = print_options('inline' => 1);
print $form->parse_html_template('do/form_footer');
$form->{PRINT_OPTIONS} = print_options('inline' => 1);
print $form->parse_html_template('do/form_footer');
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub update_delivery_order {
}
sub update_delivery_order {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+
set_headings($form->{"id"} ? "edit" : "add");
$form->{update} = 1;
set_headings($form->{"id"} ? "edit" : "add");
$form->{update} = 1;
+ my $payment_id;
$payment_id = $form->{payment_id} if $form->{payment_id};
check_name($form->{vc});
$payment_id = $form->{payment_id} if $form->{payment_id};
check_name($form->{vc});
@@
-315,7
+340,7
@@
sub update_delivery_order {
$form->{payment_id} = $payment_id if $form->{payment_id} eq "";
# for pricegroups
$form->{payment_id} = $payment_id if $form->{payment_id} eq "";
# for pricegroups
- $i = $form->{rowcount};
+
my
$i = $form->{rowcount};
if ( ($form->{"partnumber_$i"} eq "")
&& ($form->{"description_$i"} eq "")
if ( ($form->{"partnumber_$i"} eq "")
&& ($form->{"description_$i"} eq "")
@@
-371,14
+396,18
@@
sub update_delivery_order {
}
}
}
}
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub search {
}
sub search {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
+
$form->{vc} = $form->{type} eq 'purchase_delivery_order' ? 'vendor' : 'customer';
$form->get_lists("projects" => { "key" => "ALL_PROJECTS",
$form->{vc} = $form->{type} eq 'purchase_delivery_order' ? 'vendor' : 'customer';
$form->get_lists("projects" => { "key" => "ALL_PROJECTS",
@@
-395,15
+424,20
@@
sub search {
print $form->parse_html_template('do/search');
print $form->parse_html_template('do/search');
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub orders {
}
sub orders {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
- ($form->{ $form->{vc} }, $form->{"${form->{vc}}_id"}) = split(/--/, $form->{ $form->{vc} });
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
+ my $cgi = $main::cgi;
+
+ ($form->{ $form->{vc} }, $form->{"$form->{vc}_id"}) = split(/--/, $form->{ $form->{vc} });
report_generator_set_default_sort('transdate', 1);
report_generator_set_default_sort('transdate', 1);
@@
-476,7
+510,7
@@
sub orders {
push @options, $locale->text('Vendor') . " : $form->{vendor}";
}
if ($form->{department}) {
push @options, $locale->text('Vendor') . " : $form->{vendor}";
}
if ($form->{department}) {
- ($department) = split /--/, $form->{department};
+
my
($department) = split /--/, $form->{department};
push @options, $locale->text('Department') . " : $department";
}
if ($form->{donumber}) {
push @options, $locale->text('Department') . " : $department";
}
if ($form->{donumber}) {
@@
-520,14
+554,14
@@
sub orders {
$form->{callback} = $href .= "&sort=$form->{sort}";
# escape callback for href
$form->{callback} = $href .= "&sort=$form->{sort}";
# escape callback for href
- $callback = $form->escape($href);
+
my
$callback = $form->escape($href);
my $edit_url = build_std_url('action=edit', 'type', 'vc');
my $edit_order_url = build_std_url('script=oe.pl', 'type=' . ($form->{type} eq 'sales_delivery_order' ? 'sales_order' : 'purchase_order'), 'action=edit');
my $idx = 1;
my $edit_url = build_std_url('action=edit', 'type', 'vc');
my $edit_order_url = build_std_url('script=oe.pl', 'type=' . ($form->{type} eq 'sales_delivery_order' ? 'sales_order' : 'purchase_order'), 'action=edit');
my $idx = 1;
- foreach $dord (@{ $form->{DO} }) {
+ foreach
my
$dord (@{ $form->{DO} }) {
$dord->{open} = $dord->{closed} ? $locale->text('No') : $locale->text('Yes');
$dord->{delivered} = $dord->{delivered} ? $locale->text('Yes') : $locale->text('No');
$dord->{open} = $dord->{closed} ? $locale->text('No') : $locale->text('Yes');
$dord->{delivered} = $dord->{delivered} ? $locale->text('Yes') : $locale->text('No');
@@
-550,14
+584,18
@@
sub orders {
$report->generate_with_headers();
$report->generate_with_headers();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub save {
}
sub save {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
+
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
$form->isblank("transdate", $locale->text('Delivery Order Date missing!'));
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
$form->isblank("transdate", $locale->text('Delivery Order Date missing!'));
@@
-565,7
+603,7
@@
sub save {
$form->{donumber} =~ s/^\s*//g;
$form->{donumber} =~ s/\s*$//g;
$form->{donumber} =~ s/^\s*//g;
$form->{donumber} =~ s/\s*$//g;
- $msg = ucfirst $form->{vc};
+
my
$msg = ucfirst $form->{vc};
$form->isblank($form->{vc}, $locale->text($msg . " missing!"));
# $locale->text('Customer missing!');
$form->isblank($form->{vc}, $locale->text($msg . " missing!"));
# $locale->text('Customer missing!');
@@
-586,8
+624,8
@@
sub save {
# saving the history
if(!exists $form->{addition}) {
$form->{snumbers} = qq|donumber_| . $form->{donumber};
# saving the history
if(!exists $form->{addition}) {
$form->{snumbers} = qq|donumber_| . $form->{donumber};
-
$form->{addition} = "SAVED";
-
$form->save_history($form->dbconnect(\%myconfig));
+ $form->{addition} = "SAVED";
+ $form->save_history($form->dbconnect(\%myconfig));
}
# /saving the history
}
# /saving the history
@@
-597,14
+635,17
@@
sub save {
update();
exit;
}
update();
exit;
}
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub delete {
}
sub delete {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+ my $locale = $main::locale;
+
map { delete $form->{$_} } qw(action header login password);
my @variables = map { { 'key' => $_, 'value' => $form->{$_} } } grep { '' eq ref $form->{$_} } keys %{ $form };
map { delete $form->{$_} } qw(action header login password);
my @variables = map { { 'key' => $_, 'value' => $form->{$_} } } grep { '' eq ref $form->{$_} } keys %{ $form };
@@
-613,20
+654,24
@@
sub delete {
print $form->parse_html_template('do/delete', { 'VARIABLES' => \@variables });
print $form->parse_html_template('do/delete', { 'VARIABLES' => \@variables });
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub delete_delivery_order {
}
sub delete_delivery_order {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
+
if (DO->delete()) {
# saving the history
if(!exists $form->{addition}) {
$form->{snumbers} = qq|donumber_| . $form->{donumber};
if (DO->delete()) {
# saving the history
if(!exists $form->{addition}) {
$form->{snumbers} = qq|donumber_| . $form->{donumber};
-
$form->{addition} = "DELETED";
-
$form->save_history($form->dbconnect(\%myconfig));
+ $form->{addition} = "DELETED";
+ $form->save_history($form->dbconnect(\%myconfig));
}
# /saving the history
}
# /saving the history
@@
-636,14
+681,18
@@
sub delete_delivery_order {
$form->error($locale->text('Cannot delete delivery order!'));
$form->error($locale->text('Cannot delete delivery order!'));
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub invoice {
}
sub invoice {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
check_do_access();
check_do_access();
- $auth->assert($form->{type} eq 'purchase_delivery_order' ? 'vendor_invoice_edit' : 'invoice_edit');
+ $
main::
auth->assert($form->{type} eq 'purchase_delivery_order' ? 'vendor_invoice_edit' : 'invoice_edit');
$form->{convert_from_do_ids} = $form->{id};
$form->{deliverydate} = $form->{transdate};
$form->{convert_from_do_ids} = $form->{id};
$form->{deliverydate} = $form->{transdate};
@@
-655,6
+704,7
@@
sub invoice {
delete @{$form}{qw(id closed delivered)};
delete @{$form}{qw(id closed delivered)};
+ my ($script, $buysell);
if ($form->{type} eq 'purchase_delivery_order') {
$form->{title} = $locale->text('Add Vendor Invoice');
$form->{script} = 'ir.pl';
if ($form->{type} eq 'purchase_delivery_order') {
$form->{title} = $locale->text('Add Vendor Invoice');
$form->{script} = 'ir.pl';
@@
-668,14
+718,15
@@
sub invoice {
$buysell = 'buy';
}
$buysell = 'buy';
}
- for $i (1 .. $form->{rowcount}) {
+ for
my
$i (1 .. $form->{rowcount}) {
map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if $form->{"${_}_${i}"} } qw(ship qty sellprice listprice basefactor);
}
$form->{type} = "invoice";
# locale messages
map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if $form->{"${_}_${i}"} } qw(ship qty sellprice listprice basefactor);
}
$form->{type} = "invoice";
# locale messages
- $locale = new Locale "$myconfig{countrycode}", "$script";
+ $main::locale = new Locale "$myconfig{countrycode}", "$script";
+ $locale = $main::locale;
require "bin/mozilla/$form->{script}";
require "bin/mozilla/$form->{script}";
@@
-690,12
+741,12
@@
sub invoice {
prepare_invoice();
# format amounts
prepare_invoice();
# format amounts
- for $i (1 .. $form->{rowcount}) {
+ for
my
$i (1 .. $form->{rowcount}) {
$form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"discount_$i"});
$form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"discount_$i"});
- ($dec) = ($form->{"sellprice_$i"} =~ /\.(\d+)/);
+
my
($dec) = ($form->{"sellprice_$i"} =~ /\.(\d+)/);
$dec = length $dec;
$dec = length $dec;
- $decimalplaces = ($dec > 2) ? $dec : 2;
+
my
$decimalplaces = ($dec > 2) ? $dec : 2;
# copy delivery date from reqdate for order -> invoice conversion
$form->{"deliverydate_$i"} = $form->{"reqdate_$i"}
# copy delivery date from reqdate for order -> invoice conversion
$form->{"deliverydate_$i"} = $form->{"reqdate_$i"}
@@
-714,14
+765,18
@@
sub invoice {
display_form();
display_form();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub invoice_multi {
}
sub invoice_multi {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
check_do_access();
check_do_access();
- $auth->assert($form->{type} eq 'sales_delivery_order' ? 'invoice_edit' : 'vendor_invoice_edit');
+ $
main::
auth->assert($form->{type} eq 'sales_delivery_order' ? 'invoice_edit' : 'vendor_invoice_edit');
my @do_ids = map { $form->{"trans_id_$_"} } grep { $form->{"multi_id_$_"} } (1..$form->{rowcount});
my @do_ids = map { $form->{"trans_id_$_"} } grep { $form->{"multi_id_$_"} } (1..$form->{rowcount});
@@
-744,7
+799,7
@@
sub invoice_multi {
# zwischenspeichern (DO.pm) und als ' '-separierte Liste wieder zurueckschreiben
# Hinweis: delete gibt den wert zurueck und loescht danach das element (nett und einfach)
# $shell: perldoc perlunc; /delete EXPR
# zwischenspeichern (DO.pm) und als ' '-separierte Liste wieder zurueckschreiben
# Hinweis: delete gibt den wert zurueck und loescht danach das element (nett und einfach)
# $shell: perldoc perlunc; /delete EXPR
- $form->{donumber} = delete $form->{donumber_array};
+ $form->{donumber}
= delete $form->{donumber_array};
$form->{deliverydate} = $form->{transdate};
$form->{transdate} = $form->current_date(\%myconfig);
$form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
$form->{deliverydate} = $form->{transdate};
$form->{transdate} = $form->current_date(\%myconfig);
$form->{duedate} = $form->current_date(\%myconfig, $form->{invdate}, $form->{terms} * 1);
@@
-752,7
+807,7
@@
sub invoice_multi {
$form->{closed} = 0;
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
$form->{closed} = 0;
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
- my
$buysell
;
+ my
($script, $buysell)
;
if ($source_type eq 'purchase_delivery_order') {
$form->{title} = $locale->text('Add Vendor Invoice');
$form->{script} = 'ir.pl';
if ($source_type eq 'purchase_delivery_order') {
$form->{title} = $locale->text('Add Vendor Invoice');
$form->{script} = 'ir.pl';
@@
-774,6
+829,9
@@
sub invoice_multi {
$ref->{reqdate} ||= $ref->{dord_transdate}; # copy transdates into each invoice row
map { $form->{"${_}_$form->{rowcount}"} = $ref->{$_} } keys %{ $ref };
map { $form->{"${_}_$form->{rowcount}"} = $form->format_amount(\%myconfig, $ref->{$_}) } qw(qty sellprice discount lastcost);
$ref->{reqdate} ||= $ref->{dord_transdate}; # copy transdates into each invoice row
map { $form->{"${_}_$form->{rowcount}"} = $ref->{$_} } keys %{ $ref };
map { $form->{"${_}_$form->{rowcount}"} = $form->format_amount(\%myconfig, $ref->{$_}) } qw(qty sellprice discount lastcost);
+ $form->{"discount_$form->{rowcount}"} = $form->{"discount_$form->{rowcount}"} * 100; #s.a. Bug 1151
+ # Anm.: Eine Änderung des discounts in der SL/DO.pm->retrieve (select (doi.discount * 100) as discount) ergibt in psql einen
+ # Wert von 10.0000001490116. Ferner ist der Rabatt in der Rechnung dann bei 1.0 (?). Deswegen lasse ich das hier. jb 10.10.09
}
delete $form->{form_details};
}
delete $form->{form_details};
@@
-785,14
+843,16
@@
sub invoice_multi {
prepare_invoice();
display_form();
prepare_invoice();
display_form();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub save_as_new {
}
sub save_as_new {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+
$form->{saveasnew} = 1;
$form->{closed} = 0;
$form->{delivered} = 0;
$form->{saveasnew} = 1;
$form->{closed} = 0;
$form->{delivered} = 0;
@@
-808,14
+868,16
@@
sub save_as_new {
save();
save();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub e_mail {
}
sub e_mail {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
check_do_access();
check_do_access();
+ my $form = $main::form;
+
$form->{print_and_save} = 1;
$print_post = 1;
$form->{print_and_save} = 1;
$print_post = 1;
@@
-828,20
+890,22
@@
sub e_mail {
edit_e_mail();
edit_e_mail();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub calculate_stock_in_out {
}
sub calculate_stock_in_out {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
my $i = shift;
if (!$form->{"id_${i}"}) {
my $i = shift;
if (!$form->{"id_${i}"}) {
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
return '';
}
return '';
}
- AM->retrieve_all_units();
+
my $all_units =
AM->retrieve_all_units();
my $in_out = $form->{type} =~ /^sales/ ? 'out' : 'in';
my $sinfo = DO->unpack_stock_information('packed' => $form->{"stock_${in_out}_${i}"});
my $in_out = $form->{type} =~ /^sales/ ? 'out' : 'in';
my $sinfo = DO->unpack_stock_information('packed' => $form->{"stock_${in_out}_${i}"});
@@
-855,16
+919,18
@@
sub calculate_stock_in_out {
'max_places' => 2);
$content .= qq| <input type="button" onclick="open_stock_in_out_window('${in_out}', $i);" value="?">|;
'max_places' => 2);
$content .= qq| <input type="button" onclick="open_stock_in_out_window('${in_out}', $i);" value="?">|;
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
return $content;
}
sub get_basic_bin_wh_info {
return $content;
}
sub get_basic_bin_wh_info {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
my $stock_info = shift;
my $stock_info = shift;
+ my $form = $main::form;
+
foreach my $sinfo (@{ $stock_info }) {
next unless ($sinfo->{bin_id});
foreach my $sinfo (@{ $stock_info }) {
next unless ($sinfo->{bin_id});
@@
-872,11
+938,13
@@
sub get_basic_bin_wh_info {
map { $sinfo->{"${_}_description"} = $sinfo->{"${_}description"} = $bin_info->{"${_}_description"} } qw(bin warehouse);
}
map { $sinfo->{"${_}_description"} = $sinfo->{"${_}description"} = $bin_info->{"${_}_description"} } qw(bin warehouse);
}
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub stock_in_out_form {
}
sub stock_in_out_form {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
if ($form->{in_out} eq 'out') {
stock_out_form();
if ($form->{in_out} eq 'out') {
stock_out_form();
@@
-884,14
+952,16
@@
sub stock_in_out_form {
stock_in_form();
}
stock_in_form();
}
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub redo_stock_info {
}
sub redo_stock_info {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
my %params = @_;
my %params = @_;
+ my $form = $main::form;
+
my @non_empty = grep { $_->{qty} } @{ $params{stock_info} };
if ($params{add_empty_row}) {
my @non_empty = grep { $_->{qty} } @{ $params{stock_info} };
if ($params{add_empty_row}) {
@@
-903,11
+973,14
@@
sub redo_stock_info {
@{ $params{stock_info} } = @non_empty;
@{ $params{stock_info} } = @non_empty;
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub update_stock_in {
}
sub update_stock_in {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
my $stock_info = [];
my $stock_info = [];
@@
-918,24
+991,30
@@
sub update_stock_in {
display_stock_in_form($stock_info);
display_stock_in_form($stock_info);
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub stock_in_form {
}
sub stock_in_form {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
my $stock_info = DO->unpack_stock_information('packed' => $form->{stock});
display_stock_in_form($stock_info);
my $stock_info = DO->unpack_stock_information('packed' => $form->{stock});
display_stock_in_form($stock_info);
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub display_stock_in_form {
}
sub display_stock_in_form {
- $lxdebug->enter_sub();
+ $
main::
lxdebug->enter_sub();
my $stock_info = shift;
my $stock_info = shift;
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
+
$form->{title} = $locale->text('Stock');
my $part_info = IC->get_basic_part_info('id' => $form->{parts_id});
$form->{title} = $locale->text('Stock');
my $part_info = IC->get_basic_part_info('id' => $form->{parts_id});
@@
-955,11
+1034,14
@@
sub display_stock_in_form {
'STOCK_INFO' => $stock_info,
'PART_INFO' => $part_info, });
'STOCK_INFO' => $stock_info,
'PART_INFO' => $part_info, });
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub set_stock_in {
}
sub set_stock_in {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
my $stock_info = [];
my $stock_info = [];
@@
-976,11
+1058,15
@@
sub set_stock_in {
$form->header();
print $form->parse_html_template('do/set_stock_in_out');
$form->header();
print $form->parse_html_template('do/set_stock_in_out');
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub stock_out_form {
}
sub stock_out_form {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
$form->{title} = $locale->text('Release From Stock');
$form->{title} = $locale->text('Release From Stock');
@@
-1022,11
+1108,15
@@
sub stock_out_form {
'WHCONTENTS' => $form->{delivered} ? $stock_info : \@contents,
'PART_INFO' => $part_info, });
'WHCONTENTS' => $form->{delivered} ? $stock_info : \@contents,
'PART_INFO' => $part_info, });
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub set_stock_out {
}
sub set_stock_out {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
my $stock_info = [];
my $stock_info = [];
@@
-1060,11
+1150,15
@@
sub set_stock_out {
print $form->parse_html_template('do/set_stock_in_out');
}
print $form->parse_html_template('do/set_stock_in_out');
}
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub transfer_in {
}
sub transfer_in {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
if (DO->is_marked_as_delivered('id' => $form->{id})) {
$form->show_generic_error($locale->text('The parts for this delivery order have already been transferred in.'), 'back_button' => 1);
if (DO->is_marked_as_delivered('id' => $form->{id})) {
$form->show_generic_error($locale->text('The parts for this delivery order have already been transferred in.'), 'back_button' => 1);
@@
-1107,7
+1201,7
@@
sub transfer_in {
push @{ $form->{ERRORS} }, $locale->text('The delivery order has not been marked as delivered. The warehouse contents have not changed.');
update();
push @{ $form->{ERRORS} }, $locale->text('The delivery order has not been marked as delivered. The warehouse contents have not changed.');
update();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
exit 0;
}
exit 0;
}
@@
-1120,11
+1214,15
@@
sub transfer_in {
save();
save();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub transfer_out {
}
sub transfer_out {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
if (DO->is_marked_as_delivered('id' => $form->{id})) {
$form->show_generic_error($locale->text('The parts for this delivery order have already been transferred out.'), 'back_button' => 1);
if (DO->is_marked_as_delivered('id' => $form->{id})) {
$form->show_generic_error($locale->text('The parts for this delivery order have already been transferred out.'), 'back_button' => 1);
@@
-1184,7
+1282,7
@@
sub transfer_out {
$request->{ok} = $request->{sum_base_qty} <= $inv->{qty};
}
$request->{ok} = $request->{sum_base_qty} <= $inv->{qty};
}
- foreach $request (values %request_map) {
+ foreach
my
$request (values %request_map) {
next if ($request->{ok});
my $pinfo = $part_info_map{$request->{parts_id}};
next if ($request->{ok});
my $pinfo = $part_info_map{$request->{parts_id}};
@@
-1203,7
+1301,7
@@
sub transfer_out {
push @{ $form->{ERRORS} }, $locale->text('The delivery order has not been marked as delivered. The warehouse contents have not changed.');
update();
push @{ $form->{ERRORS} }, $locale->text('The delivery order has not been marked as delivered. The warehouse contents have not changed.');
update();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
exit 0;
}
exit 0;
}
@@
-1216,11
+1314,13
@@
sub transfer_out {
save();
save();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub mark_closed {
}
sub mark_closed {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
DO->close_orders('ids' => [ $form->{id} ]);
DO->close_orders('ids' => [ $form->{id} ]);
@@
-1228,23
+1328,26
@@
sub mark_closed {
update();
update();
- $lxdebug->leave_sub();
+ $
main::
lxdebug->leave_sub();
}
sub yes {
}
sub yes {
- call_sub($form->{yes_nextsub});
+ call_sub($
main::
form->{yes_nextsub});
}
sub no {
}
sub no {
- call_sub($form->{no_nextsub});
+ call_sub($
main::
form->{no_nextsub});
}
sub update {
}
sub update {
- call_sub($
form->{update_nextsub} || $
form->{nextsub} || 'update_delivery_order');
+ call_sub($
main::form->{update_nextsub} || $main::
form->{nextsub} || 'update_delivery_order');
}
sub dispatcher {
}
sub dispatcher {
+ my $form = $main::form;
+ my $locale = $main::locale;
+
foreach my $action (qw(update ship_to print e_mail save transfer_out transfer_in mark_closed save_as_new invoice delete)) {
if ($form->{"action_${action}"}) {
call_sub($action);
foreach my $action (qw(update ship_to print e_mail save transfer_out transfer_in mark_closed save_as_new invoice delete)) {
if ($form->{"action_${action}"}) {
call_sub($action);