die Version aus
e7a7492e macht Probleme im taskserver.
ausserdem das reset nur dann machen, wenn es auch sinnvoll ist. Bisher
wurde das als silver Bullet aufgerufen, wannimmer sich etwas an der DB
geändert haben könnte, also auch beim anlegen der Auth DB in Tests und
beim initialen Anlegen. Der erste Fall ist jetzt in eine init Funktion
ausgelagert. Im zweiten Fall waren die zu resettenden Werte eh noch
nicht gesetzt, und das reset kann rausfallen.
my $self = bless {}, $type;
$self->_read_auth_config(%params);
- $self->reset;
+ $self->init;
return $self;
}
+sub init {
+ my ($self, %params) = @_;
+
+ $self->{SESSION} = { };
+ $self->{FULL_RIGHTS} = { };
+ $self->{RIGHTS} = { };
+ $self->{unique_counter} = 0;
+ $self->{column_information} = SL::Auth::ColumnInformation->new(auth => $self);
+}
+
sub reset {
my ($self, %params) = @_;
$self->{RIGHTS} = { };
$self->{unique_counter} = 0;
$self->{column_information} = SL::Auth::ColumnInformation->new(auth => $self);
+ $self->{column_information}->_fetch;
$self->{authenticator}->reset;
$self->client(undef);
$self->{auth} = $params{auth} || croak "Missing 'auth'";
weaken $self->{auth};
- $self->_fetch if $self->{auth}->dbconnect(1);
-
return $self;
}
SL::DBConnect->get_options,
);
- $::auth->reset;
my $dbh_template = SL::DBConnect->connect(@dbi_options) || BAIL_OUT("No database connection to the template database: " . $DBI::errstr);
my $auth_dbh = $::auth->dbconnect(1);
$auth_dbh->disconnect;
dbh_do($dbh_template, "DROP DATABASE \"" . $db_cfg->{db} . "\"", message => "Database could not be dropped");
-
- $::auth->reset;
}
dbg("Creating database");