X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fis.pl;h=14b472fdb44c89fc21b34ac114ca4175ca9eb1a1;hb=332e327b6613bf762b34d841442378de255d946b;hp=e04139fbad185299a8019668209e712ea749efc5;hpb=475b7a3ff7259102d938b91bfeac8012dbe69d45;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index e04139fba..14b472fdb 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -96,7 +96,7 @@ sub add { $form->{title} = $locale->text('Add Invoice for Advance Payment'); } elsif ($form->{type} eq "final_invoice") { - $form->{title} = $locale->text('Final Invoice'); + $form->{title} = $locale->text('Add Final Invoice'); } else { $form->{title} = $locale->text('Add Sales Invoice'); @@ -333,7 +333,14 @@ sub setup_is_action_bar { if ($form->{id} && $form->{type} eq "invoice_for_advance_payment") { my $invoice_obj = SL::DB::Invoice->load_cached($form->{id}); my $lr = $invoice_obj->linked_records(direction => 'to', to => ['Invoice']); - $has_final_invoice = any {'SL::DB::Invoice' eq ref $_ && "invoice" eq $_->invoice_type} @$lr; + $has_final_invoice = any {'SL::DB::Invoice' eq ref $_ && "final_invoice" eq $_->invoice_type} @$lr; + } + + my $is_invoice_for_advance_payment_from_order; + if ($form->{id} && $form->{type} eq "invoice_for_advance_payment") { + my $invoice_obj = SL::DB::Invoice->load_cached($form->{id}); + my $lr = $invoice_obj->linked_records(direction => 'from', from => ['Order']); + $is_invoice_for_advance_payment_from_order = scalar @$lr >= 1; } for my $bar ($::request->layout->get('actionbar')) { @@ -424,22 +431,24 @@ sub setup_is_action_bar { t8('Further Invoice for Advance Payment'), submit => [ '#form', { action => "further_invoice_for_advance_payment" } ], checks => [ 'kivi.validate_form' ], - disabled => !$may_edit_create ? t8('You must not change this invoice.') - : !$form->{id} ? t8('This invoice has not been posted yet.') - : $has_further_invoice_for_advance_payment ? t8('This invoice has already a further invoice for advanced payment.') - : $has_final_invoice ? t8('This invoice has already a final invoice.') - : undef, + disabled => !$may_edit_create ? t8('You must not change this invoice.') + : !$form->{id} ? t8('This invoice has not been posted yet.') + : $has_further_invoice_for_advance_payment ? t8('This invoice has already a further invoice for advanced payment.') + : $has_final_invoice ? t8('This invoice has already a final invoice.') + : $is_invoice_for_advance_payment_from_order ? t8('This invoice was added from an order. See there.') + : undef, only_if => $form->{type} eq "invoice_for_advance_payment", ], action => [ t8('Final Invoice'), submit => [ '#form', { action => "final_invoice" } ], checks => [ 'kivi.validate_form' ], - disabled => !$may_edit_create ? t8('You must not change this invoice.') - : !$form->{id} ? t8('This invoice has not been posted yet.') - : $has_further_invoice_for_advance_payment ? t8('This invoice has a further invoice for advanced payment.') - : $has_final_invoice ? t8('This invoice has already a final invoice.') - : undef, + disabled => !$may_edit_create ? t8('You must not change this invoice.') + : !$form->{id} ? t8('This invoice has not been posted yet.') + : $has_further_invoice_for_advance_payment ? t8('This invoice has a further invoice for advanced payment.') + : $has_final_invoice ? t8('This invoice has already a final invoice.') + : $is_invoice_for_advance_payment_from_order ? t8('This invoice was added from an order. See there.') + : undef, only_if => $form->{type} eq "invoice_for_advance_payment", ], action => [ @@ -615,7 +624,7 @@ sub form_header { $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; } - $TMPL_VAR{is_type_invoice_for_advance_payment} = $form->{type} eq "invoice_for_advance_payment"; + $TMPL_VAR{is_type_normal_invoice} = $form->{type} eq "invoice"; $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}; @@ -759,18 +768,18 @@ sub form_footer { } print $form->parse_html_template('is/form_footer', { - is_type_invoice_for_advance_payment => ($form->{type} eq "invoice_for_advance_payment"), - is_type_credit_note => ($form->{type} eq "credit_note"), - totalpaid => $totalpaid, - paid_missing => $form->{invtotal} - $totalpaid, - print_options => setup_sales_purchase_print_options(), - show_storno => $form->{id} && !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ar") && !$totalpaid, - show_delete => ($::instance_conf->get_is_changeable == 2) - ? ($form->current_date(\%myconfig) eq $form->{gldate}) - : ($::instance_conf->get_is_changeable == 1), - today => DateTime->today, - vc_obj => $form->{customer_id} ? SL::DB::Customer->load_cached($form->{customer_id}) : undef, - shipto_cvars => $shipto_cvars, + is_type_normal_invoice => ($form->{type} eq "invoice"), + is_type_credit_note => ($form->{type} eq "credit_note"), + totalpaid => $totalpaid, + paid_missing => $form->{invtotal} - $totalpaid, + print_options => setup_sales_purchase_print_options(), + show_storno => $form->{id} && !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ar") && !$totalpaid, + show_delete => ($::instance_conf->get_is_changeable == 2) + ? ($form->current_date(\%myconfig) eq $form->{gldate}) + : ($::instance_conf->get_is_changeable == 1), + today => DateTime->today, + vc_obj => $form->{customer_id} ? SL::DB::Customer->load_cached($form->{customer_id}) : undef, + shipto_cvars => $shipto_cvars, }); ##print $form->parse_html_template('is/_payments'); # parser ##print $form->parse_html_template('webdav/_list'); # parser @@ -1213,11 +1222,6 @@ sub final_invoice { $main::auth->assert('invoice_edit'); - # search all related invoices for advance payment - # - # (order) -> invoice for adv. payment 1 -> invoice for adv. payment 2 -> invoice for adv. payment 3 -> final invoice - # - # we are currently in the last invoice for adv. payment (3 in this example) my $related_invoices = IS->_get_invoices_for_advance_payment($form->{id}); delete @{ $form }{qw(printed emailed queued invnumber invdate exchangerate forex deliverydate datepaid_1 gldate_1 acc_trans_id_1 source_1 memo_1 paid_1 exchangerate_1 AP_paid_1 storno locked)}; @@ -1252,7 +1256,7 @@ sub final_invoice { $form->{"partnumber_$i"} = $item->part->partnumber; $form->{"discount_$i"} = $item->discount*100.0; $form->{"sellprice_$i"} = $item->fxsellprice; - $form->{$_ . "_" . $i} = $item->$_ for qw(description longdescription qty price_factor_id unit sellprice active_price_source active_discount_source); + $form->{$_ . "_" . $i} = $item->$_ for qw(description longdescription qty price_factor_id unit active_price_source active_discount_source); $form->{$_ . "_" . $i} = $form->format_amount(\%myconfig, $form->{$_ . "_" . $i}) for qw(qty sellprice discount); }