diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 8ee2fdabd..3ff622f0e 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -1,4 +1,6 @@ 6.99.0 + - Added a revisions list to the edit screen of assets, so that you can + quickly edit/view an old revision. - Removed start/end dates from assets in favor of the workflow system. - Readded the purge option to the trash manager. - Added archive/unarchive options to CS threads. diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 29e07cb20..303aef3d6 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -478,6 +478,15 @@ Creates and returns a tabform to edit parameters of an Asset. sub getEditForm { my $self = shift; my $i18n = WebGUI::International->new($self->session, "Asset"); + my $ac = $self->getAdminConsole; + my $ago = $i18n->get("ago"); + my $rs = $self->session->db->read("select revisionDate from assetData where assetId=? order by revisionDate desc limit 5", [$self->getId]); + $ac->addSubmenuItem($self->getUrl("func=manageRevisions"),$i18n->get("revisions").":"); + while (my ($version) = $rs->array) { + my ($interval, $units) = $self->session->datetime->secondsToInterval(time() - $version); + $ac->addSubmenuItem($self->getUrl("func=edit;revision=".$version), $interval." ".$units." ".$ago); + } + $ac->addSubmenuItem(); my $uiLevelOverride = $self->get("className"); $uiLevelOverride =~ s/\:\:/_/g; my $tabform = WebGUI::TabForm->new($self->session,undef,undef,$self->getUrl(),$uiLevelOverride); diff --git a/lib/WebGUI/i18n/English/Asset.pm b/lib/WebGUI/i18n/English/Asset.pm index 52ad61250..ef2db82ac 100644 --- a/lib/WebGUI/i18n/English/Asset.pm +++ b/lib/WebGUI/i18n/English/Asset.pm @@ -1,6 +1,11 @@ package WebGUI::i18n::English::Asset; our $I18N = { + 'ago' => { + message => q|ago|, + lastUpdated => 0, + context => q|a suffix for a measurement of time, like "3 seconds ago"| + }, 'purge old asset revisions' => { message => q|Purge Old Asset Revisions|, lastUpdated => 0,