X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/3b955bea1639c5202f4fc26c2903a22c0b3d5db6..3a868c370f430267080ceaa2ea5d433447ec217b:/bin/mozilla/is.pl diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index 0e4f99ac8..551c1d869 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -279,14 +279,16 @@ sub setup_is_action_bar { my $payments_balanced = ($::form->{oldtotalpaid} == 0); my $has_storno = ($::form->{storno} && !$::form->{storno_id}); my $may_edit_create = $::auth->assert('invoice_edit', 1); - my $is_linked_bank_transaction; + my ($is_linked_bank_transaction, $warn_unlinked_delivery_order); if ($::form->{id} && SL::DB::Default->get->payments_changeable != 0 && SL::DB::Manager::BankTransactionAccTrans->find_by(ar_id => $::form->{id})) { $is_linked_bank_transaction = 1; } - + if ($::instance_conf->get_warn_no_delivery_order_for_invoice && !$form->{id}) { + $warn_unlinked_delivery_order = 1 unless $form->{convert_from_do_ids}; + } for my $bar ($::request->layout->get('actionbar')) { $bar->add( action => [ @@ -304,6 +306,7 @@ sub setup_is_action_bar { t8('Post'), submit => [ '#form', { action => "post" } ], checks => [ 'kivi.validate_form' ], + confirm => t8('The invoice is not linked with a sales delivery order. Post anyway?') x !!$warn_unlinked_delivery_order, disabled => !$may_edit_create ? t8('You must not change this invoice.') : $form->{locked} ? t8('The billing period has already been locked.') : $form->{storno} ? t8('A canceled invoice cannot be posted.') @@ -338,6 +341,8 @@ sub setup_is_action_bar { 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.') + : $form->{storno} ? t8('Cannot storno storno invoice!') + : $form->{locked} ? t8('The billing period has already been locked.') : !$payments_balanced ? t8('Cancelling is disallowed. Either undo or balance the current payments until the open amount matches the invoice amount') : undef, ], @@ -374,6 +379,7 @@ sub setup_is_action_bar { disabled => !$may_edit_create ? t8('You must not change this invoice.') : $form->{type} eq "credit_note" ? t8('Credit notes cannot be converted into other credit notes.') : !$form->{id} ? t8('This invoice has not been posted yet.') + : $form->{storno} ? t8('A canceled invoice cannot be used. Please undo the cancellation first.') : undef, ], action => [ @@ -395,8 +401,9 @@ sub setup_is_action_bar { : undef, ], action => [ t8('Print and Post'), - call => [ 'kivi.SalesPurchase.show_print_dialog', $form->{id} ? 'print' : 'print_and_post' ], + call => [ 'kivi.SalesPurchase.show_print_dialog', 'print_and_post' ], checks => [ 'kivi.validate_form' ], + confirm => t8('The invoice is not linked with a sales delivery order. Post anyway?') x !!$warn_unlinked_delivery_order, disabled => !$may_edit_create ? t8('You must not change this invoice.') : $form->{locked} ? t8('The billing period has already been locked.') : $form->{storno} ? t8('A canceled invoice cannot be posted.') @@ -408,8 +415,9 @@ sub setup_is_action_bar { action => [ t8('E Mail'), call => [ 'kivi.SalesPurchase.show_email_dialog' ], checks => [ 'kivi.validate_form' ], - disabled => !$may_edit_create ? t8('You must not print this invoice.') - : !$form->{id} ? t8('This invoice has not been posted yet.') + disabled => !$may_edit_create ? t8('You must not print this invoice.') + : !$form->{id} ? t8('This invoice has not been posted yet.') + : $form->{postal_invoice} ? t8('This customer wants a postal invoices.') : undef, ], ], # end of combobox "Export" @@ -456,6 +464,9 @@ sub form_header { $TMPL_VAR{customer_obj} = SL::DB::Customer->load_cached($form->{customer_id}) if $form->{customer_id}; $TMPL_VAR{invoice_obj} = SL::DB::Invoice->load_cached($form->{id}) if $form->{id}; + # only print, no mail + $form->{postal_invoice} = $TMPL_VAR{customer_obj}->postal_invoice if ref $TMPL_VAR{customer_obj} eq 'SL::DB::Customer'; + my $current_employee = SL::DB::Manager::Employee->current; $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id}; $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};