diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt
index 11a0e4e6b..9acb3cd48 100644
--- a/docs/changelog/7.x.x.txt
+++ b/docs/changelog/7.x.x.txt
@@ -1,6 +1,7 @@
7.10.14
- fixed #12094: Cannot enter in Macros in URLs inside TinyMCE.
- rfe #12093: Remotely stored photos for Story assets
+ - fixed #12088: Organization left out of transaction
7.10.13
- added #12079: Carousel Auto Play
diff --git a/docs/upgrades/upgrade_7.10.13-7.10.14.pl b/docs/upgrades/upgrade_7.10.13-7.10.14.pl
index 4ea09cb05..3baf32403 100644
--- a/docs/upgrades/upgrade_7.10.13-7.10.14.pl
+++ b/docs/upgrades/upgrade_7.10.13-7.10.14.pl
@@ -31,6 +31,7 @@ my $quiet; # this line required
my $session = start(); # this line required
# upgrade functions go here
+addOrganizationsToTransaction($session);
finish($session); # this line required
@@ -45,6 +46,18 @@ finish($session); # this line required
#}
+#----------------------------------------------------------------------------
+# Describe what our function does
+sub addOrganizationsToTransaction {
+ my $session = shift;
+ print "\tAdd organization fields to the addresses stored in the Transaction and TransactionItem... " unless $quiet;
+ # and here's our code
+ $session->db->write('ALTER TABLE transaction ADD COLUMN shippingOrganization CHAR(35)');
+ $session->db->write('ALTER TABLE transaction ADD COLUMN paymentOrganization CHAR(35)');
+ $session->db->write('ALTER TABLE transactionItem ADD COLUMN shippingOrganization CHAR(35)');
+ print "DONE!\n" unless $quiet;
+}
+
# -------------- DO NOT EDIT BELOW THIS LINE --------------------------------
#----------------------------------------------------------------------------
diff --git a/lib/WebGUI/Shop/Transaction.pm b/lib/WebGUI/Shop/Transaction.pm
index b37f253b3..4e089ae3d 100644
--- a/lib/WebGUI/Shop/Transaction.pm
+++ b/lib/WebGUI/Shop/Transaction.pm
@@ -261,7 +261,9 @@ A hash reference with the address properties.
sub formatAddress {
my ($self, $address) = @_;
- my $formatted = $address->{name} . "
" . $address->{address1} . "
";
+ my $formatted = $address->{name} . "
";
+ $formatted .= $address->{organization} . "
" if ($address->{organization} ne "");
+ $formatted .= $address->{address1} . "
";
$formatted .= $address->{address2} . "
" if ($address->{address2} ne "");
$formatted .= $address->{address3} . "
" if ($address->{address3} ne "");
$formatted .= $address->{city} . ", ";
@@ -415,26 +417,28 @@ sub getTransactionVars {
taxes => sprintf( "%.2f", $self->get('taxes') ),
shippingPrice => sprintf( "%.2f", $self->get('shippingPrice') ),
shippingAddress => $self->formatAddress( {
- name => $self->get('shippingAddressName'),
- address1 => $self->get('shippingAddress1'),
- address2 => $self->get('shippingAddress2'),
- address3 => $self->get('shippingAddress3'),
- city => $self->get('shippingCity'),
- state => $self->get('shippingState'),
- code => $self->get('shippingCode'),
- country => $self->get('shippingCountry'),
- phoneNumber => $self->get('shippingPhoneNumber'),
+ name => $self->get('shippingAddressName'),
+ organization => $self->get('shippingOrganization'),
+ address1 => $self->get('shippingAddress1'),
+ address2 => $self->get('shippingAddress2'),
+ address3 => $self->get('shippingAddress3'),
+ city => $self->get('shippingCity'),
+ state => $self->get('shippingState'),
+ code => $self->get('shippingCode'),
+ country => $self->get('shippingCountry'),
+ phoneNumber => $self->get('shippingPhoneNumber'),
} ),
paymentAddress => $self->formatAddress({
- name => $self->get('paymentAddressName'),
- address1 => $self->get('paymentAddress1'),
- address2 => $self->get('paymentAddress2'),
- address3 => $self->get('paymentAddress3'),
- city => $self->get('paymentCity'),
- state => $self->get('paymentState'),
- code => $self->get('paymentCode'),
- country => $self->get('paymentCountry'),
- phoneNumber => $self->get('paymentPhoneNumber'),
+ name => $self->get('paymentAddressName'),
+ organization => $self->get('paymentOrganization'),
+ address1 => $self->get('paymentAddress1'),
+ address2 => $self->get('paymentAddress2'),
+ address3 => $self->get('paymentAddress3'),
+ city => $self->get('paymentCity'),
+ state => $self->get('paymentState'),
+ code => $self->get('paymentCode'),
+ country => $self->get('paymentCountry'),
+ phoneNumber => $self->get('paymentPhoneNumber'),
} ),
};
@@ -444,15 +448,16 @@ sub getTransactionVars {
my $address = '';
if ($self->get('shippingAddressId') ne $item->get('shippingAddressId')) {
$address = $self->formatAddress({
- name => $item->get('shippingAddressName'),
- address1 => $item->get('shippingAddress1'),
- address2 => $item->get('shippingAddress2'),
- address3 => $item->get('shippingAddress3'),
- city => $item->get('shippingCity'),
- state => $item->get('shippingState'),
- code => $item->get('shippingCode'),
- country => $item->get('shippingCountry'),
- phoneNumber => $item->get('shippingPhoneNumber'),
+ name => $item->get('shippingAddressName'),
+ organization => $self->get('shippingOrganization'),
+ address1 => $item->get('shippingAddress1'),
+ address2 => $item->get('shippingAddress2'),
+ address3 => $item->get('shippingAddress3'),
+ city => $item->get('shippingCity'),
+ state => $item->get('shippingState'),
+ code => $item->get('shippingCode'),
+ country => $item->get('shippingCountry'),
+ phoneNumber => $item->get('shippingPhoneNumber'),
});
}
@@ -747,28 +752,30 @@ sub update {
$newProperties->{taxes} = $cart->calculateTaxes;
my $billingAddress = $cart->getBillingAddress;
- $newProperties->{paymentAddressId} = $billingAddress->getId;
- $newProperties->{paymentAddressName} = $billingAddress->get('firstName') . " " . $billingAddress->get('lastName');
- $newProperties->{paymentAddress1} = $billingAddress->get('address1');
- $newProperties->{paymentAddress2} = $billingAddress->get('address2');
- $newProperties->{paymentAddress3} = $billingAddress->get('address3');
- $newProperties->{paymentCity} = $billingAddress->get('city');
- $newProperties->{paymentState} = $billingAddress->get('state');
- $newProperties->{paymentCountry} = $billingAddress->get('country');
- $newProperties->{paymentCode} = $billingAddress->get('code');
- $newProperties->{paymentPhoneNumber} = $billingAddress->get('phoneNumber');
+ $newProperties->{paymentAddressId} = $billingAddress->getId;
+ $newProperties->{paymentAddressName} = $billingAddress->get('firstName') . " " . $billingAddress->get('lastName');
+ $newProperties->{paymentOrganization} = $billingAddress->get('organization');
+ $newProperties->{paymentAddress1} = $billingAddress->get('address1');
+ $newProperties->{paymentAddress2} = $billingAddress->get('address2');
+ $newProperties->{paymentAddress3} = $billingAddress->get('address3');
+ $newProperties->{paymentCity} = $billingAddress->get('city');
+ $newProperties->{paymentState} = $billingAddress->get('state');
+ $newProperties->{paymentCountry} = $billingAddress->get('country');
+ $newProperties->{paymentCode} = $billingAddress->get('code');
+ $newProperties->{paymentPhoneNumber} = $billingAddress->get('phoneNumber');
my $shippingAddress = $cart->getShippingAddress;
- $newProperties->{shippingAddressId} = $shippingAddress->getId;
- $newProperties->{shippingAddressName} = $shippingAddress->get('firstName') . " " . $shippingAddress->get('lastName');
- $newProperties->{shippingAddress1} = $shippingAddress->get('address1');
- $newProperties->{shippingAddress2} = $shippingAddress->get('address2');
- $newProperties->{shippingAddress3} = $shippingAddress->get('address3');
- $newProperties->{shippingCity} = $shippingAddress->get('city');
- $newProperties->{shippingState} = $shippingAddress->get('state');
- $newProperties->{shippingCountry} = $shippingAddress->get('country');
- $newProperties->{shippingCode} = $shippingAddress->get('code');
- $newProperties->{shippingPhoneNumber} = $shippingAddress->get('phoneNumber');
+ $newProperties->{shippingAddressId} = $shippingAddress->getId;
+ $newProperties->{shippingAddressName} = $shippingAddress->get('firstName') . " " . $shippingAddress->get('lastName');
+ $newProperties->{shippingOrganization} = $shippingAddress->get('organization');
+ $newProperties->{shippingAddress1} = $shippingAddress->get('address1');
+ $newProperties->{shippingAddress2} = $shippingAddress->get('address2');
+ $newProperties->{shippingAddress3} = $shippingAddress->get('address3');
+ $newProperties->{shippingCity} = $shippingAddress->get('city');
+ $newProperties->{shippingState} = $shippingAddress->get('state');
+ $newProperties->{shippingCountry} = $shippingAddress->get('country');
+ $newProperties->{shippingCode} = $shippingAddress->get('code');
+ $newProperties->{shippingPhoneNumber} = $shippingAddress->get('phoneNumber');
if ($cart->requiresShipping) {
my $shipper = $cart->getShipper;
@@ -803,7 +810,8 @@ sub update {
shippingCountry shippingCode shippingPhoneNumber shippingDriverId shippingDriverLabel notes
shippingPrice paymentAddressId paymentAddressName originatingTransactionId isRecurring
paymentAddress1 paymentAddress2 paymentAddress3 paymentCity paymentState paymentCountry paymentCode
- paymentPhoneNumber paymentDriverId paymentDriverLabel taxes shopCreditDeduction));
+ paymentPhoneNumber paymentDriverId paymentDriverLabel taxes shopCreditDeduction
+ shippingOrganization paymentOrganization));
foreach my $field (@fields) {
$properties{$id}{$field} = (exists $newProperties->{$field}) ? $newProperties->{$field} : $properties{$id}{$field};
}
@@ -1125,15 +1133,16 @@ sub www_view {