X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fir.pl;h=9cdb6d7d995ad581acfa6baa876991a13ca0f2f9;hb=8b5efb772c54921ce86998882177cf2f75d3d493;hp=55a80faa2f64229554d84290ad2a9d895e1cfb1d;hpb=d5c1e4fa391f26fc0acd568729a98493edf319d8;p=kivitendo-erp.git diff --git a/bin/mozilla/ir.pl b/bin/mozilla/ir.pl index 55a80faa2..9cdb6d7d9 100644 --- a/bin/mozilla/ir.pl +++ b/bin/mozilla/ir.pl @@ -34,6 +34,7 @@ use SL::IR; use SL::IS; use SL::PE; +use List::Util qw(max); require "bin/mozilla/io.pl"; require "bin/mozilla/arap.pl"; @@ -122,13 +123,6 @@ sub invoice_links { $form->{oldvendor} = "$form->{vendor}--$form->{vendor_id}"; - # vendors - if (@{ $form->{all_vendor} }) { - $form->{vendor} = "$form->{vendor}--$form->{vendor_id}"; - map { $form->{selectvendor} .= "$_->{name}--$_->{id}\n" } - (@{ $form->{all_vendor} }); - } - # departments if ($form->{all_departments}) { $form->{selectdepartment} = "\n"; @@ -223,66 +217,46 @@ sub form_header { # set option selected foreach $item (qw(AP vendor currency department)) { $form->{"select$item"} =~ s/ selected//; - $form->{"select$item"} =~ - s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; + $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; } - $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}); - - $form->{creditlimit} = - $form->format_amount(\%myconfig, $form->{creditlimit}, 0, "0"); - $form->{creditremaining} = - $form->format_amount(\%myconfig, $form->{creditremaining}, 0, "0"); + $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->{defaultcurrency} = $form->get_default_currency(\%myconfig); + $form->{radier} = ($form->current_date(\%myconfig) eq $form->{gldate}) ? 1 : 0; + $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"); $exchangerate = ""; if ($form->{currency} ne $form->{defaultcurrency}) { if ($form->{forex}) { - $exchangerate .= qq| - | - . $locale->text('Exchangerate') . qq| - $form->{exchangerate}{exchangerate}> -|; + $exchangerate .= qq| | . $locale->text('Exchangerate') . qq| + $form->{exchangerate}{exchangerate}>\n|; } else { - $exchangerate .= qq| - | - . $locale->text('Exchangerate') . qq| - {exchangerate}> -|; + $exchangerate .= qq| | . $locale->text('Exchangerate') . qq| + {exchangerate}>\n|; } } - $exchangerate .= qq| -{forex}> -|; + $exchangerate .= qq| {forex}>\n|; my @old_project_ids = ($form->{"globalproject_id"}); - map({ push(@old_project_ids, $form->{"project_id_$_"}) - if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"})); - - $form->get_lists("contacts" => "ALL_CONTACTS", - "projects" => { "key" => "ALL_PROJECTS", - "all" => 0, - "old_id" => \@old_project_ids }, - "taxzones" => "ALL_TAXZONES", - "employees" => "ALL_SALESMEN", + map { push @old_project_ids, $form->{"project_id_$_"} if $form->{"project_id_$_"}; } 1..$form->{"rowcount"}; + + $form->get_lists("contacts" => "ALL_CONTACTS", + "projects" => { "key" => "ALL_PROJECTS", + "all" => 0, + "old_id" => \@old_project_ids }, + "taxzones" => "ALL_TAXZONES", + "employees" => "ALL_SALESMEN", "currencies" => "ALL_CURRENCIES", - "vendors" => "ALL_VENDORS"); + "vendors" => "ALL_VENDORS"); my %labels; my @values = (undef); foreach my $item (@{ $form->{"ALL_CONTACTS"} }) { push(@values, $item->{"cp_id"}); - $labels{$item->{"cp_id"}} = $item->{"cp_name"} . - ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : ""); + $labels{$item->{"cp_id"}} = $item->{"cp_name"} . ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : ""); } my $contact; @@ -290,10 +264,8 @@ sub form_header { $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| + | . NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values, '-style' => 'width: 250px', + '-labels' => \%labels, '-default' => $form->{"cp_id"})) . qq| |; } @@ -304,10 +276,8 @@ sub form_header { 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"})); + my $globalprojectnumber = NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values, '-labels' => \%labels, + '-default' => $form->{"globalproject_id"})); %labels = (); @values = (); @@ -323,9 +293,8 @@ sub form_header { $currencies = qq| | . $locale->text('Currency') . qq| - | . - NTI($cgi->popup_menu('-name' => 'currency', '-default' => $form->{"currency"}, - '-values' => \@values, '-labels' => \%labels)) . qq| + | . NTI($cgi->popup_menu('-name' => 'currency', '-default' => $form->{"currency"}, + '-values' => \@values, '-labels' => \%labels)) . qq| |; } @@ -338,13 +307,12 @@ sub form_header { $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| + | . NTI($cgi->popup_menu('-name' => 'employee_id', '-default' => $form->{"employee_id"}, + '-values' => \@values, '-labels' => \%labels)) . qq| - |; + |; %labels = (); @values = (); @@ -353,12 +321,17 @@ sub form_header { push(@values, $item->{name}.qq|--|.$item->{"id"}); $labels{$item->{name}.qq|--|.$item->{"id"}} = $item->{"name"}; } + + $form->{selectvendor} = ($myconfig{vclimit} > scalar(@values)); + 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, '-style' => 'width: 250px')) . qq| + (($myconfig{vclimit} <= scalar(@values)) + ? qq|| + : (NTI($cgi->popup_menu('-name' => 'vendor', '-default' => $form->{oldvendor}, + '-onChange' => 'document.getElementById(\'update_button\').click();', + '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')))) . qq| |; @@ -373,12 +346,10 @@ sub form_header { $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| + | . NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"}, + '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')) . qq| |; - } else { $taxzone = qq| @@ -391,13 +362,12 @@ sub form_header { } $department = qq| - + | . $locale->text('Department') . qq| $form->{selectdepartment} - -| if $form->{selectdepartment}; + \n| if $form->{selectdepartment}; $n = ($form->{creditremaining} =~ /-/) ? "0" : "1"; @@ -407,31 +377,25 @@ sub form_header { $button1 = qq| - text('button') . qq|> - |; + text('button') . qq|>\n|; $button2 = qq| - text('button') . qq|> - |; + text('button') . qq|>\n|; #write Trigger $jsscript = - Form->write_trigger(\%myconfig, "2", "invdate", "BL", "trigger1", + Form->write_trigger(\%myconfig, "2", + "invdate", "BL", "trigger1", "duedate", "BL", "trigger2"); - $form->{"javascript"} .= qq||; - $form->{"javascript"} .= qq||; - $form->{javascript} .= qq||; + $form->{javascript} .= qq||; + $form->{javascript} .= qq||; + $form->{javascript} .= qq||; - $jsscript .= - $form->write_trigger(\%myconfig, 2, - "orddate", "BL", "trigger_orddate", - "quodate", "BL", "trigger_quodate"); + $jsscript .= $form->write_trigger(\%myconfig, 2, "orddate", "BL", "trigger_orddate", "quodate", "BL", "trigger_quodate"); $form->header; - $onload = qq|focus()|; + $onload = qq|focus()|; $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|; $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; print qq| @@ -440,9 +404,10 @@ sub form_header { {script}> |; - $form->hide_form(qw(id title vc type level creditlimit creditremaining - closedto locked shippted storno storno_id - max_dunning_level dunning_amount)); + $form->hide_form(qw(id title vc type level creditlimit creditremaining closedto locked shippted storno storno_id + max_dunning_level dunning_amount vendor_id oldvendor selectvendor taxaccounts + fxgain_accno fxloss_accno taxpart taxservice), + map { $_.'_rate', $_.'_description' } split / /, $form->{taxaccounts} ); print qq|$form->{saved_message}| if $form->{saved_message}; @@ -455,9 +420,6 @@ sub form_header { $vendors - - - $contact | . $locale->text('Credit Limit') . qq| @@ -519,14 +481,7 @@ sub form_header { $jsscript -{fxgain_accno}> -{fxloss_accno}> - - - - - |; foreach $item (split / /, $form->{taxaccounts}) { @@ -685,11 +640,11 @@ sub form_footer { Dateiname Webdavlink |; - foreach $file (keys %{ $form->{WEBDAV} }) { + foreach $file (@{ $form->{WEBDAV} }) { $webdav_list .= qq| - $file - $form->{WEBDAV}{$file} + $file->{name} + $file->{type} |; } @@ -730,7 +685,9 @@ sub form_footer { |; - my @triggers = (); + my @triggers = (); + my $totalpaid = 0; + $form->{paidaccounts}++ if ($form->{"paid_$form->{paidaccounts}"}); for $i (1 .. $form->{paidaccounts}) { @@ -742,6 +699,8 @@ sub form_footer { $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"} = @@ -785,7 +744,22 @@ sub form_footer { push(@triggers, "datepaid_$i", "BL", "trigger_datepaid_$i"); } + my $paid_missing = $form->{oldinvtotal} - $totalpaid; + print qq| + + + + | . $locale->text('Total') . qq| + | . H($form->format_amount(\%myconfig, $totalpaid, 2)) . qq| + + + + + | . $locale->text('Missing amount') . qq| + | . H($form->format_amount(\%myconfig, $paid_missing, 2)) . qq| + + {oldinvtotal}> {paidaccounts}> @@ -847,7 +821,12 @@ sub form_footer { . qq|">|; } # /button for saving history - + # mark_as_paid button + if($form->{id} ne "") { + print qq| |; + } + # /mark_as_paid button print qq|
$form->{saved_message}