X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDrafts.pm;h=891775bc08290a94b2faaa8a5955e06a93f06eb9;hb=f9c7abfae65b79945beb7e9260942bc94876248a;hp=96d4d913ea34f223c851cb24e24fed917303f7dc;hpb=14e6ba3a190d322d2e6110e6d846c61f73787885;p=kivitendo-erp.git diff --git a/SL/Drafts.pm b/SL/Drafts.pm index 96d4d913e..891775bc0 100644 --- a/SL/Drafts.pm +++ b/SL/Drafts.pm @@ -14,6 +14,8 @@ use YAML; use SL::Common; use SL::DBUtils; +use strict; + sub get_module { $main::lxdebug->enter_sub(); @@ -34,12 +36,14 @@ sub get_module { return ($module, $submodule); } +my @dont_save = qw(login password stylesheet action); + sub save { $main::lxdebug->enter_sub(); my ($self, $myconfig, $form, $draft_id, $draft_description) = @_; - my ($dbh, $sth, $query, %saved, @dont_save, $dumped); + my ($dbh, $sth, $query, %saved, $dumped); $dbh = $form->dbconnect_noauto($myconfig); @@ -54,7 +58,6 @@ sub save { do_query($form, $dbh, $query, $draft_id, $module, $submodule); } - @dont_save = qw(login password action); map({ $saved{$_} = $form->{$_}; delete($form->{$_}); } @dont_save); @@ -90,7 +93,6 @@ sub load { $sth = prepare_execute_query($form, $dbh, $query, $draft_id); - my @values; if (my $ref = $sth->fetchrow_hashref()) { @values = ($ref->{form}, $ref->{id}, $ref->{description}); } @@ -123,36 +125,23 @@ sub remove { } 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|; - my @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; }