projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Beim Erzeugen einer Einkaufsrechnung aus mehreren Lieferscheinen auch wirklich eine...
[kivitendo-erp.git]
/
SL
/
User.pm
diff --git
a/SL/User.pm
b/SL/User.pm
index
805335a
..
a49b3b5
100644
(file)
--- a/
SL/User.pm
+++ b/
SL/User.pm
@@
-34,6
+34,8
@@
package User;
package User;
+#use strict;
+
use IO::File;
use Fcntl qw(:seek);
use IO::File;
use Fcntl qw(:seek);
@@
-92,6
+94,7
@@
sub login {
$main::lxdebug->enter_sub();
my ($self, $form) = @_;
$main::lxdebug->enter_sub();
my ($self, $form) = @_;
+ our $sid;
local *FH;
local *FH;
@@
-170,6
+173,7
@@
sub login {
my $menufile =
$self->{"menustyle"} eq "v3" ? "menuv3.pl" :
$self->{"menustyle"} eq "neu" ? "menunew.pl" :
my $menufile =
$self->{"menustyle"} eq "v3" ? "menuv3.pl" :
$self->{"menustyle"} eq "neu" ? "menunew.pl" :
+ $self->{"menustyle"} eq "js" ? "menujs.pl" :
$self->{"menustyle"} eq "xml" ? "menuXML.pl" :
"menu.pl";
$self->{"menustyle"} eq "xml" ? "menuXML.pl" :
"menu.pl";
@@
-550,6
+554,12
@@
sub process_query {
$query .= $char;
}
}
$query .= $char;
}
}
+
+ # Insert a space at the end of each line so that queries split
+ # over multiple lines work properly.
+ if ($query ne '') {
+ $query .= @quote_chars ? "\n" : ' ';
+ }
}
if (ref($version_or_control) eq "HASH") {
}
if (ref($version_or_control) eq "HASH") {
@@
-680,8
+690,8
@@
sub cmp_script_version {
$my_a =~ s/.sql$//;
$my_b =~ s/.*-upgrade-//;
$my_b =~ s/.sql$//;
$my_a =~ s/.sql$//;
$my_b =~ s/.*-upgrade-//;
$my_b =~ s/.sql$//;
- ($my_a_from, $my_a_to) = split(/-/, $my_a);
- ($my_b_from, $my_b_to) = split(/-/, $my_b);
+
my
($my_a_from, $my_a_to) = split(/-/, $my_a);
+
my
($my_b_from, $my_b_to) = split(/-/, $my_b);
$res_a = calc_version($my_a_from);
$res_b = calc_version($my_b_from);
$res_a = calc_version($my_a_from);
$res_b = calc_version($my_b_from);
@@
-934,6
+944,7
@@
sub save_member {
$main::lxdebug->enter_sub();
my ($self) = @_;
$main::lxdebug->enter_sub();
my ($self) = @_;
+ my $form = \%main::form;
# format dbconnect and dboptions string
dbconnect_vars($self, $self->{dbname});
# format dbconnect and dboptions string
dbconnect_vars($self, $self->{dbname});
@@
-944,7
+955,7
@@
sub save_member {
my $dbh = DBI->connect($self->{dbconnect}, $self->{dbuser}, $self->{dbpasswd});
if ($dbh) {
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();
}
$dbh->disconnect();
}
@@
-954,18
+965,28
@@
sub save_member {
sub create_employee_entry {
$main::lxdebug->enter_sub();
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
# 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
) {
- $query = qq|INSERT INTO employee (login, name, workphone, role) VALUES (?, ?, ?, ?)|;
+ 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"));
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();
}
$main::lxdebug->leave_sub();