From 84d43b8d19c4323fc7c741faa0b1ea2a9da86f58 Mon Sep 17 00:00:00 2001 From: Roy Johnson Date: Sun, 19 Mar 2006 23:51:06 +0000 Subject: [PATCH] un-b0rk3d the commerce system --- lib/WebGUI/Commerce/Payment/ITransact.pm | 6 +++--- lib/WebGUI/Commerce/Transaction.pm | 2 +- lib/WebGUI/Operation/Commerce.pm | 9 +++++---- lib/WebGUI/Operation/TransactionLog.pm | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/WebGUI/Commerce/Payment/ITransact.pm b/lib/WebGUI/Commerce/Payment/ITransact.pm index f15ec09d7..eecf4b0ea 100644 --- a/lib/WebGUI/Commerce/Payment/ITransact.pm +++ b/lib/WebGUI/Commerce/Payment/ITransact.pm @@ -128,7 +128,7 @@ sub checkoutForm { $i18n = WebGUI::International->new($self->session, 'CommercePaymentITransact'); - $u = WebGUI::User->new($self->session->user->userId); + $u = WebGUI::User->new($self->session,$self->session->user->userId); $f = WebGUI::HTMLForm->new($self->session); $f->text( @@ -622,7 +622,7 @@ sub normalTransaction { $self->{_recurring} = 0; $self->{_transactionParams} = { AMT => sprintf('%.2f', $normal->{amount}), - DESCRIPTION => WebGUI::URL::escape($normal->{description}) || $i18n->get('no description'), + DESCRIPTION => $self->session->url->escape($normal->{description}) || $i18n->get('no description'), INVOICENUMBER => $normal->{invoiceNumber}, ORGID => $normal->{id}, }; @@ -650,7 +650,7 @@ sub recurringTransaction { INITIALAMT => sprintf('%.2f', $initialAmount), TERM => $recurring->{term} || 9999, RECIPE => _resolveRecipe($recurring->{payPeriod}), - DESCRIPTION => WebGUI::URL::escape($recurring->{description}) || $i18n->get('no description'), + DESCRIPTION => $self->session->url->escape($recurring->{description}) || $i18n->get('no description'), INVOICENUMBER => $recurring->{invoiceNumber}, ORGID => $recurring->{id}, }; diff --git a/lib/WebGUI/Commerce/Transaction.pm b/lib/WebGUI/Commerce/Transaction.pm index 4b613a07b..27f58a12c 100644 --- a/lib/WebGUI/Commerce/Transaction.pm +++ b/lib/WebGUI/Commerce/Transaction.pm @@ -476,7 +476,7 @@ Returns the cached, local session variable. =cut sub session { - my ($self) = @_; + my $self = shift; return $self->{_session}; } diff --git a/lib/WebGUI/Operation/Commerce.pm b/lib/WebGUI/Operation/Commerce.pm index 34acb576d..e2d3c51c8 100644 --- a/lib/WebGUI/Operation/Commerce.pm +++ b/lib/WebGUI/Operation/Commerce.pm @@ -383,8 +383,9 @@ sub www_checkoutSubmit { # Write transaction to the log with status pending $transaction = WebGUI::Commerce::Transaction->new($session, 'new'); + foreach (@{$currentPurchase->{items}}) { - $transaction->addItem($_->{item}, $_->{quantity}); + $transaction->addItem($_->{item}, $_->{quantity}); $amount += ($_->{item}->price * $_->{quantity}); $var->{purchaseDescription} .= $_->{quantity}.' x '.$_->{item}->name.'
'; } @@ -451,10 +452,10 @@ sub www_checkoutSubmit { _clearCheckoutScratch($session); # If everythings ok show the purchase history - return WebGUI::Operation::execute($session,'viewPurchaseHistory') unless ($checkoutError); - + return WebGUI::Operation::TransactionLog::www_viewPurchaseHistory($session) unless ($checkoutError); + # If an error has occurred show the template errorlog - return $session->style->userStyle(WebGUI::Asset::Template->new($session,$session->setting->get("commerceTransactionErrorTemplateId"))->process(\%param)); + return $session->style->userStyle(WebGUI::Asset->newByDynamicClass($session,$session->setting->get("commerceTransactionErrorTemplateId"))->process(\%param)); } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Operation/TransactionLog.pm b/lib/WebGUI/Operation/TransactionLog.pm index fee908b9e..79ed06596 100644 --- a/lib/WebGUI/Operation/TransactionLog.pm +++ b/lib/WebGUI/Operation/TransactionLog.pm @@ -34,7 +34,7 @@ sub www_viewPurchaseHistory { $var{errorMessage} = shift; - @history = @{WebGUI::Commerce::Transaction->transactionsByUser($session->user->userId)}; + @history = @{WebGUI::Commerce::Transaction->new($session)->transactionsByUser($session->user->userId)}; foreach (@history) { %properties = %{$_->get}; $properties{initDate} = $session->datetime->epochToHuman($properties{initDate});