From e02807a8508e787e197bd0eedb50db9db3a654b9 Mon Sep 17 00:00:00 2001 From: Matthew Wilson Date: Tue, 9 May 2006 15:51:52 +0000 Subject: [PATCH] fixes to make the totals add up correctly --- lib/WebGUI/Commerce/Transaction.pm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/WebGUI/Commerce/Transaction.pm b/lib/WebGUI/Commerce/Transaction.pm index 8244c77d7..dd1bc12b6 100644 --- a/lib/WebGUI/Commerce/Transaction.pm +++ b/lib/WebGUI/Commerce/Transaction.pm @@ -36,14 +36,23 @@ The number of items that are tobe added. =cut sub addItem { - my ($self, $item, $quantity); + my ($self, $item, $quantity, $lineItemAmount); $self = shift; $item = shift; $quantity = shift; + $lineItemAmount = shift; $self->session->db->write("insert into transactionItem ". "(transactionId, itemName, amount, quantity, itemId, itemType) values ". - "(".$self->session->db->quote($self->{_transactionId}).",".$self->session->db->quote($item->name).",".$self->session->db->quote($item->price).",".$self->session->db->quote($quantity).",". + "(".$self->session->db->quote($self->{_transactionId}).",".$self->session->db->quote($item->name).",".$self->session->db->quote( + ($lineItemAmount) + ?($lineItemAmount) + :($item->price) + ).",".$self->session->db->quote( + ($lineItemAmount) + ?('1') + :($quantity) + ).",". $self->session->db->quote($item->id).",".$self->session->db->quote($item->type).")"); # Adjust total amount in the transaction table. $self->session->db->write("update transaction set amount=amount+".($item->price * $quantity)." where transactionId=".$self->session->db->quote($self->{_transactionId}));