From: Moritz Bunkus Date: Fri, 5 Jun 2009 07:08:00 +0000 (+0000) Subject: Beim Speichern eines Benutzers aus dem Administrationsfrontend heraus seinen Eintrag... X-Git-Tag: release-2.6.1beta1~422 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=14c1b704816c9dcfebca1d0bf9fd0e2fc2d253e4;p=kivitendo-erp.git Beim Speichern eines Benutzers aus dem Administrationsfrontend heraus seinen Eintrag in employee aktualisieren. Fix für Bug 1031. --- diff --git a/SL/User.pm b/SL/User.pm index 407f7934c..487236800 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -955,7 +955,7 @@ sub save_member { my $dbh = DBI->connect($self->{dbconnect}, $self->{dbuser}, $self->{dbpasswd}); if ($dbh) { - $self->create_employee_entry($form, $dbh, $self); + $self->create_employee_entry($form, $dbh, $self, 1); $dbh->disconnect(); } @@ -965,18 +965,23 @@ sub save_member { sub create_employee_entry { $main::lxdebug->enter_sub(); - my $self = shift; - my $form = shift; - my $dbh = shift; - my $myconfig = shift; + my $self = shift; + my $form = shift; + my $dbh = shift; + my $myconfig = shift; + my $update_existing = shift; # add login to employee table if it does not exist # no error check for employee table, ignore if it does not exist - my ($login) = selectrow_query($form, $dbh, qq|SELECT id FROM employee WHERE login = ?|, $self->{login}); + my ($id) = selectrow_query($form, $dbh, qq|SELECT id FROM employee WHERE login = ?|, $self->{login}); - if (!$login) { + if (!$id) { my $query = qq|INSERT INTO employee (login, name, workphone, role) VALUES (?, ?, ?, ?)|; do_query($form, $dbh, $query, ($self->{login}, $myconfig->{name}, $myconfig->{tel}, "user")); + + } elsif ($update_existing) { + my $query = qq|UPDATE employee SET name = ?, workphone = ?, role = 'user' WHERE id = ?|; + do_query($form, $dbh, $query, $myconfig->{name}, $myconfig->{tel}, $id); } $main::lxdebug->leave_sub();