Erstellt vor 3 Jahren

Geschlossen vor 3 Jahren

Zuletzt geändert vor 3 Jahren

#1827 closed Fehler (fixed)

Neue DB plus neuer Nutzer erzeugt Fehler

Erstellt von: roman.karuschka@… Verantwortlicher: m.bunkus@…
Priorität: normal Meilenstein: 2.7.0
Komponente: kivitendo ERP Version: 2.7.0 rc
Schweregrad: kritisch Stichworte: Systemeinstellungen
Beobachter: s.schoeling@…

Beschreibung

Procedere: Eine auth-db, bestehende Installation, zu Testzwecken einen zweiten Host angelegt und die LXO-Verzeichnisse kopiert fuer den neuen Host.
Neue DB anlegen (SKR04 in dem Test)
Dann aus der bestehenden Installation einen User editiert und "als neu" abgespeichert (der neuen DB zugewiesen).
Im naechsten Schritt versucht diesem User ein neues Passwort zuzuweisen wird quitiert mit Fehlermeldung:

Fehler!

Can't call method "dberror" on unblessed reference at SL/DBUtils.pm line 47.

Ein Login dieses Users in die neue DB ist auch mit dem alten Passwort nicht moeglich. Aehnliche Fehler hatte auch Jan in den letzten Tagen bereits entdeckt.

Änderungshistorie (3)

comment:1 Geändert vor 3 Jahren durch s.schoeling@…

  • Status von new nach assigned, s.schoeling@linet-services.de geändert

enex * #1827 betrifft allerdings alleinig neu angelegte User
gorash * hmm, ohne neu angelegte db kann ich das nicht reproduzieren
enex * hmm, also ich habe das immer dann, wenn ich User kopiere
enex * kann ich jetzt auch konstant reproduzieren
enex * also wenn ich einen User "als neu abspeichere"
enex * wenn ich ihn aus dem Nichts heraus neu anlege scheint das Problem nicht auftzutreten
gorash * sag mir mal den kompletten ablauf
enex * ich breche das mal runter auf den Fall in dem der Fehler reproduzierbar ist
enex * admin.pl aufrufen
enex * in bestehenden user rein
enex * Userdaten editieren (z.B. anderer Name) und andere DB eintragen
enex * dann "als neu speichern"
gorash * existierende db?
enex * ja, existierende
gorash * db schonmal mit lx-offivce geladen? oder frisch angelegt?
enex * (frisch angelegt)
gorash * nur create db genacht oder über das db frontend angelegt?
enex * frontend
gorash * beim daten ändern auch schon passwort geändert? (vor als neu speichern)?
enex * nur als neu gespeichert
enex * pass noch nicht geaendert
gorash * k, done
enex * dann user wieder aufrufen
enex * also den neu kopierten
enex * und passwort aendern
enex * dann speichern
enex * -> Fehlermeldung
gorash * nu hab ich den auch
enex * ok
enex * da geht IMO schon beim kopieren was schief
enex * denn bestimmte Sachen hat er da schon nicht mitgenommen
enex * z.B. stehen immer noch die alten Vorlagen drin
enex * obwohl ich die auch bereits im ersten Schritt geaendert hatte
gorash * igitt, das ist ekelig
gorash * den fehler da zu fixen ist einfach, aber dann kommt ein anderes problem
gorash * logischerweise möchte man beim erstellen eines benutzers den in der datenbank wiederbeleben. die datenbank kennt aber das flag deleted in employee noch nicht, weil sie noch nicht upgegraded ist
gorash * kein ding denk ich mir, schauste in schema_info nach, ob das upgrade schon eingespielt wurde, und machst das undeleten nur dann
gorash * SELECT tag FROM schema_info WHERE tag = ? (employee_deleted)
gorash * FEHLER: Relation »schema_info« existiert nicht
gorash * dumdum
enex * one sec
enex * hmm, strangeness
enex * er speichert die Passwoerter zwar nun ohne Fehlermeldung
enex * bzw kopierte Nutzer
enex * aber ich kann mich effektiv nicht einloggen
enex * falscher Nutzername/Passwort?
gorash * hmm, du hast recht
gorash * da ist irgendwas mit dem passwort speicehrn kaputt
gorash * ich hasse diesen müll
gorash * enex, nochmal testen bitte
enex * ok, thx
enex * also bei meinem Test vorhin, das hat der Akku dann wohl geschluckt, konnte ich zwar ohne Fehlermeldung einen kopierten user editieren und abspeichern
enex * aber ein Login funktionierte trotzdem weiterhin nicht
gorash * das sollte jetzt behoben sein ene
enex * ok, moment
enex * scheint zu gehe

comment:2 Geändert vor 3 Jahren durch s.schoeling@…

  • Lösung auf fixed gesetzt
  • Status von assigned nach closed geändert

Zwei separate Bugs gefixt:

  • Der Datenbankfehler kam von einer Referenz auf %::form, eine Variable die es nicht gibt.
  • Der Fehelrdarauf kam dadurch dass die DB bei einem frisch kopierten User mit neu angelegter Datenbank das Flag zum löschen von Benutzern noch garnicht hat.

Beides behoben in 2ee0204ef, 2acad5a65 und 682454ce7.

comment:3 Geändert vor 3 Jahren durch s.schoeling@…

  • Meilenstein auf 2.7.0 gesetzt
Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.