Forward port the PayDriver bug fixes from 7.5 branch. Labels are always
taken consistently from the JSON blob, and not a mixture of the two.
This commit is contained in:
parent
3348df94da
commit
1b6dd7be63
6 changed files with 47 additions and 71 deletions
|
|
@ -42,10 +42,6 @@ back up to the top.
|
|||
|
||||
The class of the new PayDriver object to create.
|
||||
|
||||
=head4 $label
|
||||
|
||||
The label for this instance.
|
||||
|
||||
=head4 $options
|
||||
|
||||
A list of properties to assign to this PayDriver. See C<definition> for details.
|
||||
|
|
@ -55,17 +51,14 @@ A list of properties to assign to this PayDriver. See C<definition> for details
|
|||
sub addPaymentGateway {
|
||||
my $self = shift;
|
||||
my $requestedClass = shift;
|
||||
my $label = shift;
|
||||
my $options = shift;
|
||||
WebGUI::Error::InvalidParam->throw(error => q{Must provide a class to create an object})
|
||||
unless defined $requestedClass;
|
||||
WebGUI::Error::InvalidParam->throw(error => q{The requested class is not enabled in your WebGUI configuration file}, param => $requestedClass)
|
||||
unless isIn($requestedClass, (keys %{$self->getDrivers}) );
|
||||
WebGUI::Error::InvalidParam->throw(error => q{Must provide a label to create an object})
|
||||
unless $label;
|
||||
WebGUI::Error::InvalidParam->throw(error => q{You must pass a hashref of options to create a new PayDriver object})
|
||||
unless defined($options) and ref $options eq 'HASH' and scalar keys %{ $options };
|
||||
my $driver = eval { WebGUI::Pluggable::instanciate($requestedClass, 'create', [ $self->session, $label, $options ]) };
|
||||
my $driver = eval { WebGUI::Pluggable::instanciate($requestedClass, 'create', [ $self->session, $options ]) };
|
||||
|
||||
return $driver;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue