X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FForm.pm;h=a11b7adb672b2ed45f7ae455fc6a5b30665c2a2c;hb=fba56a49429a170e00a0f26f15784303eb99e108;hp=fe685d23784537dcc1ec0ec957def68af8518d41;hpb=d4610c7f35448a300e3e3d65907d611d6fd07b6e;p=kivitendo-erp.git diff --git a/SL/Form.pm b/SL/Form.pm index fe685d237..a11b7adb6 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -1926,17 +1926,24 @@ sub get_employee_data { my $myconfig = \%main::myconfig; my $dbh = $params{dbh} || $self->get_standard_dbh($myconfig); - my ($login) = selectrow_query($self, $dbh, qq|SELECT login FROM employee WHERE id = ?|, conv_i($params{id})); + my ($login, $deleted) = selectrow_query($self, $dbh, qq|SELECT login,deleted FROM employee WHERE id = ?|, conv_i($params{id})); if ($login) { - my $user = User->new(login => $login); - $self->{$params{prefix} . "_${_}"} = $user->{$_} for qw(email fax name signature tel); - $self->{$params{prefix} . "_${_}"} = $defaults->$_ for qw(address businessnumber co_ustid company duns taxnumber); - + # login already fetched and still the same client (mandant) | same for both cases (delete|!delete) $self->{$params{prefix} . '_login'} = $login; - $self->{$params{prefix} . '_name'} ||= $login; - } + $self->{$params{prefix} . "_${_}"} = $defaults->$_ for qw(address businessnumber co_ustid company duns taxnumber); + if (!$deleted) { + # get employee data from auth.user_config + my $user = User->new(login => $login); + $self->{$params{prefix} . "_${_}"} = $user->{$_} for qw(email fax name signature tel); + } else { + # get saved employee data from employee + my $employee = SL::DB::Manager::Employee->find_by(id => conv_i($params{id})); + $self->{$params{prefix} . "_${_}"} = $employee->{"deleted_$_"} for qw(email fax signature tel); + $self->{$params{prefix} . "_name"} = $employee->name; + } + } $main::lxdebug->leave_sub(); }