Versioned Metadata
This commit is contained in:
parent
add255388a
commit
ae3e49d622
14 changed files with 546 additions and 54 deletions
|
|
@ -150,6 +150,23 @@ sub addRevision {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
# Copy metadata values
|
||||
my $db = $self->session->db;
|
||||
my $id = $self->getId;
|
||||
my $then = $self->get('revisionDate');
|
||||
my $mdget = q{
|
||||
select fieldId, value from metaData_values
|
||||
where assetId = ? and revisionDate = ?
|
||||
};
|
||||
my $mdset = q{
|
||||
insert into metaData_values (fieldId, value, assetId, revisionDate)
|
||||
values (?, ?, ?, ?)
|
||||
};
|
||||
for my $row (@{ $db->buildArrayRefOfHashRefs($mdget, [ $id, $then ]) }) {
|
||||
$db->write($mdset, [ $row->{fieldId}, $row->{value}, $id, $now ]);
|
||||
}
|
||||
|
||||
$self->session->db->commit;
|
||||
|
||||
# merge the defaults, current values, and the user set properties
|
||||
|
|
@ -377,6 +394,10 @@ sub purgeRevision {
|
|||
if ($count < 1) {
|
||||
$self->session->db->write("update asset set isLockedBy=null where assetId=?",[$self->getId]);
|
||||
}
|
||||
$self->session->db->write(
|
||||
'delete from metaData_values where assetId=? and revisionDate=?',
|
||||
[ $self->getId, $self->get('revisionDate') ]
|
||||
);
|
||||
$self->session->db->commit;
|
||||
$self->purgeCache;
|
||||
$self->updateHistory("purged revision ".$self->get("revisionDate"));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue