fix: CS posts get re-ordered when copy/paste
This commit is contained in:
parent
d0a97d0bff
commit
ac1a7dc3a3
4 changed files with 29 additions and 15 deletions
|
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
7.4.19
|
7.4.19
|
||||||
- fix: Import Package does nothing when re-importing trashed package
|
- fix: Import Package does nothing when re-importing trashed package
|
||||||
|
- fix: CS Posts get re-ordered when copy/paste
|
||||||
|
|
||||||
7.4.18
|
7.4.18
|
||||||
- fix: Graph draws black triangle covering half the image
|
- fix: Graph draws black triangle covering half the image
|
||||||
|
|
|
||||||
|
|
@ -76,14 +76,21 @@ Assets that normally autocommit their workflows (like CS Posts, and Wiki Pages)
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub duplicate {
|
sub duplicate {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $options = shift;
|
my $options = shift;
|
||||||
my $newAsset = $self->getParent->addChild($self->get, undef, undef, {skipAutoCommitWorkflows=>$options->{skipAutoCommitWorkflows}});
|
my $newAsset
|
||||||
my $sth = $self->session->db->read("select * from metaData_values where assetId = ?", [$self->getId]);
|
= $self->getParent->addChild( $self->get, undef, $self->get("revisionDate"), { skipAutoCommitWorkflows => $options->{skipAutoCommitWorkflows} } );
|
||||||
while (my $h = $sth->hashRef) {
|
|
||||||
$self->session->db->write("insert into metaData_values (fieldId, assetId, value) values (?, ?, ?)", [$h->{fieldId}, $newAsset->getId, $h->{value}]);
|
# Duplicate metadata fields
|
||||||
}
|
my $sth = $self->session->db->read(
|
||||||
return $newAsset;
|
"select * from metaData_values where assetId = ?",
|
||||||
|
[$self->getId]
|
||||||
|
);
|
||||||
|
while (my $h = $sth->hashRef) {
|
||||||
|
$self->session->db->write("insert into metaData_values (fieldId, assetId, value) values (?, ?, ?)", [$h->{fieldId}, $newAsset->getId, $h->{value}]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $newAsset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,11 +63,11 @@ If this is set to 1 assets that normally autocommit their workflows (like CS Pos
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
sub addChild {
|
sub addChild {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $properties = shift;
|
my $properties = shift;
|
||||||
my $id = shift || $self->session->id->generate();
|
my $id = shift || $self->session->id->generate();
|
||||||
my $now = shift || $self->session->datetime->time();
|
my $now = shift || $self->session->datetime->time();
|
||||||
my $options = shift;
|
my $options = shift;
|
||||||
|
|
||||||
# Check if it is possible to add a child to this asset. If not add it as a sibling of this asset.
|
# Check if it is possible to add a child to this asset. If not add it as a sibling of this asset.
|
||||||
if (length($self->get("lineage")) >= 252) {
|
if (length($self->get("lineage")) >= 252) {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ use WebGUI::Asset;
|
||||||
use WebGUI::VersionTag;
|
use WebGUI::VersionTag;
|
||||||
|
|
||||||
use Test::More; # increment this value for each test you create
|
use Test::More; # increment this value for each test you create
|
||||||
plan tests => 5;
|
plan tests => 6;
|
||||||
|
|
||||||
my $session = WebGUI::Test->session;
|
my $session = WebGUI::Test->session;
|
||||||
$session->user({userId => 3});
|
$session->user({userId => 3});
|
||||||
|
|
@ -38,7 +38,8 @@ my $snippet = $root->addChild({
|
||||||
snippet => 'A snippet of text',
|
snippet => 'A snippet of text',
|
||||||
});
|
});
|
||||||
|
|
||||||
my $snippetAssetId = $snippet->getId;
|
my $snippetAssetId = $snippet->getId;
|
||||||
|
my $snippetRevisionDate = $snippet->get("revisionDate");
|
||||||
|
|
||||||
$versionTag->commit;
|
$versionTag->commit;
|
||||||
|
|
||||||
|
|
@ -48,6 +49,11 @@ my $duplicatedSnippet = $snippet->duplicate;
|
||||||
|
|
||||||
is($duplicatedSnippet->get('title'), 'snippet', 'duplicated snippet has correct title');
|
is($duplicatedSnippet->get('title'), 'snippet', 'duplicated snippet has correct title');
|
||||||
isnt($duplicatedSnippet->getId, $snippetAssetId, 'duplicated snippet does not have same assetId as original');
|
isnt($duplicatedSnippet->getId, $snippetAssetId, 'duplicated snippet does not have same assetId as original');
|
||||||
|
is(
|
||||||
|
$duplicatedSnippet->get("revisionDate"),
|
||||||
|
$snippetRevisionDate,
|
||||||
|
'duplicated snippet has the same revision date',
|
||||||
|
);
|
||||||
is($snippet->getId, $snippetAssetId, 'original snippet has correct id');
|
is($snippet->getId, $snippetAssetId, 'original snippet has correct id');
|
||||||
|
|
||||||
is($snippet->getParent->getId, $root->getId, 'original snippet is a child of root');
|
is($snippet->getParent->getId, $root->getId, 'original snippet is a child of root');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue