X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fis.pl;h=d0e25062a175bb275636ccb57b3404fcd3309ea1;hb=94f5cb152afa9210162295b6727801c296af0631;hp=f0246220d02df7a6790ce1a86162031d840cf6fb;hpb=bcdc9f7040d4bc0c0b4d7ce77f1afc29543b04a4;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index f0246220d..d0e25062a 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -35,6 +35,7 @@ use SL::FU; use SL::IS; use SL::OE; +use SL::Helper::UserPreferences::DisplayPreferences; use SL::MoreCommon qw(restore_form save_form); use SL::RecordLinks; @@ -62,9 +63,10 @@ use strict; # end of main sub _may_view_or_edit_this_invoice { - return 1 if $::auth->assert('invoice_edit', 1); # may edit all invoices - return 0 if !$::form->{id}; # creating new invoices isn't allowed without invoice_edit - return 0 if !$::form->{globalproject_id}; # existing records without a project ID are not allowed + return 1 if $::auth->assert('invoice_edit', 1); # may edit all invoices + return 0 if !$::form->{id}; # creating new invoices isn't allowed without invoice_edit + return 1 if $::auth->assert('sales_invoice_view', 1); # viewing is allowed with this right + return 0 if !$::form->{globalproject_id}; # existing records without a project ID are not allowed return SL::DB::Project->new(id => $::form->{globalproject_id})->load->may_employee_view_project_invoices(SL::DB::Manager::Employee->current); } @@ -385,7 +387,7 @@ sub setup_is_action_bar { disabled => !$may_edit_create ? t8('You must not change this invoice.') : !$form->{id} ? t8('This invoice has not been posted yet.') : undef, - only_if => $::instance_conf->get_is_show_mark_as_paid && $form->{type} ne "invoice_for_advance_payment", + only_if => ($::instance_conf->get_is_show_mark_as_paid && $form->{type} ne "invoice_for_advance_payment") || $form->{type} eq 'final_invoice', ], ], # end of combobox "Post" @@ -624,11 +626,12 @@ sub form_header { $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; } - $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}; - $TMPL_VAR{numberformat} = $myconfig{numberformat}; + $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}; + $TMPL_VAR{numberformat} = $myconfig{numberformat}; + $TMPL_VAR{longdescription_dialog_size_percentage} = SL::Helper::UserPreferences::DisplayPreferences->new()->get_longdescription_dialog_size_percentage(); # hiddens $TMPL_VAR{HIDDENS} = [qw( @@ -1048,6 +1051,8 @@ sub post { my @current_taxaccounts = (split(/ /, $form->{taxaccounts})); $form->error($locale->text('Cannot post invoice for advance payment with more than one tax')) if (scalar @current_taxaccounts > 1); + $form->error($locale->text('Cannot post invoice for advance payment with taxincluded')) + if ($form->{taxincluded}); } for my $i (1 .. $form->{paidaccounts}) {