Durch die Änderungen letztens, mit der Session-Werte auch bei parallel
laufenden kivitendo-Requests richtig erhalten bleiben, wurde
SessionValue so umgeschrieben, dass es davon ausgeht, dass sowohl die
Auth-DB als auch die Session-Tabellen immer existieren.
Dies ist jedoch während der Erstinstallation nicht der Fall. Diverse
Requests im Admin-Controller müssen ausgeführt werden können, damit
Auth-DB & Session-Tabellen über den Controller angelegt werden können.
Da der Admin-Auth-Handler aber auch mit Sessions funktionieren kann,
fragt er also Session-Werte ab; die wiederum versuchen,
SessionValue-Instanzen zu nutzen.
SessionValue prüft nun bewusst auf Präsenz der Session-Tabellen, bevor
es versucht, aus ihnen zu lesen.
Dies ist Teil des Fixes von #376.
my ($self) = @_;
return $self if $self->{fetched};
+ return $self if !$self->{auth}->session_tables_present;
my $dbh = $self->{auth}->dbconnect;
my $query = qq|SELECT sess_value FROM auth.session_content WHERE (session_id = ?) AND (sess_key = ?)|;