X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/99d05c2cc969eb4913cac08ae4331c4e6a82726a..a23454bb1b039a31b7f77710ff663fa9152d530c:/SL/AM.pm diff --git a/SL/AM.pm b/SL/AM.pm index c85c47911..e4727047c 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -1060,10 +1060,6 @@ sub save_defaults { my %accnos; map { ($accnos{$_}) = split(m/--/, $form->{$_}) } qw(inventory_accno income_accno expense_accno fxgain_accno fxloss_accno ar_paid_accno); - $form->{curr} =~ s/ //g; - my @currencies = grep { $_ ne '' } split m/:/, $form->{curr}; - my $currency = join ':', @currencies; - # these defaults are database wide my $query = @@ -1087,7 +1083,6 @@ sub save_defaults { assemblynumber = ?, sdonumber = ?, pdonumber = ?, - curr = ?, businessnumber = ?, weightunit = ?, language_id = ?|; @@ -1100,11 +1095,24 @@ sub save_defaults { $form->{articlenumber}, $form->{servicenumber}, $form->{assemblynumber}, $form->{sdonumber}, $form->{pdonumber}, - $currency, $form->{businessnumber}, $form->{weightunit}, conv_i($form->{language_id})); do_query($form, $dbh, $query, @values); + $main::lxdebug->message(0, "es gibt rowcount: " . $form->{rowcount}); + + for my $i (1..$form->{rowcount}) { + if ($form->{"curr_$i"} ne $form->{"old_curr_$i"}) { + $query = qq|UPDATE currencies SET curr = '| . $form->{"curr_$i"} . qq|' WHERE curr = '| . $form->{"old_curr_$i"} . qq|'|; + do_query($form, $dbh, $query); + } + } + + if (length($form->{new_curr}) > 0) { + $query = qq|INSERT INTO currencies (curr) VALUES ('| . $form->{new_curr} . qq|')|; + do_query($form, $dbh, $query); + } + $dbh->commit(); $main::lxdebug->leave_sub(); @@ -1118,7 +1126,7 @@ sub save_preferences { my $dbh = $form->get_standard_dbh($myconfig); - my ($currency, $businessnumber) = selectrow_query($form, $dbh, qq|SELECT curr, businessnumber FROM defaults|); + my ($businessnumber) = selectrow_query($form, $dbh, qq|SELECT businessnumber FROM defaults|); # update name my $query = qq|UPDATE employee SET name = ? WHERE login = ?|; @@ -1126,10 +1134,6 @@ sub save_preferences { my $rc = $dbh->commit(); - # save first currency in myconfig - $currency =~ s/:.*//; - $form->{currency} = $currency; - $form->{businessnumber} = $businessnumber; $myconfig = User->new(login => $form->{login}); @@ -1286,6 +1290,28 @@ sub defaultaccounts { } $sth->finish; + + #Get currencies: + $query = qq|SELECT curr FROM currencies ORDER BY id|; + + $form->{CURRENCIES} = []; + + $sth = prepare_execute_query($form, $dbh, $query); + $sth->execute || $form->dberror($query); + while (my $ref = $sth->fetchrow_hashref("NAME_lc")) { + push @{ $form->{ CURRENCIES } } , $ref; + } + $sth->finish; + + #Which of them is the default currency? + $query = qq|SELECT curr AS defaultcurrency FROM currencies WHERE id = (SELECT curr FROM defaults LIMIT 1);|; + $sth = $dbh->prepare($query); + $sth->execute || $form->dberror($query); + + $form->{defaultcurrency} = ($sth->fetchrow_hashref("NAME_lc"))->{defaultcurrency}; + + $sth->finish; + $dbh->disconnect; $main::lxdebug->leave_sub();