Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 3c2062ce

Von Jan Büren vor 2 Tagen hinzugefügt

  • ID 3c2062cedd55eeb84bd1a909f0a7b68461650385
  • Vorgänger e5af8407
  • Nachfolger 8fc71337

so sollte Controller-Code aussehen (delete_user Login in SL/Auth.pm) und...

... nur noch den einen wahren stylesheet initialisieren ...

Unterschiede anzeigen:

SL/Controller/Admin.pm
198 198
sub action_delete_user {
199 199
  my ($self) = @_;
200 200

  
201
  my @clients = @{ $self->user->clients || [] };
202

  
203
  # backup user metadata (email, name, etc)
204
  my $user_config_values_ref = $self->user->config_values();
205 201
  my $login =$self->user->login;
206 202

  
207
  if (!$self->user->delete) {
203
  if (!SL::Auth->delete_user($login)) {
208 204
    flash('error', t8('The user could not be deleted.'));
209 205
    $self->edit_user_form(title => t8('Edit User'));
210 206
    return;
211 207
  }
212

  
213
  # Flag corresponding entries in 'employee' as deleted.
214
  # and restore the most important user data in employee
215
  # TODO try and catch the whole transaction {user->delete; update employee} {exception}
216
  foreach my $client (@clients) {
217
    my $dbh = $client->dbconnect(AutoCommit => 1) || next;
218
    $dbh->do(qq|UPDATE employee SET deleted = TRUE, name = ?, deleted_email = ?,
219
                deleted_tel = ?, deleted_fax = ?, deleted_signature = ? WHERE login = ?|,undef,
220
              $user_config_values_ref->{name}, $user_config_values_ref->{email},
221
              $user_config_values_ref->{tel}, $user_config_values_ref->{fax},
222
              $user_config_values_ref->{signature}, $self->user->login);
223
    $dbh->disconnect;
224
  }
225

  
226 208
  flash_later('info', t8('The user has been deleted.'));
227 209
  $self->redirect_to(action => 'show');
228 210
}
......
536 518
sub init_all_printers      { SL::DB::Manager::Printer   ->get_all_sorted                                                     }
537 519
sub init_all_dateformats   { [ qw(mm/dd/yy dd/mm/yy dd.mm.yy yyyy-mm-dd)      ]                                              }
538 520
sub init_all_numberformats { [ '1,000.00', '1000.00', '1.000,00', '1000,00', "1'000.00" ]                                    }
539
sub init_all_stylesheets   { [ qw(lx-office-erp.css Mobile.css kivitendo.css design40.css) ]                                 }
521
sub init_all_stylesheets   { [ qw(design40.css) ]                                 }
540 522
sub init_all_dbsources             { [ sort User->dbsources($::form)                               ] }
541 523
sub init_all_used_dbsources        { { map { (join(':', $_->dbhost || 'localhost', $_->dbport || 5432, $_->dbname) => $_->name) } @{ $_[0]->all_clients }  } }
542 524
sub init_all_accounting_methods    { [ { id => 'accrual',   name => t8('Accrual accounting')  }, { id => 'cash',     name => t8('Cash accounting')       } ] }

Auch abrufbar als: Unified diff