AssetProxy macro can now use asset id as a parameter like so: ^AssetProxy(abcdefghijklmnopqrstuv,assetId);
subscriptionitem macro is now autoconverted to assetproxy
This commit is contained in:
parent
3ad1668a21
commit
17c7a0ad7a
3 changed files with 58 additions and 78 deletions
|
|
@ -1,5 +1,7 @@
|
|||
7.5.11
|
||||
- rfe: Not being limited to single-worded Tags
|
||||
- AssetProxy macro can now use asset id as a parameter like so:
|
||||
^AssetProxy(abcdefghijklmnopqrstuv,assetId);
|
||||
- Exposed keywords API to all assets through edit screen. Now keywords are
|
||||
searchable and add metatags for all assets.
|
||||
- fix: template variable isUncommitted is not documented in the help
|
||||
|
|
@ -237,20 +239,6 @@
|
|||
- add: Photos now track views
|
||||
- fix: Multiple Gallery template fixes.
|
||||
|
||||
7.4.24
|
||||
- fix: https and extra / in urls (perlDreamer Consulting, LLC.)
|
||||
http://www.webgui.org/bugs/tracker/https-and-extra-/-in-urls
|
||||
|
||||
7.4.23
|
||||
- fix: CalendarUpdateFeeds workflow causes errors in log
|
||||
- autocommit for packages is handled by web method, not API method
|
||||
- fix: importing packages generates orphaned duplicates of all attached storage locations
|
||||
- fix: error rolling back version tags if a parent has a later revision date than its child
|
||||
- show fields in tabs on DataForm default email template
|
||||
- fix: don't show Admin mode toggle when not in adminModeSubnets
|
||||
- fix regression: Site starter style displays incorrectly in IE
|
||||
- really show fields in tabs on DataForm default email template
|
||||
|
||||
7.5.1
|
||||
- fix: Extra head tags of unplaced assets included twice
|
||||
- improve rebuildLineage.pl behavior. protect against assets that are too deep and don't destroy search index.
|
||||
|
|
@ -328,6 +316,7 @@
|
|||
instead of a silly HTML area
|
||||
- fix: rating archived posts causes error
|
||||
|
||||
|
||||
7.4.21
|
||||
- fix: Mails sent from WebGUI now wrap at 78 characters, as the SMTP
|
||||
RFC asks, to fix problems with some SMTP servers when lines exceed
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ addingInStoreCredit($session);
|
|||
insertCommerceTaxTable($session);
|
||||
migrateOldTaxTable($session);
|
||||
insertCommerceShipDriverTable($session);
|
||||
removeOldCommerceCode($session);
|
||||
migrateToNewCart($session);
|
||||
createSkuAsset($session);
|
||||
createDonationAsset($session);
|
||||
|
|
@ -51,7 +52,6 @@ convertTransactionLog($session);
|
|||
upgradeEMS($session);
|
||||
migrateOldProduct($session);
|
||||
mergeProductsWithCommerce($session);
|
||||
updateUsersOfProductMacro($session);
|
||||
deleteOldProductTemplates($session);
|
||||
addCaptchaToDataForm( $session );
|
||||
addArchiveEnabledToCollaboration( $session );
|
||||
|
|
@ -61,6 +61,7 @@ addVendors($session);
|
|||
modifyThingyPossibleValues( $session );
|
||||
removeLegacyTable($session);
|
||||
migrateSubscriptions( $session );
|
||||
updateUsersOfCommerceMacros($session);
|
||||
addDBLinkAccessToSQLMacro($session);
|
||||
addAssetManager( $session );
|
||||
|
||||
|
|
@ -1010,6 +1011,8 @@ sub mergeProductsWithCommerce {
|
|||
#-------------------------------------------------
|
||||
sub removeOldCommerceCode {
|
||||
my $session = shift;
|
||||
print "\tRemoving old commerce code.\n" unless ($quiet);
|
||||
|
||||
my $config = $session->config;
|
||||
unlink '../../lib/WebGUI/Asset/Wobject/Product.pm';
|
||||
|
||||
|
|
@ -1054,68 +1057,48 @@ sub removeOldCommerceCode {
|
|||
delete $macros{$key} if $value eq 'SubscriptionItemPurchaseUrl';
|
||||
}
|
||||
$config->set('macros', \%macros);
|
||||
$config->deleteFromArray('WebGUI::Asset::Wobject::Product');
|
||||
$config->deleteFromArray('assets','WebGUI::Asset::Wobject::Product');
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------
|
||||
sub updateUsersOfProductMacro {
|
||||
sub updateUsersOfCommerceMacros {
|
||||
my $session = shift;
|
||||
print "\tUpdate assets which might be using the Product macro.\n" unless ($quiet);
|
||||
my $wobjSth = $session->db->read('select assetId, revisionDate, description from wobject order by assetId, revisionDate');
|
||||
my $fixed = $session->db->prepare('update wobject set description=? where assetId=? and revisionDate=?');
|
||||
while (my $wobject = $wobjSth->hashRef) {
|
||||
while ($wobject->{description} =~ m/\^Product\('? ([^),']+) /xg) {
|
||||
#printf "\t\tWorking on %s\n", $wobject->{assetId};
|
||||
my $identifier = $1; ##If this is a product sku, need to look up by productId;
|
||||
#printf "\t\t\tFound argument of %s\n", $identifier;
|
||||
my $assetId = $session->db->quickScalar('select distinct(assetId) from sku where sku=?',[$identifier]);
|
||||
#printf "\t\t\tsku assetId: %s\n", $assetId;
|
||||
my $productAssetId = $assetId ? $assetId : $identifier;
|
||||
$wobject->{description} =~ s/\^Product\( [^)]+ \)/^AssetProxy($productAssetId)/x;
|
||||
#printf "\t\t\tUpdated description to%s\n", $wobject->{description};
|
||||
$fixed->execute([ $wobject->{description}, $wobject->{assetId}, $wobject->{revisionDate}, ]);
|
||||
}
|
||||
}
|
||||
$wobjSth->finish;
|
||||
$fixed->finish;
|
||||
print "\tUpdate assets which might be using the Product and SubscriptionItem macros.\n" unless ($quiet);
|
||||
my $db = $session->db;
|
||||
my %tables = (
|
||||
wobject => 'description',
|
||||
snippet => 'snippet',
|
||||
template => 'template',
|
||||
Post => 'content',
|
||||
);
|
||||
|
||||
my $snipSth = $session->db->read('select assetId, revisionDate, snippet from snippet order by assetId, revisionDate');
|
||||
$fixed = $session->db->prepare('update snippet set snippet=? where assetId=? and revisionDate=?');
|
||||
while (my $snippet = $snipSth->hashRef) {
|
||||
while ($snippet->{snippet} =~ m/\^Product\('? ([^),']+) /xg) {
|
||||
#printf "\t\tWorking on %s\n", $snippet->{assetId};
|
||||
my $identifier = $1; ##If this is a product sku, need to look up by productId;
|
||||
#printf "\t\t\tFound argument of %s\n", $identifier;
|
||||
my $assetId = $session->db->quickScalar('select distinct(assetId) from sku where sku=?',[$identifier]);
|
||||
#printf "\t\t\tsku assetId: %s\n", $assetId;
|
||||
my $productAssetId = $assetId ? $assetId : $identifier;
|
||||
$snippet->{snippet} =~ s/\^Product\( [^)]+ \)/^AssetProxy($productAssetId)/x;
|
||||
#printf "\t\t\tUpdated snippet to%s\n", $snippet->{snippet};
|
||||
$fixed->execute([ $snippet->{snippet}, $snippet->{assetId}, $snippet->{revisionDate}, ]);
|
||||
foreach my $table (keys %tables) {
|
||||
print "\t\tUpdating ".$table."s.\n" unless ($quiet);
|
||||
my $sth = $db->read('select assetId, revisionDate, '.$tables{$table}.' from '.$table.' order by assetId, revisionDate');
|
||||
while (my ($id, $rev, $content) = $sth->array) {
|
||||
my $fixed = $content;
|
||||
# handle normal subscription item
|
||||
$fixed =~ s{\^SubscriptionItem\(([A-Za-z0-9_-]{22})\);}{^AssetProxy($1,assetId);}xg;
|
||||
# handle one with an optional template id attached
|
||||
$fixed =~ s{\^SubscriptionItem\(([A-Za-z0-9_-]{22}),[A-Za-z0-9_-]{22}\);}{^AssetProxy($1,assetId);}xg;
|
||||
# handle product macros
|
||||
while ($fixed =~ m/\^Product\('? ([^),']+) /xg) {
|
||||
#printf "\t\tWorking on %s\n", $id;
|
||||
my $identifier = $1; ##If this is a product sku, need to look up by productId;
|
||||
#printf "\t\t\tFound argument of %s\n", $identifier;
|
||||
my $assetId = $db->quickScalar('select distinct(assetId) from sku where sku=?',[$identifier]);
|
||||
#printf "\t\t\tsku assetId: %s\n", $id;
|
||||
my $productAssetId = $assetId ? $assetId : $identifier;
|
||||
$fixed =~ s/\^Product\( [^)]+ \)/^AssetProxy($productAssetId,assetId)/x;
|
||||
#printf "\t\t\tUpdated ".$tables{$table}." to%s\n", $fixed;
|
||||
}
|
||||
if ($fixed ne $content) {
|
||||
$db->write('update '.$table.' set '.$tables{$table}.'=? where assetId=? and revisionDate=?', [$fixed, $id, $rev]);
|
||||
}
|
||||
}
|
||||
}
|
||||
$snipSth->finish;
|
||||
$fixed->finish;
|
||||
|
||||
my $tempSth = $session->db->read('select assetId, revisionDate, template from template order by assetId, revisionDate');
|
||||
$fixed = $session->db->prepare('update template set template=? where assetId=? and revisionDate=?');
|
||||
while (my $template = $tempSth->hashRef) {
|
||||
while ($template->{template} =~ m/\^Product\('? ([^),']+) /xg) {
|
||||
#printf "\t\tWorking on %s\n", $template->{assetId};
|
||||
my $identifier = $1; ##If this is a product sku, need to look up by productId;
|
||||
#printf "\t\t\tFound argument of %s\n", $identifier;
|
||||
my $assetId = $session->db->quickScalar('select distinct(assetId) from sku where sku=?',[$identifier]);
|
||||
#printf "\t\t\tsku assetId: %s\n", $assetId;
|
||||
my $productAssetId = $assetId ? $assetId : $identifier;
|
||||
$template->{template} =~ s/\^Product\( [^)]+ \)/^AssetProxy($productAssetId)/x;
|
||||
#printf "\t\t\tUpdated template to%s\n", $template->{template};
|
||||
$fixed->execute([ $template->{template}, $template->{assetId}, $template->{revisionDate}, ]);
|
||||
}
|
||||
}
|
||||
$tempSth->finish;
|
||||
$fixed->finish;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue