diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 1af2195d7..fc1a5db54 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,4 +1,5 @@ 7.5.13 + - fixed: storage locations for some assets in packages not imported correctly - fixed: DataForm doesn't send emails correctly - fixed: CS posts don't have correct URLs generated - fixed: Unable to template user profile viewing and editing screens. diff --git a/lib/WebGUI/Asset/File.pm b/lib/WebGUI/Asset/File.pm index cdc473db2..faa21c226 100644 --- a/lib/WebGUI/Asset/File.pm +++ b/lib/WebGUI/Asset/File.pm @@ -58,7 +58,7 @@ sub addRevision { my $self = shift; my $newSelf = $self->SUPER::addRevision(@_); - if ($self->getRevisionCount > 1 && $self->get("storageId")) { + if ($newSelf->get("storageId") && $newSelf->get("storageId") eq $self->get('storageId')) { my $newStorage = $self->getStorageClass->get($self->session,$self->get("storageId"))->copy; $newSelf->update({storageId => $newStorage->getId}); } diff --git a/lib/WebGUI/Asset/Post.pm b/lib/WebGUI/Asset/Post.pm index 02713ae81..acf207aa4 100644 --- a/lib/WebGUI/Asset/Post.pm +++ b/lib/WebGUI/Asset/Post.pm @@ -64,7 +64,7 @@ Override the default method in order to deal with attachments. sub addRevision { my $self = shift; my $newSelf = $self->SUPER::addRevision(@_); - if ($newSelf->getRevisionCount > 1 && $self->get("storageId")) { + if ($newSelf->get("storageId") && $newSelf->get("storageId") eq $self->get('storageId')) { my $newStorage = WebGUI::Storage->get($self->session,$self->get("storageId"))->copy; $newSelf->update({storageId=>$newStorage->getId}); } diff --git a/lib/WebGUI/Asset/Sku/Product.pm b/lib/WebGUI/Asset/Sku/Product.pm index 7a32b1219..77512d6f3 100644 --- a/lib/WebGUI/Asset/Sku/Product.pm +++ b/lib/WebGUI/Asset/Sku/Product.pm @@ -47,7 +47,7 @@ sub addRevision { my $newSelf = $self->SUPER::addRevision(@_); if ($newSelf->getRevisionCount > 1) { foreach my $field (qw(image1 image2 image3 brochure manual warranty)) { - if ($self->get($field)) { + if ($self->get($field) && $self->get($field) ne $newSelf->get($field)) { my $newStorage = WebGUI::Storage->get($self->session,$self->get($field))->copy; $newSelf->update({$field=>$newStorage->getId}); } diff --git a/lib/WebGUI/Asset/Wobject/Article.pm b/lib/WebGUI/Asset/Wobject/Article.pm index 81a641b80..f66d564d9 100644 --- a/lib/WebGUI/Asset/Wobject/Article.pm +++ b/lib/WebGUI/Asset/Wobject/Article.pm @@ -71,12 +71,10 @@ Override the default method in order to deal with attachments. sub addRevision { my $self = shift; - my $oldStorage = $self->get('storageId'); my $newSelf = $self->SUPER::addRevision(@_); - my $newStorageId = $newSelf->get('storageId'); - if ($newStorageId && $newStorageId eq $self->get('storageId')) { - my $newStorage = WebGUI::Storage->get($self->session, $newStorageId)->copy; - $newSelf->update({storageId=>$newStorage->getId}); + if ($newSelf->get("storageId") && $newSelf->get("storageId") eq $self->get('storageId')) { + my $newStorage = WebGUI::Storage->get($self->session,$self->get("storageId"))->copy; + $newSelf->update({storageId => $newStorage->getId}); } return $newSelf; }