X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDrafts.pm;h=e5242aa4d48f72e61346d9053c605d69bf374440;hb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44;hp=49c7fcde28fe6aa33f7d07234100e1502588505f;hpb=384408326f754a823d4f0170cde38400de3d2d83;p=kivitendo-erp.git diff --git a/SL/Drafts.pm b/SL/Drafts.pm index 49c7fcde2..e5242aa4d 100644 --- a/SL/Drafts.pm +++ b/SL/Drafts.pm @@ -36,7 +36,11 @@ sub get_module { return ($module, $submodule); } -my @dont_save = qw(login password stylesheet action); +my @dont_save = qw(login password action); + +sub dont_save { + return @dont_save; +} sub save { $main::lxdebug->enter_sub(); @@ -45,7 +49,8 @@ sub save { my ($dbh, $sth, $query, %saved, $dumped); - $dbh = $form->dbconnect_noauto($myconfig); + $dbh = $form->get_standard_dbh; + $dbh->begin_work; my ($module, $submodule) = $self->get_module($form); @@ -69,10 +74,9 @@ sub save { qq| (SELECT id FROM employee WHERE login = ?) | . qq|WHERE id = ?|; - do_query($form, $dbh, $query, $draft_description, $dumped, $form->{login}, $draft_id); + do_query($form, $dbh, $query, $draft_description, $dumped, $::myconfig{login}, $draft_id); $dbh->commit(); - $dbh->disconnect(); $form->{draft_id} = $draft_id; $form->{draft_description} = $draft_description; @@ -87,7 +91,7 @@ sub load { my ($dbh, $sth, $query, @values); - $dbh = $form->dbconnect($myconfig); + $dbh = $form->get_standard_dbh; $query = qq|SELECT id, description, form FROM drafts WHERE id = ?|; @@ -98,8 +102,6 @@ sub load { } $sth->finish(); - $dbh->disconnect(); - $main::lxdebug->leave_sub(); return @values; @@ -114,47 +116,34 @@ sub remove { my ($dbh, $sth, $query); - $dbh = $form->dbconnect($myconfig); + $dbh = $form->get_standard_dbh; $query = qq|DELETE FROM drafts WHERE id IN (| . join(", ", map { "?" } @draft_ids) . qq|)|; do_query($form, $dbh, $query, @draft_ids); - $dbh->disconnect(); + $dbh->commit; $main::lxdebug->leave_sub(); } sub list { - $main::lxdebug->enter_sub(); - - my ($self, $myconfig, $form) = @_; - - my ($dbh, $sth, $query, @values); - - $dbh = $form->dbconnect($myconfig); - - my ($module, $submodule) = $self->get_module($form); - - my @list = (); - $query = - qq|SELECT d.id, d.description, d.itime::timestamp(0) AS itime, | . - qq| e.name AS employee_name | . - qq|FROM drafts d | . - qq|LEFT JOIN employee e ON d.employee_id = e.id | . - qq|WHERE (d.module = ?) AND (d.submodule = ?) | . - qq|ORDER BY d.itime|; - @values = ($module, $submodule); - - $sth = prepare_execute_query($form, $dbh, $query, @values); - - while (my $ref = $sth->fetchrow_hashref()) { - push(@list, $ref); - } - $sth->finish(); - - $dbh->disconnect(); - - $main::lxdebug->leave_sub(); + $::lxdebug->enter_sub; + + my $self = shift; + my $myconfig = shift || \%::myconfig; + my $form = shift || $::form; + my $dbh = $form->get_standard_dbh; + + my @list = selectall_hashref_query($form, $dbh, <get_module($form)); + SELECT d.id, d.description, d.itime::timestamp(0) AS itime, + e.name AS employee_name + FROM drafts d + LEFT JOIN employee e ON d.employee_id = e.id + WHERE (d.module = ?) AND (d.submodule = ?) + ORDER BY d.itime +SQL + + $::lxdebug->leave_sub; return @list; }