X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/66c08b6472a2467444192dbfed35e9f30f7c910d..a3ae31c:/SL/Controller/Admin.pm?ds=inline diff --git a/SL/Controller/Admin.pm b/SL/Controller/Admin.pm index c1b2ec1e8..e1d26fd8c 100644 --- a/SL/Controller/Admin.pm +++ b/SL/Controller/Admin.pm @@ -37,6 +37,7 @@ sub keep_auth_vars { sub action_login { my ($self) = @_; + return $self->redirect_to(action => 'show') if $::auth->authenticate_root == SL::Auth::OK(); return $self->login_form if !$::form->{do_login}; return if !$self->authenticate_root; return if !$self->check_auth_db_and_tables; @@ -58,7 +59,7 @@ sub action_apply_dbupgrade_scripts { my ($self) = @_; return if $self->apply_dbupgrade_scripts; - $self->action_show; + $self->redirect_to(action => 'show'); } sub action_create_auth_db { @@ -157,12 +158,21 @@ sub action_save_user { sub action_delete_user { my ($self) = @_; + my @clients = @{ $self->user->clients || [] }; + if (!$self->user->delete) { flash('error', t8('The user could not be deleted.')); $self->edit_user_form(title => t8('Edit User')); return; } + # Flag corresponding entries in 'employee' as deleted. + foreach my $client (@clients) { + my $dbh = $client->dbconnect(AutoCommit => 1) || next; + $dbh->do(qq|UPDATE employee SET deleted = TRUE WHERE login = ?|, undef, $self->user->login); + $dbh->disconnect; + } + flash_later('info', t8('The user has been deleted.')); $self->redirect_to(action => 'show'); } @@ -455,7 +465,7 @@ sub use_multiselect_js { sub login_form { my ($self, %params) = @_; $::request->layout->focus('#admin_password'); - $self->render('admin/adminlogin', title => t8('kivitendo v#1 administration', $::form->{version}), %params); + $self->render('admin/adminlogin', title => t8('kivitendo v#1 administration', $::form->read_version), %params); } sub edit_user_form {