posaune
[kivitendo-erp.git] / SL / Drafts.pm
index 891775b..e5242aa 100644 (file)
@@ -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,12 +116,12 @@ 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();
 }