Revision 49be66cd
Von Jan Büren vor fast 11 Jahren hinzugefügt
SL/Form.pm | ||
---|---|---|
1926 | 1926 |
my $myconfig = \%main::myconfig; |
1927 | 1927 |
my $dbh = $params{dbh} || $self->get_standard_dbh($myconfig); |
1928 | 1928 |
|
1929 |
my ($login) = selectrow_query($self, $dbh, qq|SELECT login FROM employee WHERE id = ?|, conv_i($params{id}));
|
|
1929 |
my ($login, $deleted) = selectrow_query($self, $dbh, qq|SELECT login,deleted FROM employee WHERE id = ?|, conv_i($params{id}));
|
|
1930 | 1930 |
|
1931 | 1931 |
if ($login) { |
1932 |
my $user = User->new(login => $login); |
|
1933 |
$self->{$params{prefix} . "_${_}"} = $user->{$_} for qw(email fax name signature tel); |
|
1934 |
$self->{$params{prefix} . "_${_}"} = $defaults->$_ for qw(address businessnumber co_ustid company duns taxnumber); |
|
1935 |
|
|
1932 |
# login already fetched and still the same client (mandant) | same for both cases (delete|!delete) |
|
1936 | 1933 |
$self->{$params{prefix} . '_login'} = $login; |
1937 |
$self->{$params{prefix} . '_name'} ||= $login; |
|
1938 |
} |
|
1934 |
$self->{$params{prefix} . "_${_}"} = $defaults->$_ for qw(address businessnumber co_ustid company duns taxnumber); |
|
1939 | 1935 |
|
1936 |
if (!$deleted) { |
|
1937 |
# get employee data from auth.user_config |
|
1938 |
my $user = User->new(login => $login); |
|
1939 |
$self->{$params{prefix} . "_${_}"} = $user->{$_} for qw(email fax name signature tel); |
|
1940 |
} else { |
|
1941 |
# get saved employee data from employee |
|
1942 |
my $employee = SL::DB::Manager::Employee->find_by(id => conv_i($params{id})); |
|
1943 |
$self->{$params{prefix} . "_${_}"} = $employee->{"deleted_$_"} for qw(email fax signature tel); |
|
1944 |
$self->{$params{prefix} . "_name"} = $employee->name; |
|
1945 |
} |
|
1946 |
} |
|
1940 | 1947 |
$main::lxdebug->leave_sub(); |
1941 | 1948 |
} |
1942 | 1949 |
|
Auch abrufbar als: Unified diff
Bugfix für 2275 Verkäuferinformationen im Druck kommen aus der Authdatenbank
closes #2275
Hat leider einen kleinen "Rattenschwanz":
a) Beim Löschen des Benutzer wird nur deleted auf true gesetzt, jetzt werden auch
alle weiteren benutzereditierbaren Metadaten gespeichert, dafür ->
b) muss die Tabelle employee geändert werden, dabei ->
c) ist aufgefallen, dass einige Felder in employee überhaupt keinen Sinn mehr haben (addr1), aber dann ...
d) braucht man auch nicht mehr workphone mit tel aus der auth.user_config
zu d) -> SL/DB/Manager/Employee.pm
zu b) und c) -> sql/Pg-upgrade2/employee_drop_columns.sql und SL/DB/MetaSetup/Employee.pm
zu a) SL/Controller/Admin.pm
Jetzt können beim Drucken entweder die Daten des Benutzers genommen werden oder die Daten kommen aus employee (Form.pm)