diff --git a/lib/WebGUI/VersionTag.pm b/lib/WebGUI/VersionTag.pm index 669ab4a99..e17e4f6ac 100644 --- a/lib/WebGUI/VersionTag.pm +++ b/lib/WebGUI/VersionTag.pm @@ -599,26 +599,26 @@ A subroutine for reporting the status of the rollback. Typically used by WebGUI =cut sub rollback { - my $self = shift; + my $self = shift; my $session = $self->session; my $options = shift || {}; my $outputSub = exists $options->{outputSub} ? $options->{outputSub} : sub {}; - my $tagId = $self->getId; - if ($tagId eq "pbversion0000000000001") { - $session->errorHandler->warn("You cannot rollback a tag that is required for the system to operate."); - return 0; - } - my $sth = $session->db->read("select asset.className, asset.assetId, assetData.revisionDate from assetData left join asset on asset.assetId=assetData.assetId where assetData.tagId = ? order by asset.lineage desc, assetData.revisionDate desc", [ $tagId ]); + my $tagId = $self->getId; + if ($tagId eq "pbversion0000000000001") { + $session->errorHandler->warn("You cannot rollback a tag that is required for the system to operate."); + return 0; + } + my $sth = $session->db->read("select asset.assetId, assetData.revisionDate from assetData left join asset using(assetId) where assetData.tagId = ? order by asset.lineage desc, assetData.revisionDate desc", [ $tagId ]); my $i18n = WebGUI::International->new($session, 'VersionTag'); - REVISION: while (my ($class, $id, $revisionDate) = $sth->array) { - my $revision = WebGUI::Asset->new($session,$id, $class, $revisionDate); + REVISION: while (my ($id, $revisionDate) = $sth->array) { + my $revision = WebGUI::Asset->newById($session, $id, $revisionDate); next REVISION unless $revision; $outputSub->(sprintf $i18n->get('Rolling back %s'), $revision->getTitle); - $revision->purgeRevision; - } - $session->db->write("delete from assetVersionTag where tagId=?", [$tagId]); - $self->clearWorking; - return 1; + $revision->purgeRevision; + } + $session->db->write("delete from assetVersionTag where tagId=?", [$tagId]); + $self->clearWorking; + return 1; } #-------------------------------------------------------------------