Handle null productNumbers in the Product variant translation.
Update the product loading script to add more products.
This commit is contained in:
parent
94209d6edb
commit
bef82ef65f
2 changed files with 44 additions and 5 deletions
|
|
@ -14,6 +14,7 @@ use Getopt::Long;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
use WebGUI::Storage;
|
use WebGUI::Storage;
|
||||||
use WebGUI::Asset;
|
use WebGUI::Asset;
|
||||||
|
use WebGUI::Asset::Sku::Product;
|
||||||
use File::Find;
|
use File::Find;
|
||||||
use File::Spec;
|
use File::Spec;
|
||||||
|
|
||||||
|
|
@ -612,7 +613,7 @@ EOSQL
|
||||||
$toSku->execute([
|
$toSku->execute([
|
||||||
$product->{assetId},
|
$product->{assetId},
|
||||||
$product->{revisionDate},
|
$product->{revisionDate},
|
||||||
$product->{productNumber},
|
($product->{productNumber} || $session->id->generate),
|
||||||
$product->{description},
|
$product->{description},
|
||||||
$product->{displayTitle},
|
$product->{displayTitle},
|
||||||
]);
|
]);
|
||||||
|
|
@ -635,9 +636,10 @@ SELECT p.assetId, p.price, p.productNumber, p.revisionDate, a.title, s.sku
|
||||||
EOSQL1
|
EOSQL1
|
||||||
while (my $productData = $productQuery->hashRef()) {
|
while (my $productData = $productQuery->hashRef()) {
|
||||||
##Truncate title to 30 chars for short desc
|
##Truncate title to 30 chars for short desc
|
||||||
my $product = WebGUI::Asset::Wobject::Product->new($session, $productData->{assetId}, 'WebGUI::Asset::Sku::Product', $productData->{revisionDate});
|
printf "Adding variant to %s\n", $productData->{title} unless $quiet;
|
||||||
|
my $product = WebGUI::Asset::Sku::Product->new($session, $productData->{assetId}, 'WebGUI::Asset::Sku::Product', $productData->{revisionDate});
|
||||||
$product->setCollateral('Product_variants', 'varSku', {
|
$product->setCollateral('Product_variants', 'varSku', {
|
||||||
varSku => $productData->{productNumber},
|
varSku => ($productData->{productNumber} || $session->id->generate),
|
||||||
mastersku => $product->get('sku'),
|
mastersku => $product->get('sku'),
|
||||||
shortdesc => substr($productData->{title}, 0, 30),
|
shortdesc => substr($productData->{title}, 0, 30),
|
||||||
price => $productData->{price},
|
price => $productData->{price},
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,15 @@
|
||||||
# http://www.plainblack.com info@plainblack.com
|
# http://www.plainblack.com info@plainblack.com
|
||||||
#------------------------------------------------------------------
|
#------------------------------------------------------------------
|
||||||
|
|
||||||
# Write a little about what this script tests.
|
# This "test" script shoves products into the table so that the upgrade translation
|
||||||
#
|
# process can be tested.
|
||||||
|
#
|
||||||
|
# Here's what we're looking for after the upgrade runs.
|
||||||
|
# 1) Correct number of products translated
|
||||||
|
# 2) All revisions translated
|
||||||
|
# 3) Variants created for each Product Wobject
|
||||||
|
# 4) If no productNumber is defined, then it makes one for you.
|
||||||
|
# 5) Titles are truncated to 30 characters and used as the short description
|
||||||
#
|
#
|
||||||
|
|
||||||
use FindBin;
|
use FindBin;
|
||||||
|
|
@ -69,6 +76,36 @@ $tag = WebGUI::VersionTag->getWorking($session);
|
||||||
|
|
||||||
my $product1a = $product1->addRevision({price => 11.11});
|
my $product1a = $product1->addRevision({price => 11.11});
|
||||||
|
|
||||||
|
my $properties3 = {
|
||||||
|
className => 'WebGUI::Asset::Wobject::Product',
|
||||||
|
url => 'three',
|
||||||
|
price => 20.00,
|
||||||
|
title => 'no product number',
|
||||||
|
description => 'third product',
|
||||||
|
};
|
||||||
|
|
||||||
|
my $product3 = $root->addChild($properties3);
|
||||||
|
|
||||||
|
my $properties4 = {
|
||||||
|
className => 'WebGUI::Asset::Wobject::Product',
|
||||||
|
url => 'four',
|
||||||
|
price => 7.77,
|
||||||
|
title => 'no product number',
|
||||||
|
description => 'fourth product',
|
||||||
|
};
|
||||||
|
|
||||||
|
my $product4 = $root->addChild($properties4);
|
||||||
|
|
||||||
|
my $properties5 = {
|
||||||
|
className => 'WebGUI::Asset::Wobject::Product',
|
||||||
|
url => 'four',
|
||||||
|
price => 7.77,
|
||||||
|
title => 'extremely long title that will be truncated to only 30 chars in the variant',
|
||||||
|
description => 'fourth product',
|
||||||
|
};
|
||||||
|
|
||||||
|
my $product5 = $root->addChild($properties5);
|
||||||
|
|
||||||
$tag->commit;
|
$tag->commit;
|
||||||
|
|
||||||
diag "Done.";
|
diag "Done.";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue