X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fis.pl;h=b603f773a1311596fcc8c66e59cb5fced35fa913;hb=3f4a45a96efc9e44bc3cd58874128dc36cc667cf;hp=e2b99cb7418b1cbebbe0972a1012263ca965229c;hpb=d7f060429e809653d45e93e86b3c5c8d7129e0a9;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index e2b99cb74..b603f773a 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -83,7 +83,7 @@ sub edit { # show history button $form->{javascript} = qq||; #/show hhistory button - + if ($myconfig{acs} =~ "AR--Add Sales Invoice" || $myconfig{acs} =~ "AR--AR") { $form->error("Access Denied"); @@ -169,11 +169,6 @@ sub invoice_links { $form->{oldcustomer} = "$form->{customer}--$form->{customer_id}"; - if (@{ $form->{all_customer} }) { - $form->{customer} = "$form->{customer}--$form->{customer_id}"; - $form->{selectcustomer} = "$form->{customer}--$form->{customer_id}"; - } - # departments if ($form->{all_departments}) { $form->{selectdepartment} = "\n"; @@ -284,23 +279,30 @@ sub prepare_invoice { sub form_header { $lxdebug->enter_sub(); + if ($form->{old_employee_id}) { + $form->{employee_id} = $form->{old_employee_id}; + } + if ($form->{old_salesman_id}) { + $form->{salesman_id} = $form->{old_salesman_id}; + } + if ($edit) { if ($form->{type} eq "credit_note") { $form->{title} = $locale->text('Edit Credit Note'); - + if ($form->{storno}) { $form->{title} = $locale->text('Edit Storno Credit Note'); } } else { $form->{title} = $locale->text('Edit Sales Invoice'); - + if ($form->{storno}) { $form->{title} = $locale->text('Edit Storno Invoice'); } } } - + $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); $form->{radier} = ($form->current_date(\%myconfig) eq $form->{gldate}) ? 1 : 0; @@ -346,7 +348,7 @@ sub form_header { | . $locale->text('Contact Person') . qq| | . - NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values, + NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values, '-style' => 'width: 250px', '-labels' => \%labels, '-default' => $form->{"cp_id"})) . qq| @@ -357,14 +359,14 @@ sub form_header { @values = (); foreach my $item (@{ $form->{"ALL_SALESMEN"} }) { push(@values, $item->{"id"}); - $labels{$item->{"id"}} = $item->{"name"}; + $labels{$item->{id}} = $item->{name} ne "" ? $item->{name} : $item->{login}; } my $employees = qq| | . $locale->text('Employee') . qq| | . - NTI($cgi->popup_menu('-name' => 'employee', '-default' => $form->{"employee_id"}, + NTI($cgi->popup_menu('-name' => 'employee_id', '-default' => $form->{"employee_id"}, '-values' => \@values, '-labels' => \%labels)) . qq| |; @@ -374,25 +376,27 @@ sub form_header { @values = (); foreach my $item (@{ $form->{"ALL_CUSTOMERS"} }) { push(@values, $item->{name}.qq|--|.$item->{"id"}); - $labels{$item->{"id"}} = $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}, + | . + (($myconfig{vclimit} <= scalar(@values)) + ? qq|| + : (NTI($cgi->popup_menu('-name' => 'customer', '-default' => $form->{oldcustomer}, '-onChange' => 'document.getElementById(\'update_button\').click();', - '-values' => \@values, '-labels' => \%labels)))) . qq| + '-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"}} = - $item->{"shiptoname"} . " " . $item->{"shiptodepartment_1"}; + $labels{$item->{"shipto_id"}} = join "; ", grep { $_ } map { $item->{"shipto${_}" } } qw(name department_1 street city); } my $shipto; @@ -401,7 +405,7 @@ sub form_header { | . $locale->text('Shipping Address') . qq| | . - NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values, + NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values, '-style' => 'width: 250px', '-labels' => \%labels, '-default' => $form->{"shipto_id"})) . qq||; } @@ -412,7 +416,7 @@ sub form_header { push(@values, $item); $labels{$item} = $item; } - + $form->{currency} = $form->{defaultcurrency} unless $form->{currency}; my $currencies; if (scalar @values) { @@ -438,7 +442,7 @@ sub form_header { '-default' => $form->{"globalproject_id"})); %labels = (); - @values = (""); + @values = (); foreach my $item (@{ $form->{ALL_SALESMEN} }) { push(@values, $item->{id}); $labels{$item->{id}} = $item->{name} ne "" ? $item->{name} : $item->{login}; @@ -448,8 +452,8 @@ sub form_header { qq| | . $locale->text('Salesman') . qq| | . - NTI($cgi->popup_menu('-name' => 'salesman_id', '-default' => $form->{salesman_id}, - '-values' => \@values, '-labels' => \%labels)) + NTI($cgi->popup_menu('-name' => 'salesman_id', '-default' => $form->{salesman_id} ? $form->{salesman_id} : $form->{employee_id}, + '-values' => \@values, '-labels' => \%labels)) . qq| |; @@ -466,7 +470,7 @@ sub form_header { | . $locale->text('Steuersatz') . qq| | . NTI($cgi->popup_menu('-name' => 'taxzone_id', '-default' => $form->{"taxzone_id"}, - '-values' => \@values, '-labels' => \%labels)) . qq| + '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px',)) . qq| |; @@ -488,12 +492,6 @@ sub form_header { s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; } - #quote customer Bug 133 - $form->{selectcustomer} = $form->quote($form->{selectcustomer}); - - #substitute \n and \r to \s (bug 543) - $form->{selectcustomer} =~ s/[\n\r]/ /g; - if (($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update}) { $creditwarning = 1; } else { @@ -529,7 +527,7 @@ sub form_header { $department = qq| | . $locale->text('Department') . qq| - $form->{selectdepartment} + $form->{selectdepartment} @@ -540,13 +538,11 @@ sub form_header { if ($form->{business}) { $business = qq| - | . $locale->text('Business') . qq| - $form->{business} - | . $locale->text('Trade Discount') . qq| - | + | . $locale->text('Customer type') . qq| + $form->{business}; | . $locale->text('Trade Discount') . qq| | . $form->format_amount(\%myconfig, $form->{tradediscount} * 100) . qq| % - + |; } @@ -623,6 +619,7 @@ sub form_header { } $form->{"javascript"} .= qq||; + $form->{javascript} .= qq||; $jsscript .= $form->write_trigger(\%myconfig, 2, @@ -642,11 +639,13 @@ sub form_header { | ; -map({print $cgi->hidden("-name" => $_ , "-value" => $form->{$_});} - qw(id action type media format queued printed emailed title vc discount - creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id)) ; -print ($form->{saved_message} ? qq|$form->{saved_message}| : "") ; -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)); + print qq|$form->{saved_message}| if $form->{saved_message}; + + print qq| @@ -661,7 +660,7 @@ print qq| - + $contact $shipto @@ -673,7 +672,7 @@ print qq| $business | . $locale->text('Record in') . qq| - $form->{selectAR} + $form->{selectAR} $taxzone @@ -787,20 +786,20 @@ print qq| -| . +| . $jsscript . qq| | ; -map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } +map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } qw(shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact shiptophone shiptofax shiptoemail shiptodepartment_1 shiptodepartment_2)); print qq| |; -map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } +map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } qw(message email subject cc bcc taxaccounts)); print qq||; foreach $item (split(/ /, $form->{taxaccounts})) { - map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } + map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } ("${item}_rate", "${item}_description", "${item}_taxnumber")); } $lxdebug->leave_sub(); @@ -822,7 +821,7 @@ sub form_footer { qq|$form->{notes}|; $intnotes = qq|$form->{intnotes}|; - + $form->{taxincluded} = ($form->{taxincluded} ? "checked" : ""); $taxincluded = ""; @@ -924,9 +923,23 @@ sub form_footer { - + + + + | . $locale->text('Ertrag') . qq| + | . $form->format_amount(\%myconfig, $form->{marge_total}, 2, 0) . qq| + + + | . $locale->text('Ertrag prozentual') . qq| + | . $form->format_amount(\%myconfig, $form->{marge_percent}, 2, 0) . qq| % + + + + + + $taxincluded - + $subtotal $tax @@ -952,11 +965,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} |; } @@ -1010,7 +1023,8 @@ if ($form->{type} eq "credit_note") { "; - my @triggers = (); + my @triggers = (); + my $totalpaid = 0; $form->{paidaccounts}++ if ($form->{"paid_$form->{paidaccounts}"}); for $i (1 .. $form->{paidaccounts}) { @@ -1031,6 +1045,9 @@ if ($form->{type} eq "credit_note") { $form->{"exchangerate_$i"} = $form->format_amount(\%myconfig, $form->{"exchangerate_$i"}); + if ($form->{"exchangerate_$i"} == 0) { + $form->{"exchangerate_$i"} = ""; + } $exchangerate = qq| |; if ($form->{currency} ne $form->{defaultcurrency}) { if ($form->{"forex_$i"}) { @@ -1061,7 +1078,24 @@ if ($form->{type} eq "credit_note") { push(@triggers, "datepaid_$i", "BL", "trigger_datepaid_$i"); } - map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } qw(paidaccounts selectAR_paid oldinvtotal)); + 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| + +|; + + map({ print($cgi->hidden("-name" => $_, "-value" => $form->{$_})); } qw(paidaccounts selectAR_paid oldinvtotal)); print qq| @@ -1151,17 +1185,22 @@ if ($form->{type} eq "credit_note") { . Q($form->{id}) . qq|);" name="history" id="history" value="| . $locale->text('history') - . qq|">|; + . qq|"> |; } # /button for saving history - - + + # mark_as_paid button + if($form->{id} ne "") { + print qq||; + } + # /mark_as_paid button print $form->write_trigger(\%myconfig, scalar(@triggers) / 3, @triggers) . qq| | . -$cgi->hidden("-name" => "callback", "-value" => $form->{callback}) +$cgi->hidden("-name" => "callback", "-value" => $form->{callback}) . $cgi->hidden('-name' => 'draft_id', '-default' => [$form->{draft_id}]) . $cgi->hidden('-name' => 'draft_description', '-default' => [$form->{draft_description}]); map({ print $cgi->hidden("-name" => $_ , "-value" => $form->{$_});} qw(login password)); @@ -1176,6 +1215,12 @@ print qq| $lxdebug->leave_sub(); } +sub mark_as_paid { + $lxdebug->enter_sub(); + &mark_as_paid_common(\%myconfig,"ar"); + $lxdebug->leave_sub(); +} + sub update { $lxdebug->enter_sub(); @@ -1185,7 +1230,7 @@ sub update { $form->{print_and_post} = 0; } - + if($form->{taxincluded}) { $taxincluded = "checked"; } @@ -1351,6 +1396,8 @@ sub update { sub post_payment { $lxdebug->enter_sub(); + + $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); for $i (1 .. $form->{paidaccounts}) { if ($form->{"paid_$i"}) { $datepaid = $form->datetonum($form->{"datepaid_$i"}, \%myconfig); @@ -1372,7 +1419,7 @@ sub post_payment { ($form->{AR}) = split /--/, $form->{AR}; ($form->{AR_paid}) = split /--/, $form->{AR_paid}; relink_accounts(); - $form->redirect($locale->text(' Payment posted!')) + $form->redirect($locale->text('Payment posted!')) if (IS->post_payment(\%myconfig, \%$form)); $form->error($locale->text('Cannot post payment!')); @@ -1382,6 +1429,8 @@ sub post_payment { sub post { $lxdebug->enter_sub(); + + $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); $form->isblank("invdate", $locale->text('Invoice Date missing!')); $form->isblank("customer", $locale->text('Customer missing!')); @@ -1426,8 +1475,9 @@ sub post { } } - ($form->{AR}) = split /--/, $form->{AR}; - ($form->{AR_paid}) = split /--/, $form->{AR_paid}; + ($form->{AR}) = split /--/, $form->{AR}; + ($form->{AR_paid}) = split /--/, $form->{AR_paid}; + $form->{storno} ||= 0; $form->{label} = $locale->text('Invoice'); @@ -1454,7 +1504,7 @@ sub post { "POSTED"; $form->save_history($form->dbconnect(\%myconfig)); } - + $form->redirect( $form->{label} . " $form->{invnumber} " . $locale->text('posted!')) unless $print_post; @@ -1525,7 +1575,6 @@ sub preview { $form->{preview} = 1; $old_form = new Form; for (keys %$form) { $old_form->{$_} = $form->{$_} } - $old_form->{rowcount}++; &print_form($old_form); $lxdebug->leave_sub(); @@ -1586,7 +1635,7 @@ sub credit_note { $form->{script} = 'is.pl'; $script = "is"; $buysell = 'buy'; - + # bo creates the id, reset it map { delete $form->{$_} } @@ -1629,12 +1678,12 @@ sub yes { if (IS->delete_invoice(\%myconfig, \%$form, $spool)) { # saving the history if(!exists $form->{addition}) { - $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; + $form->{snumbers} = qq|invnumber_| . $form->{invnumber}; $form->{addition} = "DELETED"; $form->save_history($form->dbconnect(\%myconfig)); } - # /saving the history - $form->redirect($locale->text('Invoice deleted!')); + # /saving the history + $form->redirect($locale->text('Invoice deleted!')); } $form->error($locale->text('Cannot delete invoice!'));
$form->{saved_message}