diff --git a/docs/upgrades/upgrade_7.5.10-7.5.11.pl b/docs/upgrades/upgrade_7.5.10-7.5.11.pl index be80bce1b..7c128dc19 100644 --- a/docs/upgrades/upgrade_7.5.10-7.5.11.pl +++ b/docs/upgrades/upgrade_7.5.10-7.5.11.pl @@ -622,11 +622,40 @@ EOSQL $toSku->finish; $rmWobject->finish; $session->db->write(q!update asset set className='WebGUI::Asset::Sku::Product' where className='WebGUI::Asset::Wobject::Product'!); + + ##Build a variant for each Product. + my $productQuery = $session->db->read(<hashRef()) { + ##Truncate title to 30 chars for short desc + my $product = WebGUI::Asset::Wobject::Product->new($session, $productData->{assetId}, 'WebGUI::Asset::Sku::Product', $productData->{revisionDate}); + $product->setCollateral('Product_variants', 'varSku', { + varSku => $productData->{productNumber}, + mastersku => $product->get('sku'), + shortdesc => substr($productData->{title}, 0, 30), + price => $productData->{price}, + weight => 0, + quantity => 0, + }); + } + $productQuery->finish; + ## Remove productNumber from Product; - $session->db->write("alter table Product drop column productNumber"); + $session->db->write('alter table Product drop column productNumber'); + ## Remove price from Product since prices are now stored in variants + $session->db->write('alter table Product drop column price'); + ## Update config file, deleting Wobject::Product and adding Sku::Product $session->config->deleteFromArray('assets', 'WebGUI::Asset::Wobject::Product'); $session->config->addToArray('assets', 'WebGUI::Asset::Sku::Product'); + unlink '../../lib/WebGUI/Asset/Wobject/Product.pm'; return; } diff --git a/lib/WebGUI/Asset/Sku/Product.pm b/lib/WebGUI/Asset/Sku/Product.pm index a0e163c20..6f58e7788 100644 --- a/lib/WebGUI/Asset/Sku/Product.pm +++ b/lib/WebGUI/Asset/Sku/Product.pm @@ -81,13 +81,6 @@ sub definition { hoverHelp=>$i18n->get('62 description'), defaultValue=>'PBtmpl0000000000000056' }, - price=>{ - label=>$i18n->get(10), - hoverHelp=>$i18n->get('10 description'), - tab => "shop", - fieldType=>"text", - defaultValue=>undef - }, image1=>{ tab => "properties", fieldType=>"image",