X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/5e579516f2155775dfc0fddafff4bbf1f9dc9cda..4cc5904b3ed7efd6a3d1c1f77ed23bf589fe7d0d:/bin/mozilla/is.pl diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index 177b0e3f5..0e67ed475 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -303,6 +303,9 @@ sub form_header { $main::auth->assert('invoice_edit'); + our %TMPL_VAR = (); + my @custom_hiddens; + $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id}; $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id}; @@ -340,473 +343,263 @@ sub form_header { "projects" => { "key" => "ALL_PROJECTS", "all" => 0, "old_id" => \@old_project_ids }, - "employees" => "ALL_SALESMEN", + "employees" => "ALL_EMPLOYEES", + "salesmen" => "ALL_SALESMEN", "taxzones" => "ALL_TAXZONES", "currencies" => "ALL_CURRENCIES", "customers" => "ALL_CUSTOMERS", "price_factors" => "ALL_PRICE_FACTORS"); - my %labels; - my @values = (undef); - foreach my $item (@{ $form->{"ALL_CONTACTS"} }) { - push(@values, $item->{"cp_id"}); - $labels{$item->{"cp_id"}} = join(',', $item->{"cp_name"}, $item->{"cp_givenname"}) . ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : ""); - } - my $contact; - if (scalar @values > 1) { - $contact = qq| - - | . $locale->text('Contact Person') . qq| - | . NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values, '-style' => 'width: 250px', - '-labels' => \%labels, '-default' => $form->{"cp_id"})) . qq| - - |; - } - - %labels = (); - @values = (); - foreach my $item (@{ $form->{"ALL_SALESMEN"} }) { - push(@values, $item->{"id"}); - $labels{$item->{id}} = $item->{name} ne "" ? $item->{name} : $item->{login}; - } - - 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 = (); - foreach my $item (@{ $form->{"ALL_CUSTOMERS"} }) { - push(@values, $item->{name}.qq|--|.$item->{"id"}); - $labels{$item->{name}.qq|--|.$item->{"id"}} = $item->{"name"}; - } - - $form->{selectcustomer} = ($myconfig{vclimit} > scalar(@values)); - - my $customers = qq| - | . $locale->text('Customer') . qq| - | . - (($myconfig{vclimit} <= scalar(@values)) - ? qq|| - : (NTI($cgi->popup_menu('-name' => 'customer', '-default' => $form->{oldcustomer}, - '-onChange' => 'document.getElementById(\'update_button\').click();', - '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')))) . qq| - - |; - - %labels = (); - @values = (""); - foreach my $item (@{ $form->{"ALL_SHIPTO"} }) { - push(@values, $item->{"shipto_id"}); - $labels{$item->{"shipto_id"}} = join "; ", grep { $_ } map { $item->{"shipto${_}" } } qw(name department_1 street city); - } - - my $shipto; - if (scalar @values > 1) { - $shipto = qq| - - | . $locale->text('Shipping Address') . qq| - | . NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values, '-style' => 'width: 250px', - '-labels' => \%labels, '-default' => $form->{"shipto_id"})). qq| - |; - } - - %labels = (); - @values = (); - foreach my $item (@{ $form->{"ALL_CURRENCIES"} }) { - push(@values, $item); - $labels{$item} = $item; - } + $TMPL_VAR{sales_employee_labels} = sub { $_[0]->{name} || $_[0]->{login} }; + $TMPL_VAR{shipto_labels} = sub { join "; ", grep { $_ } map { $_[0]->{"shipto${_}" } } qw(name department_1 street city) }; + $TMPL_VAR{contact_labels} = sub { join(', ', $_[0]->{"cp_name"}, $_[0]->{"cp_givenname"}) . ($_[0]->{cp_abteilung} ? " ($_[0]->{cp_abteilung})" : "") }; + $TMPL_VAR{department_labels} = sub { "$_[0]->{description}--$_[0]->{id}" }; + + # customer + $TMPL_VAR{vc_keys} = sub { "$_[0]->{name}--$_[0]->{id}" }; + $TMPL_VAR{vclimit} = $myconfig{vclimit}; + $TMPL_VAR{vc_select} = "customer_or_vendor_selection_window('$form->{vc}', '', @{[ $form->{vc} eq 'vendor' ? 1 : 0 ]}, 0)"; + push @custom_hiddens, "$form->{vc}_id"; + push @custom_hiddens, "old$form->{vc}"; + push @custom_hiddens, "select$form->{vc}"; + + # currencies and exchangerate + my @values = map { $_ } @{ $form->{ALL_CURRENCIES} }; + my %labels = map { $_ => $_ } @{ $form->{ALL_CURRENCIES} }; + $form->{currency} = $form->{defaultcurrency} unless $form->{currency}; + $TMPL_VAR{show_exchangerate} = $form->{currency} ne $form->{defaultcurrency}; + $TMPL_VAR{currencies} = NTI($cgi->popup_menu('-name' => 'currency', '-default' => $form->{"currency"}, + '-values' => \@values, '-labels' => \%labels)) if scalar @values; + push @custom_hiddens, "forex"; + push @custom_hiddens, "exchangerate" if $form->{forex}; + + $TMPL_VAR{creditwarning} = ($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update}; + $TMPL_VAR{is_credit_remaining_negativ} = $form->{creditremaining} =~ /-/; - $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| - - |; - } - - %labels = (); - @values = (""); - foreach my $item (@{ $form->{"ALL_PROJECTS"} }) { - push(@values, $item->{"id"}); - $labels{$item->{"id"}} = $item->{"projectnumber"}; - } - my $globalprojectnumber = NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values, - '-labels' => \%labels, - '-default' => $form->{"globalproject_id"})); - - %labels = (); - @values = (); - foreach my $item (@{ $form->{ALL_SALESMEN} }) { - push(@values, $item->{id}); - $labels{$item->{id}} = $item->{name} ne "" ? $item->{name} : $item->{login}; - } - - my $salesman = - qq| | . $locale->text('Salesman') . qq| - | . NTI($cgi->popup_menu('-name' => 'salesman_id', '-values' => \@values, '-labels' => \%labels, - '-default' => $form->{salesman_id} ? $form->{salesman_id} : $form->{employee_id})) . qq| - - |; - - %labels = (); - @values = (); - foreach my $item (@{ $form->{"ALL_TAXZONES"} }) { - push(@values, $item->{"id"}); - $labels{$item->{"id"}} = $item->{"description"}; - } - - my $taxzone; - if (!$form->{"id"}) { - $taxzone = qq| - - | . $locale->text('Steuersatz') . qq| - | . NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"}, - '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px',)) . qq| - - |; + $form->{fokus} = "invoice.customer"; - } else { - $taxzone = qq| - - | . $locale->text('Steuersatz') . qq| - - - | . H($labels{$form->{"taxzone_id"}}) . qq| - - |; - } + my $follow_up_vc = $form->{customer}; + $follow_up_vc =~ s/--\d*\s*$//; + $TMPL_VAR{customer_name} = $follow_up_vc; - # set option selected +# set option selected foreach my $item (qw(AR customer currency department employee)) { $form->{"select$item"} =~ s/ selected//; $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; } - my $creditwarning = (($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update}) ? 1 : 0; + $TMPL_VAR{is_type_credit_note} = $form->{type} eq "credit_note"; + $TMPL_VAR{is_format_html} = $form->{format} eq 'html'; + $TMPL_VAR{dateformat} = $myconfig{dateformat}; + $TMPL_VAR{numberformat} = $myconfig{numberformat}; - $form->{exchangerate} = $form->format_amount(\%myconfig, $form->{exchangerate}); - $form->{creditlimit} = $form->format_amount(\%myconfig, $form->{creditlimit}, 0, "0"); - $form->{creditremaining} = $form->format_amount(\%myconfig, $form->{creditremaining}, 0, "0"); + # hiddens + $TMPL_VAR{HIDDEN} = [qw( + id action type media format queued printed emailed title vc discount + creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id + max_dunning_level dunning_amount + shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact shiptophone shiptofax + shiptoemail shiptodepartment_1 shiptodepartment_2 message email subject cc bcc taxaccounts cursor_fokus + convert_from_do_ids convert_from_oe_ids + ), @custom_hiddens, + map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}]; - my $exchangerate = ""; - if ($form->{currency} ne $form->{defaultcurrency}) { - if ($form->{forex}) { - $exchangerate .= qq|| . $locale->text('Exchangerate') . qq| - $form->{exchangerate}|; - } else { - $exchangerate .= qq|| . $locale->text('Exchangerate') . qq| - |; - } - } - $exchangerate .= qq|\n\n|; - - my $department = qq| - - | . $locale->text('Department') . qq| - - - - -| if $form->{selectdepartment}; - - my $n = ($form->{creditremaining} =~ /-/) ? "0" : "1"; - - my $business; - if ($form->{business}) { - $business = qq| - - | . $locale->text('Customer type') . qq| - $form->{business}; | . $locale->text('Trade Discount') . qq| | - . $form->format_amount(\%myconfig, $form->{tradediscount} * 100) - . qq| % - -|; - } - - my $dunning; - if ($form->{max_dunning_level}) { - $dunning = qq| - - | . $locale->text('Max. Dunning Level') . qq|: - - $form->{max_dunning_level}; - | . $locale->text('Dunning Amount') . qq|: | - . $form->format_amount(\%myconfig, $form->{dunning_amount},2) - . qq| - - -|; - } - - $form->{fokus} = "invoice.customer"; - - # use JavaScript Calendar or not $form->{jsscript} = 1; - my $jsscript = ""; - my ($button1, $button2, $button3); - if ($form->{type} eq "credit_note") { - $button1 = qq| - - |; - - #write Trigger - $jsscript = - Form->write_trigger(\%myconfig, "1", - "invdate", "BL", - "trigger1"); - } else { - $button1 = qq| - - - |; - $button2 = qq| - - - |; - $button3 = qq| - - - |; - - #write Trigger - $jsscript = - Form->write_trigger(\%myconfig, "3", - "invdate", "BL", "trigger1", - "duedate", "BL", "trigger2", - "deliverydate", "BL", "trigger3"); - } - - my $credittext = $locale->text('Credit Limit exceeded!!!'); - - my $follow_up_vc = $form->{customer}; - $follow_up_vc =~ s/--\d*\s*$//; - my $follow_up_trans_info = "$form->{invnumber} ($follow_up_vc)"; - - my $onload = ($form->{resubmit} && ($form->{format} eq "html")) ? qq|window.open('about:blank','Beleg'); document.invoice.target = 'Beleg';document.invoice.submit()| - : ($form->{resubmit}) ? qq|document.invoice.submit()| - : ($creditwarning) ? qq|alert('$credittext')| - : "focus()"; - $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|; - $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; - - $form->{javascript} .= qq||; - $form->{javascript} .= qq||; - - $jsscript .= - $form->write_trigger(\%myconfig, 2, - "orddate", "BL", "trigger_orddate", - "quodate", "BL", "trigger_quodate"); - # show history button js - $form->{javascript} .= qq||; - #/show history button js - $form->header; - - print qq| - - - - - - - -
-| ; - - $form->hide_form(qw(id action type media format queued printed emailed title vc discount - creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id - max_dunning_level dunning_amount - shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact shiptophone shiptofax - shiptoemail shiptodepartment_1 shiptodepartment_2 message email subject cc bcc taxaccounts cursor_fokus - convert_from_do_ids convert_from_oe_ids), - map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts} ); - - print qq|

$form->{saved_message}

| if $form->{saved_message}; - - print qq| - - - - - - - - -
$form->{title}
- - - - - - -
- - - $customers - - - - - - $contact - $shipto - - - - - $dunning - $business - - - - - - $taxzone - $department - - $currencies - - - $exchangerate - - - - - - - - - - - - - |; -# -# -# -print qq|
| . $locale->text('Credit Limit') . qq|$form->{creditlimit}; | . $locale->text('Remaining') . qq| $form->{creditremaining}
| . $locale->text('Record in') . qq|
| . $locale->text('Shipping Point') . qq| | . - $cgi->textfield("-name" => "shippingpoint", "-size" => 35, "-value" => $form->{shippingpoint}) . - qq|
| . $locale->text('Ship via') . qq| | . - $cgi->textfield("-name" => "shipvia", "-size" => 35, "-value" => $form->{shipvia}) . - qq|
| . $locale->text('Transaction description') . qq|| . $cgi->textfield("-name" => "transaction_description", "-size" => 35, "-value" => $form->{transaction_description}) . qq|
-# -# -# -# -# -# -# -# -# -#
-# -# -#
-# -# -#
-#
-
- - $employees - $salesman -|; - -#ergänzung in der maske um das feld Lieferscheinnummer (Delivery Order Number), meiner meinung nach sinnvoll ueber dem feld lieferscheindatum 12.02.2009 jb -if ($form->{type} eq "credit_note") { -print qq| - - - - - - $button1 - |; -} else { -print qq| - - - - - - $button1 - - - - $button2 - - - - - - - - $button3 - |; -} -print qq| - - - - - - - - - - - - - - - - - - - - - - - -
| . $locale->text('Credit Note Number') . qq| |. - $cgi->textfield("-name" => "invnumber", "-size" => 11, "-value" => $form->{invnumber}) . - qq|
| . $locale->text('Credit Note Date') . qq|
| . $locale->text('Invoice Number') . qq| |. - $cgi->textfield("-name" => "invnumber", "-size" => 11, "-value" => $form->{invnumber}) . - qq|
| . $locale->text('Invoice Date') . qq|
| . $locale->text('Due Date') . qq|
| . $locale->text('Delivery Order Number') . qq| |. - $cgi->textfield("-name" => "donumber", "-size" => 11, "-value" => $form->{donumber}) . - qq|
| . $locale->text('Delivery Date') . qq|
| . $locale->text('Order Number') . qq| |. - $cgi->textfield("-name" => "ordnumber", "-size" => 11, "-value" => $form->{ordnumber}) . - qq|
| . $locale->text('Order Date') . qq| -
| . $locale->text('Quotation Number') . qq| |. - $cgi->textfield("-name" => "quonumber", "-size" => 11, "-value" => $form->{quonumber}) . - qq|
| . $locale->text('Quotation Date') . qq| -
| . $locale->text('Customer Order Number') . qq| |. - $cgi->textfield("-name" => "cusordnumber", "-size" => 11, "-value" => $form->{cusordnumber}) . - qq|
| . $locale->text('Project Number') . qq|$globalprojectnumber
-
- - - - - - - $jsscript -|; - print qq||; + $form->header(); + +# print qq| +# +# +# +# +# +# +# +# +#| ; +# +# $form->hide_form(qw(id action type media format queued printed emailed title vc discount +# creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id +# max_dunning_level dunning_amount +# shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact shiptophone shiptofax +# shiptoemail shiptodepartment_1 shiptodepartment_2 message email subject cc bcc taxaccounts cursor_fokus +# convert_from_do_ids convert_from_oe_ids), +# map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts} ); +# +# print qq|

$form->{saved_message}

| if $form->{saved_message}; +# +# print qq| +# +# +# +# +# +# +# +# +#
$form->{title}
+# +# +# +# +# +# +#
+# +# +# $customers +# +# +# +# +# +# $contact +# $shipto +# +# +# +# +# $dunning +# $business +# +# +# +# +# +# $taxzone +# $department +# +# $currencies +# +# +# $exchangerate +# +# +# +# +# +# +# +# +# +# +# +# +# |; +## +## +## +#print qq|
| . $locale->text('Credit Limit') . qq|$form->{creditlimit}; | . $locale->text('Remaining') . qq| $form->{creditremaining}
| . $locale->text('Record in') . qq|
| . $locale->text('Shipping Point') . qq| | . +# $cgi->textfield("-name" => "shippingpoint", "-size" => 35, "-value" => $form->{shippingpoint}) . +# qq|
| . $locale->text('Ship via') . qq| | . +# $cgi->textfield("-name" => "shipvia", "-size" => 35, "-value" => $form->{shipvia}) . +# qq|
| . $locale->text('Transaction description') . qq|| . $cgi->textfield("-name" => "transaction_description", "-size" => 35, "-value" => $form->{transaction_description}) . qq|
+## +## +## +## +## +## +## +## +## +##
+## +## +##
+## +## +##
+##
+#
+# +# $employees +# $salesman +#|; +# +##ergänzung in der maske um das feld Lieferscheinnummer (Delivery Order Number), meiner meinung nach sinnvoll ueber dem feld lieferscheindatum 12.02.2009 jb +#if ($form->{type} eq "credit_note") { +#print qq| +# +# +# +# +# +# $button1 +# |; +#} else { +#print qq| +# +# +# +# +# +# $button1 +# +# +# +# $button2 +# +# +# +# +# +# +# +# $button3 +# |; +#} +#print qq| +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +#
| . $locale->text('Credit Note Number') . qq| |. +# $cgi->textfield("-name" => "invnumber", "-size" => 11, "-value" => $form->{invnumber}) . +# qq|
| . $locale->text('Credit Note Date') . qq|
| . $locale->text('Invoice Number') . qq| |. +# $cgi->textfield("-name" => "invnumber", "-size" => 11, "-value" => $form->{invnumber}) . +# qq|
| . $locale->text('Invoice Date') . qq|
| . $locale->text('Due Date') . qq|
| . $locale->text('Delivery Order Number') . qq| |. +# $cgi->textfield("-name" => "donumber", "-size" => 11, "-value" => $form->{donumber}) . +# qq|
| . $locale->text('Delivery Date') . qq|
| . $locale->text('Order Number') . qq| |. +# $cgi->textfield("-name" => "ordnumber", "-size" => 11, "-value" => $form->{ordnumber}) . +# qq|
| . $locale->text('Order Date') . qq| +#
| . $locale->text('Quotation Number') . qq| |. +# $cgi->textfield("-name" => "quonumber", "-size" => 11, "-value" => $form->{quonumber}) . +# qq|
| . $locale->text('Quotation Date') . qq| +#
| . $locale->text('Customer Order Number') . qq| |. +# $cgi->textfield("-name" => "cusordnumber", "-size" => 11, "-value" => $form->{cusordnumber}) . +# qq|
| . $locale->text('Project Number') . qq|$globalprojectnumber
+#
+# +# +# +# +# +# +# $jsscript +#|; +# print qq||; + + print $form->parse_html_template("is/form_header", \%TMPL_VAR); $main::lxdebug->leave_sub(); }