Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9da3e39b

Von Sven Schöling vor mehr als 15 Jahren hinzugefügt

  • ID 9da3e39b72311b5a22fd79c3ca97b5fbe871092f
  • Vorgänger 3ef788be
  • Nachfolger dc3d3e70

io strict

Unterschiede anzeigen:

bin/mozilla/io.pl
require "bin/mozilla/common.pl";
use strict;
# any custom scripts for this one
if (-f "bin/mozilla/custom_io.pl") {
eval { require "bin/mozilla/custom_io.pl"; };
......
# neue Optik im Rechnungsformular #
########################################
sub display_row {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
_check_io_auth();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
my $cgi = $main::cgi;
my $numrows = shift;
my ($readonly, $stock_in_out, $stock_in_out_title);
......
# translations, unused commented out
# $runningnumber = $locale->text('No.');
$deliverydate = $locale->text('Delivery Date');
$serialnumber = $locale->text('Serial No.');
$projectnumber = $locale->text('Project');
# my $deliverydate = $locale->text('Delivery Date');
my $serialnumber = $locale->text('Serial No.');
my $projectnumber = $locale->text('Project');
# $partsgroup = $locale->text('Group');
$reqdate = $locale->text('Reqdate');
$deliverydate = $locale->text('Required by');
my $reqdate = $locale->text('Reqdate');
my $deliverydate = $locale->text('Required by');
# special alignings
my %align = map { $_ => 'right' } qw(qty ship right sellprice_pg discount linetotal stock_in_out);
......
_update_custom_variables();
# rows
for $i (1 .. $numrows) {
my @ROWS;
for my $i (1 .. $numrows) {
my %column_data = ();
# undo formatting
......
# / unit ending
$form->{"sellprice_$i"} =~ /\.(\d+)/;
$decimalplaces = max 2, length $1;
my $decimalplaces = max 2, length $1;
$price_factor = $price_factors{$form->{"price_factor_id_$i"}} || 1;
$discount = $form->round_amount($form->{"qty_$i"} * $form->{"sellprice_$i"} * $form->{"discount_$i"} / 100 / $price_factor, 2);
$linetotal = $form->round_amount($form->{"qty_$i"} * $form->{"sellprice_$i"} * (100 - $form->{"discount_$i"}) / 100 / $price_factor, 2);
my $price_factor = $price_factors{$form->{"price_factor_id_$i"}} || 1;
my $discount = $form->round_amount($form->{"qty_$i"} * $form->{"sellprice_$i"} * $form->{"discount_$i"} / 100 / $price_factor, 2);
my $linetotal = $form->round_amount($form->{"qty_$i"} * $form->{"sellprice_$i"} * (100 - $form->{"discount_$i"}) / 100 / $price_factor, 2);
my $rows = $form->numtextrows($form->{"description_$i"}, 30, 6);
$column_data{runningnumber} = $cgi->textfield(-name => "runningnumber_$i", -size => 5, -value => $i); # HuT
$column_data{partnumber} = $cgi->textfield(-name => "partnumber_$i", -size => 12, -value => $form->{"partnumber_$i"});
$column_data{description} = ((($rows = $form->numtextrows($form->{"description_$i"}, 30, 6)) > 1) # if description is too large, use a textbox instead
$column_data{description} = (($rows > 1) # if description is too large, use a textbox instead
? $cgi->textarea( -name => "description_$i", -default => $form->{"description_$i"}, -rows => $rows, -columns => 30)
: $cgi->textfield(-name => "description_$i", -size => 30, -value => $form->{"description_$i"}))
. $cgi->button(-value => $locale->text('L'), -onClick => "set_longdescription_window('longdescription_$i')");
......
$form->{marge_percent} = ($form->{sellprice_total} - $form->{lastcost_total}) / $form->{sellprice_total} * 100;
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
##################################################
# build html-code for pricegroups in variable $form->{prices_$j}
sub set_pricegroup {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my $locale = $main::locale;
my $cgi = $main::cgi;
_check_io_auth();
my $rowcount = shift;
for $j (1 .. $rowcount) {
for my $j (1 .. $rowcount) {
next unless $form->{PRICES}{$j};
# build drop down list for pricegroups
my $option_tmpl = qq|<option value="%s--%s" %s>%s</option>|;
$form->{"prices_$j"} = join '', map { sprintf $option_tmpl, @$_{qw(price pricegroup_id selected pricegroup)} }
(+{ pricegroup => $locale->text("none (pricegroup)") }, @{ $form->{PRICES}{$j} });
foreach $item (@{ $form->{PRICES}{$j} }) {
foreach my $item (@{ $form->{PRICES}{$j} }) {
# set new selectedpricegroup_id and prices for "Preis"
$form->{"pricegroup_old_$j"} = $item->{pricegroup_id} if $item->{selected} && $item->{pricegroup_id};
$form->{"sellprice_$j"} = $item->{price} if $item->{selected} && $item->{pricegroup_id};
$form->{"price_new_$j"} = $form->{"sellprice_$j"} if $item->{selected} || !$item->{pricegroup_id};
}
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub select_item {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
my $cgi = $main::cgi;
# diese variable kommt schon in der methode display_row vor, kann man die besser wiederverwenden? @mb fragen. ich check das jetzt erstmal so ein
my $is_purchase = (first { $_ eq $form->{type} } qw(request_quotation purchase_order purchase_delivery_order)) || ($form->{script} eq 'ir.pl');
_check_io_auth();
@column_index = qw(ndx partnumber description rop onhand unit sellprice);
my @column_index = qw(ndx partnumber description rop onhand unit sellprice);
my %column_data;
$column_data{ndx} = qq|<th>&nbsp;</th>|;
$column_data{partnumber} =
qq|<th class="listheading">| . $locale->text('Number') . qq|</th>|;
......
# list items with radio button on a form
$form->header;
$title = $locale->text('Select from one of the items below');
$colspan = $#column_index + 1;
my $title = $locale->text('Select from one of the items below');
my $colspan = $#column_index + 1;
print qq|
<body>
......
qw(bin listprice inventory_accno income_accno expense_accno unit weight
assembly taxaccounts partsgroup formel longdescription not_discountable
part_payment_id partnotes id lastcost price_factor_id price_factor);
push @new_fields, "lizenzen" if ($lizenzen);
push @new_fields, "lizenzen" if ($main::lizenzen);
push @new_fields, grep { m/^ic_cvar_/ } keys %{ $form->{item_list}->[0] };
my $i = 0;
foreach $ref (@{ $form->{item_list} }) {
$checked = ($i++) ? "" : "checked";
my $j;
foreach my $ref (@{ $form->{item_list} }) {
my $checked = ($i++) ? "" : "checked";
if ($lizenzen) {
if ($main::lizenzen) {
if ($ref->{inventory_accno} > 0) {
$ref->{"lizenzen"} = qq|<option></option>|;
foreach $item (@{ $form->{LIZENZEN}{ $ref->{"id"} } }) {
foreach my $item (@{ $form->{LIZENZEN}{ $ref->{"id"} } }) {
$ref->{"lizenzen"} .=
qq|<option value=\"$item->{"id"}\">$item->{"licensenumber"}</option>|;
}
......
map { delete $form->{$_} } qw(action item_list header);
# save all other form variables
foreach $key (keys %${form}) {
foreach my $key (keys %${form}) {
next if (($key eq 'login') || ($key eq 'password') || ('' ne ref $form->{$key}));
$form->{$key} =~ s/\"/&quot;/g;
print qq|<input name="$key" type="hidden" value="$form->{$key}">\n|;
......
</html>
|;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub item_selected {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
_check_io_auth();
# replace the last row with the checked row
$i = $form->{rowcount};
my $i = $form->{rowcount};
$i = $form->{assembly_rows} if ($form->{item} eq 'assembly');
# index for new item
$j = $form->{ndx};
my $j = $form->{ndx};
#sk
#($form->{"sellprice_$i"},$form->{"$pricegroup_old_$i"}) = split /--/, $form->{"sellprice_$i"};
#$form->{"sellprice_$i"} = $form->{"sellprice_$i"};
# if there was a price entered, override it
$sellprice = $form->parse_amount(\%myconfig, $form->{"sellprice_$i"});
my $sellprice = $form->parse_amount(\%myconfig, $form->{"sellprice_$i"});
my @new_fields =
qw(id partnumber description sellprice listprice inventory_accno
......
$form->{payment_id} = $form->{"part_payment_id_$i"};
}
if ($lizenzen) {
if ($main::lizenzen) {
map { $form->{"${_}_$i"} = $form->{"new_${_}_$j"} } qw(lizenzen);
}
($dec) = ($form->{"sellprice_$i"} =~ /\.(\d+)/);
my ($dec) = ($form->{"sellprice_$i"} =~ /\.(\d+)/);
$dec = length $dec;
$decimalplaces = ($dec > 2) ? $dec : 2;
my $decimalplaces = ($dec > 2) ? $dec : 2;
if ($sellprice) {
$form->{"sellprice_$i"} = $sellprice;
......
$form->{"discount_$i"} = 0;
}
$amount =
my $amount =
$form->{"sellprice_$i"} * (1 - $form->{"discount_$i"} / 100) *
$form->{"qty_$i"};
map { $form->{"${_}_base"} += $amount }
......
&display_form;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub new_item {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
_check_io_auth();
......
# save all form variables except action in a previousform variable
my $previousform = join '&', map { my $value = $form->{$_}; $value =~ s/&/%26/; "$_=$value" } grep { !/action/ } keys %$form;
my @HIDDENS;
push @HIDDENS, { 'name' => 'previousform', 'value' => $form->escape($previousform, 1) };
push @HIDDENS, map +{ 'name' => $_, 'value' => $form->{$_} }, qw(rowcount vc);
push @HIDDENS, map +{ 'name' => $_, 'value' => $form->{"${_}_$form->{rowcount}"} }, qw(partnumber description unit);
......
$form->header();
print $form->parse_html_template("generic/new_item", { HIDDENS => [ sort { $a->{name} cmp $b->{name} } @HIDDENS ] } );
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub check_form {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
_check_io_auth();
......
map { $a[$j]->{$_} = $form->{"${_}_$i"} } @flds;
$count++;
if ($lizenzen) {
if ($main::lizenzen) {
if ($form->{"licensenumber_$i"} == -1) {
&new_license($i);
exit;
......
&display_form;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub invoicetotal {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
_check_io_auth();
......
if !$form->{taxincluded};
$form->{oldtotalpaid} = 0;
for $i (1 .. $form->{paidaccounts}) {
for my $i (1 .. $form->{paidaccounts}) {
$form->{oldtotalpaid} += $form->{"paid_$i"};
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
# return total
return ($form->{oldinvtotal} - $form->{oldtotalpaid});
}
sub validate_items {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my $locale = $main::locale;
_check_io_auth();
......
exit;
}
for $i (1 .. $form->{rowcount} - 1) {
for my $i (1 .. $form->{rowcount} - 1) {
$form->isblank("partnumber_$i",
$locale->text('Number missing in Row') . " $i");
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub order {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
_check_io_auth();
......
$form->{old_salesman_id} = $form->{salesman_id};
map { delete $form->{$_} } qw(id printed emailed queued);
my $buysell;
if ($form->{script} eq 'ir.pl' || $form->{type} eq 'request_quotation') {
$form->{title} = $locale->text('Add Purchase Order');
$form->{vc} = 'vendor';
......
my $script = $form->{"script"};
$script =~ s|.*/||;
$script =~ s|.pl$||;
$locale = new Locale($language, $script);
$locale = new Locale($main::language, $script);
map { $form->{"select$_"} = "" } ($form->{vc}, "currency");
$currency = $form->{currency};
my $currency = $form->{currency};
&order_links;
......
$form->{forex} = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{transdate}, $buysell);
$form->{exchangerate} = $form->{forex} || '';
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 discount));
......
&prepare_order;
&display_form;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub quotation {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
_check_io_auth();
......
}
map { delete $form->{$_} } qw(id printed emailed queued);
my $buysell;
if ($form->{script} eq 'ir.pl' || $form->{type} eq 'purchase_order') {
$form->{title} = $locale->text('Add Request for Quotation');
$form->{vc} = 'vendor';
......
map { $form->{"select$_"} = "" } ($form->{vc}, "currency");
$currency = $form->{currency};
my $currency = $form->{currency};
&order_links;
......
$form->{forex} = $form->check_exchangerate( \%myconfig, $form->{currency}, $form->{transdate}, $buysell);
$form->{exchangerate} = $form->{forex} || '';
for $i (1 .. $form->{rowcount}) {
for my $i (1 .. $form->{rowcount}) {
map({ $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig,
$form->{"${_}_${i}"})
if ($form->{"${_}_${i}"}) }
......
&prepare_order;
&display_form;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub request_for_quotation {
......
}
sub edit_e_mail {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
_check_io_auth();
......
$form->{"email"} = $form->{"cp_email"};
}
$title = $locale->text('E-mail') . " " . $form->get_formname_translation();
my $title = $locale->text('E-mail') . " " . $form->get_formname_translation();
$form->{oldmedia} = $form->{media};
$form->{media} = "email";
......
HIDDEN => [ map +{ name => $_, value => $form->{$_} }, @hidden_keys ],
SHOW_BCC => $myconfig{role} eq 'admin' });
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub send_email {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
_check_io_auth();
......
$form->{callback} = $callback;
$form->redirect();
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
# generate the printing options displayed at the bottom of oe and is forms.
......
#
# the inline options is untested, but intended to be used later in metatemplating
sub print_options {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
_check_io_auth();
......
# names 3 parameters and returns a hashref, for use in templates
sub opthash { +{ value => shift, selected => shift, oname => shift } }
(@FORMNAME, @FORMNAME, @LANGUAGE_ID, @FORMAT, @SENDMODE, @MEDIA, @PRINTER_ID, @SELECTS) = ();
my (@FORMNAME, @LANGUAGE_ID, @FORMAT, @SENDMODE, @MEDIA, @PRINTER_ID, @SELECTS) = ();
# note: "||"-selection is only correct for values where "0" is _not_ a correct entry
$form->{sendmode} = "attachment";
......
push @MEDIA, grep $_,
opthash("screen", $form->{OP}{screen}, $locale->text('Screen')),
(scalar @{ $form->{printers} } && $latex_templates) ?
(scalar @{ $form->{printers} } && $main::latex_templates) ?
opthash("printer", $form->{OP}{printer}, $locale->text('Printer')) : undef,
($latex_templates && !$options{no_queue}) ?
($main::latex_templates && !$options{no_queue}) ?
opthash("queue", $form->{OP}{queue}, $locale->text('Queue')) : undef
if ($form->{media} ne 'email');
push @FORMAT, grep $_,
($opendocument_templates && $openofficeorg_writer_bin && $xvfb_bin && (-x $openofficeorg_writer_bin) && (-x $xvfb_bin)
($main::opendocument_templates && $main::openofficeorg_writer_bin && $main::xvfb_bin
&& (-x $main::openofficeorg_writer_bin) && (-x $main::xvfb_bin)
&& !$options{no_opendocument_pdf}) ?
opthash("opendocument_pdf", $form->{DF}{"opendocument_pdf"}, $locale->text("PDF (OpenDocument/OASIS)")) : undef,
($latex_templates) ?
($main::latex_templates) ?
opthash("pdf", $form->{DF}{pdf}, $locale->text('PDF')) : undef,
($latex_templates && !$options{no_postscript}) ?
($main::latex_templates && !$options{no_postscript}) ?
opthash("postscript", $form->{DF}{postscript}, $locale->text('Postscript')) : undef,
(!$options{no_html}) ?
opthash("html", $form->{DF}{html}, "HTML") : undef,
($opendocument_templates && !$options{no_opendocument}) ?
($main::opendocument_templates && !$options{no_opendocument}) ?
opthash("opendocument", $form->{DF}{opendocument}, $locale->text("OpenDocument/OASIS")) : undef;
push @LANGUAGE_ID,
......
map { opthash($_->{id}, ($_->{id} eq $form->{printer_id} ? 'selected' : ''), $_->{printer_description}) } +{}, @{ $form->{printers} }
if ((ref $form->{printers} eq 'ARRAY') && scalar @{ $form->{printers } });
@SELECTS = map { sname => lc $_, DATA => \@$_, show => !$options{"hide_" . lc($_)} && scalar @$_ }, qw(FORMNAME LANGUAGE_ID FORMAT SENDMODE MEDIA PRINTER_ID);
{
no strict 'refs';
@SELECTS = map { sname => lc $_, DATA => \@$_, show => !$options{"hide_" . lc($_)} && scalar @$_ }, qw(FORMNAME LANGUAGE_ID FORMAT SENDMODE MEDIA PRINTER_ID);
}
my %dont_display_groupitems = (
'dunning' => 1,
);
%template_vars = (
display_copies => scalar @{ $form->{printers} } && $latex_templates && $form->{media} ne 'email',
my %template_vars = (
display_copies => scalar @{ $form->{printers} } && $main::latex_templates && $form->{media} ne 'email',
display_remove_draft => (!$form->{id} && $form->{draft_id}),
display_groupitems => !$dont_display_groupitems{$form->{type}},
groupitems_checked => $form->{groupitems} ? "checked" : '',
......
my $print_options = $form->parse_html_template("generic/print_options", { SELECTS => \@SELECTS, %template_vars } );
if ($options{inline}) {
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
return $print_options;
}
print $print_options;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub print {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my $locale = $main::locale;
_check_io_auth();
if ($form->{print_nextsub}) {
call_sub($form->{print_nextsub});
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
return;
}
# if this goes to the printer pass through
my $old_form;
if ($form->{media} eq 'printer' || $form->{media} eq 'queue') {
$form->error($locale->text('Select postscript or PDF!'))
if ($form->{format} !~ /(postscript|pdf)/);
......
&print_form($old_form);
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub print_form {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
_check_io_auth();
my ($old_form) = @_;
$inv = "inv";
$due = "due";
$numberfld = "invnumber";
my $inv = "inv";
my $due = "due";
my $numberfld = "invnumber";
my $order;
$display_form =
my $display_form =
($form->{display_form}) ? $form->{display_form} : "display_form";
# $form->{"notes"} will be overridden by the customer's/vendor's "notes" field. So save it here.
......
my ($saved_email, $saved_cc, $saved_bcc) =
($form->{"email"}, $form->{"cc"}, $form->{"bcc"});
$language_saved = $form->{language_id};
$payment_id_saved = $form->{payment_id};
$salesman_id_saved = $form->{salesman_id};
$cp_id_saved = $form->{cp_id};
my $language_saved = $form->{language_id};
my $payment_id_saved = $form->{payment_id};
my $salesman_id_saved = $form->{salesman_id};
my $cp_id_saved = $form->{cp_id};
call_sub("$form->{vc}_details") if ($form->{vc});
......
$form->get_shipto(\%myconfig);
}
@a = qw(name street zipcode city country contact);
my @a = qw(name street zipcode city country contact);
$shipto = 1;
my $shipto = 1;
# if there is no shipto fill it in from billto
foreach $item (@a) {
foreach my $item (@a) {
if ($form->{"shipto$item"}) {
$shipto = 0;
last;
......
$form->{printed} .= " $form->{formname}";
$form->{printed} =~ s/^ //;
}
$printed = $form->{printed};
my $printed = $form->{printed};
if ($form->{media} eq 'email') {
$form->{subject} = qq|$form->{label} $form->{"${inv}number"}|
......
$form->{emailed} .= " $form->{formname}";
$form->{emailed} =~ s/^ //;
}
$emailed = $form->{emailed};
my $emailed = $form->{emailed};
if ($form->{media} eq 'queue') {
%queued = map { s|.*/|| } split / /, $form->{queued};
my %queued = map { s|.*/|| } split / /, $form->{queued};
my $filename;
if ($filename = $queued{ $form->{formname} }) {
$form->{queued} =~ s/\Q$form->{formname} $filename\E//;
unlink "$spool/$filename";
unlink "$main::spool/$filename";
$filename =~ s/\..*$//g;
} else {
$filename = time;
......
}
$filename .= ($form->{postscript}) ? '.ps' : '.pdf';
$form->{OUT} = ">$spool/$filename";
$form->{OUT} = ">$main::spool/$filename";
# add type
$form->{queued} .= " $form->{formname} $filename";
$form->{queued} =~ s/^ //;
}
$queued = $form->{queued};
my $queued = $form->{queued};
# saving the history
if(!exists $form->{addition}) {
......
}
# /saving the history
$form->parse_template(\%myconfig, $userspath);
$form->parse_template(\%myconfig, $main::userspath);
$form->{callback} = "";
if ($form->{media} eq 'email') {
$form->{message} = $locale->text('sent') unless $form->{message};
}
$message = $form->{message};
my $message = $form->{message};
# if we got back here restore the previous form
if ($form->{media} =~ /(printer|email|queue)/) {
......
$form->update_status(\%myconfig)
if ($form->{media} eq 'queue' && $form->{id});
return $lxdebug->leave_sub() if ($old_form eq "return");
return $main::lxdebug->leave_sub() if ($old_form eq "return");
if ($old_form) {
......
map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
qw(exchangerate creditlimit creditremaining);
for $i (1 .. $form->{paidaccounts}) {
for my $i (1 .. $form->{paidaccounts}) {
map {
$form->{"${_}_$i"} =
$form->parse_amount(\%myconfig, $form->{"${_}_$i"})
......
exit;
}
$msg =
my $msg =
($form->{media} eq 'printer')
? $locale->text('sent to printer')
: $locale->text('emailed to') . " $form->{email}";
......
exit;
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub customer_details {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
IS->customer_details(\%myconfig, \%$form, @_);
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub vendor_details {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
IR->vendor_details(\%myconfig, \%$form, @_);
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub post_as_new {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
_check_io_auth();
......
&post;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub ship_to {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
my $cgi = $main::cgi;
_check_io_auth();
......
$form->{print_and_post} = 0;
}
$title = $form->{title};
my $title = $form->{title};
$form->{title} = $locale->text('Ship to');
map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
......
# get details for name
call_sub("$form->{vc}_details", @addr_vars);
$number =
my $number =
($form->{vc} eq 'customer')
? $locale->text('Customer Number')
: $locale->text('Vendor Number');
......
# build up html code for prices_$i
set_pricegroup($form->{rowcount});
$nextsub = ($form->{display_form}) ? $form->{display_form} : "display_form";
my $nextsub = ($form->{display_form}) ? $form->{display_form} : "display_form";
$form->{rowcount}--;
......
map({ delete $form->{$_} } (@shipto_vars, qw(header)));
$form->{title} = $title;
foreach $key (keys %$form) {
foreach my $key (keys %$form) {
next if (($key eq 'login') || ($key eq 'password') || ('' ne ref $form->{$key}));
$form->{$key} =~ s/\"/&quot;/g;
print qq|<input type="hidden" name="$key" value="$form->{$key}">\n|;
......
</html>
|;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub new_license {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
_check_io_auth();
......
# delete action
delete $form->{action};
$customer = $form->{customer};
my $customer = $form->{customer};
map { $form->{"old_$_"} = $form->{"${_}_$row"} } qw(partnumber description);
# save all other form variables in a previousform variable
$form->{row} = $row;
foreach $key (keys %$form) {
my $previousform;
foreach my $key (keys %$form) {
next if (($key eq 'login') || ($key eq 'password') || ('' ne ref $form->{$key}));
# escape ampersands
......
$form->{script} = "licenses.pl";
our $name;
map { $form->{$_} = $form->{"old_$_"} } qw(partnumber description);
map { $form->{$_} = $form->escape($form->{$_}, 1) }
qw(partnumber description);
......
qq|$form->{script}?action=add&vc=$form->{db}&$form->{db}_id=$form->{id}&$form->{db}=$name&type=$form->{type}&customer=$customer&partnumber=$form->{partnumber}&description=$form->{description}&previousform="$previousform"&initial=1|;
$form->redirect;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub relink_accounts {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
_check_io_auth();
......
}
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub set_duedate {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
_check_io_auth();
......
print $form->ajax_response_header() . $duedate;
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub _update_part_information {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %part_information = IC->get_basic_part_info('id' => [ grep { $_ } map { $form->{"id_${_}"} } (1..$form->{rowcount}) ],
'vendor_id' => $form->{vendor_id});
......
$form->{"partunit_${i}"} = $info->{unit};
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub _update_ship {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %myconfig = %main::myconfig;
if (!$form->{ordnumber} || !$form->{id}) {
map { $form->{"ship_$_"} = 0 } (1..$form->{rowcount});
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
return;
}
AM->retrieve_all_units();
my $all_units = AM->retrieve_all_units();
my %ship = DO->get_shipped_qty('type' => ($form->{type} eq 'purchase_order') ? 'purchase' : 'sales',
'oe_id' => $form->{id},);
......
$ship_entry->{qty} = 0;
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub _update_custom_variables {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
$form->{CVAR_CONFIGS} ||= { };
$form->{CVAR_CONFIGS}->{IC} = CVar->get_configs(module => 'IC');
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}
sub _render_custom_variables_inputs {
$lxdebug->enter_sub();
$main::lxdebug->enter_sub();
my $form = $main::form;
my %params = @_;
if (!$form->{CVAR_CONFIGS}->{IC}) {
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
return;
}
......
};
}
$lxdebug->leave_sub();
$main::lxdebug->leave_sub();
}

Auch abrufbar als: Unified diff