Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / SL / AM.pm
index df8bf23..6862eb7 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -243,6 +243,18 @@ sub save_account {
     $form->{id} = "";
   }
 
+  $query = '
+    SELECT
+    accno
+    FROM chart
+    WHERE accno = ?';
+  my ($accno) = selectrow_query($form, $dbh, $query, $form->{accno});
+
+  if ($accno) {
+    $form->error($::locale->text('Account number not unique!'));
+  }
+
+
   if (!$form->{id} || $form->{id} eq "") {
     $query = qq|SELECT nextval('id')|;
     ($form->{"id"}) = selectrow_query($form, $dbh, $query);
@@ -547,7 +559,7 @@ sub save_lead {
     $query = qq|UPDATE leads SET
                 lead = ?
                 WHERE id = ?|;
-    puhs(@values, $form->{id});
+    push(@values, $form->{id});
   } else {
     $query = qq|INSERT INTO leads
                 (lead)
@@ -1116,7 +1128,7 @@ sub save_preferences {
 
   $form->{businessnumber} =  $businessnumber;
 
-  $myconfig = new User($form->{login});
+  $myconfig = User->new(login => $form->{login});
 
   foreach my $item (keys %$form) {
     $myconfig->{$item} = $form->{$item};
@@ -1509,6 +1521,10 @@ sub convert_unit {
   $main::lxdebug->enter_sub(2);
   my ($this, $a, $b, $all_units) = @_;
 
+  if (!$all_units) {
+    $all_units = $this->retrieve_all_units;
+  }
+
   $main::lxdebug->leave_sub(2) and return 0 unless $a && $b;
   $main::lxdebug->leave_sub(2) and return 0 unless $all_units->{$a} && $all_units->{$b};
   $main::lxdebug->leave_sub(2) and return 0 unless $all_units->{$a}{base_unit} eq $all_units->{$b}{base_unit};