# get rest for the customer
my $query =
qq|SELECT ct.*, cp.*, ct.notes as customernotes,
- ct.phone AS customerphone, ct.fax AS customerfax, ct.email AS customeremail
+ ct.phone AS customerphone, ct.fax AS customerfax, ct.email AS customeremail,
+ ct.curr AS currency
FROM customer ct
LEFT JOIN contacts cp on ct.id = cp.cp_cv_id
WHERE (ct.id = ?) $where
map { $form->{$_} = $ref->{$_} } keys %$ref;
+ # remove any trailing whitespace
+ $form->{currency} =~ s/\s*$// if ($form->{currency});
+
if ($form->{delivery_customer_id}) {
$query =
qq|SELECT *, notes as customernotes
do_query($form, $dbh, qq|UPDATE ar SET storno = 'f', paid = 0 WHERE id = ?|, $invoice_id);
}
- # delete AR record
- do_query($form, $dbh, qq|DELETE FROM ar WHERE id = ?|, @values);
-
# delete spool files
my @spoolfiles = selectall_array_query($form, $dbh, qq|SELECT spoolfile FROM status WHERE trans_id = ?|, @values);
- # delete status entries
- do_query($form, $dbh, qq|DELETE FROM status WHERE trans_id = ?|, @values);
+ my @queries = (
+ qq|DELETE FROM status WHERE trans_id = ?|,
+ qq|DELETE FROM periodic_invoices WHERE ar_id = ?|,
+ qq|DELETE FROM ar WHERE id = ?|,
+ );
+
+ map { do_query($form, $dbh, $_, @values) } @queries;
my $rc = $dbh->commit;
c.id AS customer_id, c.name AS customer, c.discount as customer_discount, c.creditlimit, c.terms,
c.email, c.cc, c.bcc, c.language_id, c.payment_id,
c.street, c.zipcode, c.city, c.country,
- c.notes AS intnotes, c.klass as customer_klass, c.taxzone_id, c.salesman_id,
+ c.notes AS intnotes, c.klass as customer_klass, c.taxzone_id, c.salesman_id, c.curr,
$duedate + COALESCE(pt.terms_netto, 0) AS duedate,
b.discount AS tradediscount, b.description AS business
FROM customer c
map { $form->{$_} = $ref->{$_} } keys %$ref;
+ # remove any trailing whitespace
+ $form->{curr} =~ s/\s*$//;
+
+ # use customer currency if not empty
+ $form->{currency} = $form->{curr} if $form->{curr};
+
$query =
qq|SELECT sum(amount - paid) AS dunning_amount
FROM ar
$pkr->{price} *= $form->{"basefactor_$i"};
$pkr->{price} *= $basefactor;
+ $pkr->{price_ufmt} = $pkr->{price};
$pkr->{price} = $form->format_amount($myconfig, $pkr->{price}, 5);
if ($selectedpricegroup_id eq undef) {
if ($pkr->{pricegroup_id} eq $form->{"pricegroup_id_$i"} and defined $form->{"pricegroup_id_$i"}) {
# Case A
$pkr->{selected} = ' selected';
-
} elsif ($pkr->{pricegroup_id} eq $form->{customer_klass}
and not defined $form->{"pricegroup_id_$i"}
- and $pkr->{price} != 0 # only use customer pricegroup price if it has a value, else use default_sellprice
- # for the case where pricegroup prices haven't been set
+ and $pkr->{price_ufmt} != 0 # only use customer pricegroup price if it has a value, else use default_sellprice
+ # for the case where pricegroup prices haven't been set
) {
# Case B: use default pricegroup of customer
$pkr->{selected} = ' selected'; # unless $form->{selected};
-
# no customer pricesgroup set
- if ($pkr->{price} == $pkr->{default_sellprice}) {
+ if ($pkr->{price_unfmt} == $pkr->{default_sellprice}) {
$pkr->{price} = $form->{"sellprice_$i"};
$form->{"sellprice_$i"} = $pkr->{price};
}
- } elsif ($pkr->{price} == $pkr->{default_sellprice} and $pkr->{default_sellprice} != 0) {
+ } elsif ($pkr->{price_unfmt} == $pkr->{default_sellprice} and $pkr->{default_sellprice} != 0) {
$pkr->{price} = $form->{"sellprice_$i"};
$pkr->{selected} = ' selected';
}