X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/48c71a4b51f5359a7ab7e9bc51280baf9bc9b9b2..d4c5ff04f33e7fe29e079c4489c4126a7ea2493c:/SL/Auth.pm diff --git a/SL/Auth.pm b/SL/Auth.pm index 2898222aa..33007a417 100644 --- a/SL/Auth.pm +++ b/SL/Auth.pm @@ -1126,6 +1126,8 @@ sub evaluate_rights_ary { my $negate = 0; foreach my $el (@{$ary}) { + next unless defined $el; + if (ref $el eq "ARRAY") { my $val = evaluate_rights_ary($el); $val = !$val if $negate; @@ -1227,6 +1229,15 @@ sub check_right { return $granted; } +sub deny_access { + my ($self) = @_; + + $::dispatcher->reply_with_json_error(error => 'access') if $::request->type eq 'json'; + + delete $::form->{title}; + $::form->show_generic_error($::locale->text("You do not have the permissions to access this function.")); +} + sub assert { my ($self, $right, $dont_abort) = @_; @@ -1235,8 +1246,7 @@ sub assert { } if (!$dont_abort) { - delete $::form->{title}; - $::form->show_generic_error($::locale->text("You do not have the permissions to access this function.")); + $self->deny_access; } return 0;