a ton of $session fixes (thanks to Colin), and a new $session checker, that supposedly, shouldn't be needed now. It can be backed out, however, easily.

This commit is contained in:
Matthew Wilson 2006-01-16 22:45:21 +00:00
parent 5fadc70eac
commit 09483e18c5
208 changed files with 505 additions and 533 deletions

View file

@ -9,15 +9,15 @@ Package WebGUI::Commerce::Item
This is the SUPER class off all Item plugins. Item plugins are an abstraction layer to connect
arbitrary types of products and other stuff you might want to sell to the commerce system.
The SUPER class new method provides an easy way to load Item plugins: WebGUI::Item->new('1234', 'MyItem')
is equivalent to WebGUI::Item::MyItem->new('1234'). The SUPER class new has the benefit of added
The SUPER class new method provides an easy way to load Item plugins: WebGUI::Item->new($self->session,'1234', 'MyItem')
is equivalent to WebGUI::Item::MyItem->new($self->session,'1234'). The SUPER class new has the benefit of added
error checking, so you should use this.
=head1 SYNOPSIS
use WebGUI::Item;
$item = WebGUI::Item->new($itemId, $itemType);
$item = WebGUI::Item->new($self->session,$itemId, $itemType);
$description = $item->description;
$duration = $item->duration;

View file

@ -280,7 +280,7 @@ The namespace of the plugin.
sub load {
my ($class, $namespace, $load, $cmd, $plugin);
$class = shift;
my $session = shift;
my $session = shift; use WebGUI; WebGUI::dumpSession($session);
$namespace = shift;
$cmd = "WebGUI::Commerce::Payment::$namespace";

View file

@ -38,7 +38,7 @@ sub cancelRecurringPayment {
$self->{_recurring} = 1;
my $itemProperties = $recurring->{transaction}->getItems->[0];
my $item = WebGUI::Commerce::Item->new($itemProperties->{itemId}, $itemProperties->{itemType});
my $item = WebGUI::Commerce::Item->new($self->session,$itemProperties->{itemId}, $itemProperties->{itemType});
my $recipe = _resolveRecipe($item->duration);
# Set up a user agent that uses cookies and allows POST redirects
@ -479,7 +479,7 @@ sub confirmRecurringTransaction {
my $transaction = WebGUI::Commerce::Transaction->getByGatewayId($self->session->form->process("orig_xid"), $self->namespace);
my $itemProperties = $transaction->getItems->[0];
my $item = WebGUI::Commerce::Item->new($itemProperties->{itemId}, $itemProperties->{itemType});
my $item = WebGUI::Commerce::Item->new($self->session,$itemProperties->{itemId}, $itemProperties->{itemType});
my $startEpoch = $self->session->datetime->setToEpoch(sprintf("%4d-%02d-%02d %02d:%02d:%02d", unpack('a4a2a2a2a2a2', $self->session->form->process("start_date"))));
my $currentEpoch = $self->session->datetime->setToEpoch(sprintf("%4d-%02d-%02d %02d:%02d:%02d", unpack('a4a2a2a2a2a2', $self->session->form->process("when"))));
@ -802,7 +802,7 @@ sub validateFormData {
my ($self, @error, $i18n, $currentYear, $currentMonth);
$self = shift;
$i18n = WebGUI::International->new('CommercePaymentITransact');
$i18n = WebGUI::International->new($self->session,'CommercePaymentITransact');
push (@error, $i18n->get('invalid firstName')) unless ($self->session->form->process("firstName"));
push (@error, $i18n->get('invalid lastName')) unless ($self->session->form->process("lastName"));

View file

@ -206,7 +206,7 @@ The namespace of the plugin.
sub load {
my ($class, $namespace, $load, $cmd, $plugin);
$class = shift;
my $session = shift;
my $session = shift; use WebGUI; WebGUI::dumpSession($session);
$namespace = shift;
$session->errorHandler->fatal('No namespace passed to load.') unless ($namespace);

View file

@ -64,7 +64,7 @@ sub add {
$itemType = shift;
$quantity = shift || 1;
$item = WebGUI::Commerce::Item->new($itemId, $itemType);
$item = WebGUI::Commerce::Item->new($self->session,$itemId, $itemType);
return "" unless ($item->available);
$self->{_items}{$itemId."_".$itemType} = {
@ -209,7 +209,7 @@ sub getItems {
$periodResolve = WebGUI::Commerce::Payment::recurringPeriodValues($self->session);
%cartContent = %{$self->{_items}};
foreach (values(%cartContent)) {
$item = WebGUI::Commerce::Item->new($_->{itemId}, $_->{itemType});
$item = WebGUI::Commerce::Item->new($self->session,$_->{itemId}, $_->{itemType});
$properties = {
quantity => $_->{quantity},
period => lc($periodResolve->{$item->duration}),

View file

@ -87,7 +87,7 @@ sub completeTransaction {
$self = shift;
foreach (@{$self->getItems}) {
$item = WebGUI::Commerce::Item->new($_->{itemId}, $_->{itemType});
$item = WebGUI::Commerce::Item->new($self->session,$_->{itemId}, $_->{itemType});
$item->handler;
}
@ -414,7 +414,7 @@ sub new {
my ($class, $transactionId, $gatewayId, $userId, $properties, $sth, $row, @items);
$class = shift;
my $session = shift;
my $session = shift; use WebGUI; WebGUI::dumpSession($session);
$transactionId = shift;
$gatewayId = shift;
$userId = shift || $session->user->userId;