X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FAM.pm;h=c7a88d2df81c26044b7fe66f1e93624e65c16711;hb=03ff37cb621e68f7d224d2520099ee86f612f833;hp=b2730ce50de51a934fb44e7e7d62ff1a4d1a1dec;hpb=2974447a09f906718f8f2485d62a32c2cbdb56b5;p=kivitendo-erp.git diff --git a/SL/AM.pm b/SL/AM.pm index b2730ce50..c7a88d2df 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -210,7 +210,14 @@ sub save_account { # sanity check, can't have AR with AR_... if ($form->{AR} || $form->{AP} || $form->{IC}) { map { delete $form->{$_} } - qw(AR_amount AR_tax AR_paid AP_amount AP_tax AP_paid IC_sale IC_cogs IC_taxpart IC_income IC_expense IC_taxservice CT_tax); + qw(AR_amount AR_tax AR_paid AP_amount AP_tax AP_paid IC_sale IC_cogs IC_taxpart IC_income IC_expense IC_taxservice); + } + + if ($form->{AR_include_in_dropdown}) { + $form->{$form->{AR_include_in_dropdown}} = $form->{AR_include_in_dropdown}; + } + if ($form->{AP_include_in_dropdown}) { + $form->{$form->{AP_include_in_dropdown}} = $form->{AP_include_in_dropdown}; } $form->{link} = ""; @@ -221,7 +228,7 @@ sub save_account { $form->{IC}, $form->{IC_sale}, $form->{IC_cogs}, $form->{IC_taxpart}, $form->{IC_income}, $form->{IC_expense}, - $form->{IC_taxservice}, $form->{CT_tax} + $form->{IC_taxservice} ) { $form->{link} .= "${item}:" if ($item); } @@ -236,6 +243,25 @@ sub save_account { $form->{id} = ""; } + $query = ' + SELECT accno + FROM chart + WHERE accno = ?'; + + my @values = ($form->{accno}); + + if ( $form->{id} ) { + $query .= ' AND NOT id = ?'; + push(@values, $form->{id}); + } + + my ($accno) = selectrow_query($form, $dbh, $query, @values); + + 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); @@ -243,7 +269,7 @@ sub save_account { do_query($form, $dbh, $query, $form->{"id"}, $form->{"accno"}); } - my @values; + @values = (); if ($form->{id}) { @@ -540,7 +566,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) @@ -1109,7 +1135,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}; @@ -1502,6 +1528,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};