Script wird nicht mehr benötigt, da für den neuen Upgrademechanismus keine Versionsnu...
[kivitendo-erp.git] / SL / AM.pm
index a159748..fc7bb73 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -971,12 +971,17 @@ sub delete_language {
   my ($self, $myconfig, $form) = @_;
 
   # connect to database
-  my $dbh = $form->dbconnect($myconfig);
+  my $dbh = $form->dbconnect_noauto($myconfig);
+
+  my $query = "DELETE FROM units_language WHERE language_id = ?";
+  $dbh->do($query, undef, $form->{"id"}) ||
+    $form->dberror($query . " ($form->{id})");
 
-  my $query = "DELETE FROM language WHERE id = ?";
+  $query = "DELETE FROM language WHERE id = ?";
   $dbh->do($query, undef, $form->{"id"}) ||
     $form->dberror($query . " ($form->{id})");
 
+  $dbh->commit();
   $dbh->disconnect;
 
   $main::lxdebug->leave_sub();
@@ -1045,8 +1050,10 @@ sub get_buchungsgruppe {
 
   }
 
-  $query = "SELECT inventory_accno_id FROM defaults";
-  ($form->{"std_inventory_accno_id"}) = $dbh->selectrow_array($query);
+  $query = "SELECT inventory_accno_id, income_accno_id, expense_accno_id ".
+    "FROM defaults";
+  ($form->{"std_inventory_accno_id"}, $form->{"std_income_accno_id"},
+   $form->{"std_expense_accno_id"}) = $dbh->selectrow_array($query);
 
   my $module = "IC";
   $query = qq|SELECT c.accno, c.description, c.link, c.id,
@@ -1159,6 +1166,7 @@ sub printer {
   $sth = $dbh->prepare($query);
   $sth->execute || $form->dberror($query);
 
+  $form->{"ALL"} = [];
   while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
     push @{ $form->{ALL} }, $ref;
   }
@@ -1530,7 +1538,6 @@ sub save_preferences {
                  servicenumber = '$form->{servicenumber}',
                  yearend = '$form->{yearend}',
                 curr = '$form->{curr}',
-                weightunit = '$form->{weightunit}',
                 businessnumber = '$form->{businessnumber}'
                |;
   $dbh->do($query) || $form->dberror($query);
@@ -2093,7 +2100,6 @@ sub translate_units {
   my $units = $self->retrieve_units(\%main::myconfig, $form);
 
   my $h = $units->{$unit}->{"LANGUAGES"}->{$template_code};
-  $main::lxdebug->dump(0, "klaus", $h);
   my $new_unit = $unit;
   if ($h) {
     if (($amount != 1) && $h->{"localized_plural"}) {
@@ -2235,10 +2241,11 @@ sub save_units {
   $dbh->do($query) || $form->dberror($query);
 
   if ($delete_units && (0 != scalar(@{$delete_units}))) {
-    $query = "DELETE FROM units WHERE name = (";
+    $query = "DELETE FROM units WHERE name IN (";
     map({ $query .= "?," } @{$delete_units});
     substr($query, -1, 1) = ")";
-    $dbh->do($query, undef, @{$delete_units}) || $form->dberror($query . " ($_)");
+    $dbh->do($query, undef, @{$delete_units}) ||
+      $form->dberror($query . " (" . join(", ", @{$delete_units}) . ")");
   }
 
   $query = "UPDATE units SET name = ?, base_unit = ?, factor = ? WHERE name = ?";