Anstatt über "action_" zu croaken gibt der Base Controller jetzt eine freundliche...
authorSven Schöling <s.schoeling@linet-services.de>
Thu, 5 May 2011 10:08:42 +0000 (12:08 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 16 Jun 2011 07:30:19 +0000 (09:30 +0200)
SL/Controller/Base.pm
locale/de/all

index d50d519..152fbb7 100644 (file)
@@ -174,9 +174,13 @@ sub _dispatch {
   my $action  = first { $::form->{"action_${_}"} } @actions;
   my $sub     = "action_${action}";
 
-  $self->_run_hooks('before', $action);
-  $self->$sub(@_);
-  $self->_run_hooks('after', $action);
+  if ($self->can($sub)) {
+    $self->_run_hooks('before', $action);
+    $self->$sub(@_);
+    $self->_run_hooks('after', $action);
+  } else {
+    $::form->error($::locale->text('Oops. No valid action found to dispatch. Please report this case to the Lx-Office team.'));
+  }
 }
 
 sub _template_obj {
index fc36154..0fb3c71 100644 (file)
@@ -1227,6 +1227,7 @@ $self->{texts} = {
   'On Order'                    => 'Ist bestellt',
   'One or more Perl modules missing' => 'Ein oder mehr Perl-Module fehlen',
   'Only due follow-ups'         => 'Nur f&auml;llige Wiedervorlagen',
+  'Oops. No valid action found to dispatch. Please report this case to the Lx-Office team.' => '',
   'Open'                        => 'Offen',
   'Open Amount'                 => 'Offener Betrag',
   'Open a further Lx-Office Window or Tab' => 'Neues Fenster bzw. Tab &ouml;ffnen',