X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FUser.pm;h=0fbd66a398325eef5d947d48417a30c10759cc9b;hb=53d06080bc6bc5cc978ab3351628cffcf0658029;hp=407f7934cf9356944568bb5355bd2a49f376fc6c;hpb=ee356cccfe9374acdc17b74f1d571d8da93789c7;p=kivitendo-erp.git diff --git a/SL/User.pm b/SL/User.pm index 407f7934c..0fbd66a39 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -34,17 +34,17 @@ package User; -#use strict; - use IO::File; use Fcntl qw(:seek); -use SL::Auth; +#use SL::Auth; use SL::DBUpgrade2; use SL::DBUtils; use SL::Iconv; use SL::Inifile; +use strict; + sub new { $main::lxdebug->enter_sub(); @@ -107,7 +107,7 @@ sub login { my $dbh = DBI->connect($myconfig{dbconnect}, $myconfig{dbuser}, $myconfig{dbpasswd}) - or $self->error(DBI::errstr); + or $self->error($DBI::errstr); # we got a connection, check the version my $query = qq|SELECT version FROM defaults|; @@ -445,6 +445,7 @@ sub process_perl_script { $dbh->begin_work(); + # setup dbup_ export vars my %dbup_myconfig = (); map({ $dbup_myconfig{$_} = $form->{$_}; } qw(dbname dbuser dbpasswd dbhost dbport dbconnect)); @@ -802,7 +803,7 @@ sub dbupdate { last if ($version < $mindb); # apply upgrade - $main::lxdebug->message(LXDebug::DEBUG2, "Applying Update $upgradescript"); + $main::lxdebug->message(LXDebug->DEBUG2(), "Applying Update $upgradescript"); if ($file_type eq "sql") { $self->process_query($form, $dbh, "sql/" . $form->{"dbdriver"} . "-upgrade/$upgradescript", $str_maxdb, $db_charset); @@ -886,7 +887,7 @@ sub dbupdate2 { my $file_type = $1; # apply upgrade - $main::lxdebug->message(LXDebug::DEBUG2, "Applying Update $control->{file}"); + $main::lxdebug->message(LXDebug->DEBUG2(), "Applying Update $control->{file}"); print $form->parse_html_template("dbupgrade/upgrade_message2", $control); if ($file_type eq "sql") { @@ -955,7 +956,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 +966,28 @@ 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; + + if (!does_table_exist($dbh, 'employee')) { + $main::lxdebug->leave_sub(); + return; + } # 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(); @@ -992,7 +1003,7 @@ sub config_vars { bestellungen rechnungen anfragen lieferantenbestellungen einkaufsrechnungen taxnumber co_ustid duns menustyle template_format default_media default_printer_id copies show_form_details favorites - pdonumber sdonumber); + pdonumber sdonumber hide_cvar_search_options); $main::lxdebug->leave_sub();