Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 49be66cd

Von Jan Büren vor fast 11 Jahren hinzugefügt

  • ID 49be66cdf74882abde5a93832a959e27baddd925
  • Vorgänger 80983f8a
  • Nachfolger 9bf9acdf

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)

Unterschiede anzeigen:

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