From aee65b8391d80705ffd80640e323c37c35a0e6db Mon Sep 17 00:00:00 2001 From: JT Smith Date: Thu, 21 Jul 2005 20:55:35 +0000 Subject: [PATCH] added revision viewing --- lib/WebGUI/Asset.pm | 29 +++++++++++++++++++++++++++++ lib/WebGUI/i18n/English/Asset.pm | 6 ++++++ 2 files changed, 35 insertions(+) diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 04ada563a..a773c8214 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -1717,6 +1717,7 @@ sub getToolbar { contextMenu.addLink("'.$self->getUrl("func=promote").'","'.$i18n->get("promote").'"); contextMenu.addLink("'.$self->getUrl("func=demote").'","'.$i18n->get("demote").'"); contextMenu.addLink("'.$self->getUrl("func=manageAssets").'","'.$i18n->get("manage").'"); + contextMenu.addLink("'.$self->getUrl("func=manageRevisions").'","'.$i18n->get("revisions").'"); contextMenu.addLink("'.$self->getUrl.'","'.$i18n->get("view").'"); contextMenu.print(); '.$toolbar; @@ -3612,6 +3613,34 @@ sub www_manageMetaData { #------------------------------------------------------------------- +=head2 www_manageRevisions () + +Shows a list of the revisions for this asset. + +=cut + +sub www_manageRevisions { + my $self = shift; + my $ac = WebGUI::AdminConsole->new("versions"); + return WebGUI::Privilege::insufficient() unless (WebGUI::Grouping::isInGroup(3)); + my $i18n = WebGUI::International->new("Asset"); + #$ac->addSubmenuItem($self->getUrl('func=addVersionTag'), $i18n->get("add a version tag")); + #$ac->addSubmenuItem($self->getUrl('func=manageVersions'), $i18n->get("manage versions")); + my $output = ' + '; + my $sth = WebGUI::SQL->read("select assetData.revisionDate, users.username, assetVersionTag.name from assetData + left join assetVersionTag on assetData.tagId=assetVersionTag.tagId left join users on assetData.revisedBy=users.userId + where assetData.assetId=".quote($self->getId)); + while (my ($date,$by,$tag) = $sth->array) { + $output .= ''; + } + $sth->finish; + $output .= '
Revision DateRevised ByTag Name
'.WebGUI::DateTime::epochToHuman($date).''.$by.''.$tag.'[rollback]
'; + return $ac->render($output,$i18n->get("committed versions")); +} + +#------------------------------------------------------------------- + =head2 www_manageTrash ( ) Returns an AdminConsole to deal with assets in the Trash. If isInGroup(4) is False, renders an insufficient privilege page. diff --git a/lib/WebGUI/i18n/English/Asset.pm b/lib/WebGUI/i18n/English/Asset.pm index 2c817af2b..5a7657116 100644 --- a/lib/WebGUI/i18n/English/Asset.pm +++ b/lib/WebGUI/i18n/English/Asset.pm @@ -1,6 +1,12 @@ package WebGUI::i18n::English::Asset; our $I18N = { + 'revisions' => { + message => q|Revisions|, + lastUpdated => 0, + context => q|Context menu item.| + }, + 'manage versions' => { message => q|Manage versions.|, lastUpdated => 0,