Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c8c960bc

Von Moritz Bunkus vor mehr als 15 Jahren hinzugefügt

  • ID c8c960bcc06f833933bd3cce3d4aabe68b15fd75
  • Vorgänger 32147d43
  • Nachfolger 6737d960

Vor Zugriff auf "employee"-Tabelle testen, ob diese existiert.

Es kann sein, dass die Funktion User::create_employee_record()
aufgerufen wird, bevor die beim Benutzer eingetragene Datenbank
existiert bzw. bevor darin die Lx-Office-Tabellen existieren. In
diesem Falle darf create_employee_record() nicht fehlschlagen, weil
der Eintrag in "employee" spätestens beim Login angelegt wird.

Das kann z.B. passieren, wenn im Administrationsbereich zuerst ein
Benutzer und später erst die dazugehörige Datenbank angelegt wird.

Fix für Bug 922.

Unterschiede anzeigen:

SL/User.pm
971 971
  my $myconfig        = shift;
972 972
  my $update_existing = shift;
973 973

  
974
  if (!does_table_exist($dbh, 'employee')) {
975
    $main::lxdebug->leave_sub();
976
    return;
977
  }
978

  
974 979
  # add login to employee table if it does not exist
975 980
  # no error check for employee table, ignore if it does not exist
976 981
  my ($id)  = selectrow_query($form, $dbh, qq|SELECT id FROM employee WHERE login = ?|, $self->{login});

Auch abrufbar als: Unified diff