diff --git a/lib/WebGUI/Operation.pm b/lib/WebGUI/Operation.pm index ea793bca1..2795fd6f6 100644 --- a/lib/WebGUI/Operation.pm +++ b/lib/WebGUI/Operation.pm @@ -261,6 +261,7 @@ sub getOperations { 'editVersionTag' => 'WebGUI::Operation::VersionTag', 'editVersionTagSave' => 'WebGUI::Operation::VersionTag', 'manageCommittedVersions' => 'WebGUI::Operation::VersionTag', + 'managePendingVersions' => 'WebGUI::Operation::VersionTag', 'manageRevisionsInTag' => 'WebGUI::Operation::VersionTag', 'manageVersions' => 'WebGUI::Operation::VersionTag', 'rollbackVersionTag' => 'WebGUI::Operation::VersionTag', diff --git a/lib/WebGUI/Operation/VersionTag.pm b/lib/WebGUI/Operation/VersionTag.pm index 506ab834c..52e421b95 100644 --- a/lib/WebGUI/Operation/VersionTag.pm +++ b/lib/WebGUI/Operation/VersionTag.pm @@ -252,7 +252,7 @@ sub www_commitVersionTagConfirm { =head2 www_manageCommittedVersions ( session ) -Shows a list of the currently available asset version tags. +Shows a list of the committed asset version tags. =head3 session @@ -269,7 +269,8 @@ sub www_manageCommittedVersions { my $rollbackPrompt = $i18n->get('rollback version tag confirm'); $ac->addSubmenuItem($session->url->page('op=editVersionTag'), $i18n->get("add a version tag")); $ac->addSubmenuItem($session->url->page('op=manageVersions'), $i18n->get("manage versions")); - my $output = ' + $ac->addSubmenuItem($session->url->page('op=managePendingVersions'), $i18n->get("manage pending versions")) if ($session->user->isInGroup(3)); + my $output = '
'; my $sth = $session->db->read("select tagId,name,commitDate,committedBy from assetVersionTag where isCommitted=1"); while (my ($id,$name,$date,$by) = $sth->array) { @@ -285,6 +286,39 @@ sub www_manageCommittedVersions { return $ac->render($output,$i18n->get("committed versions")); } +#------------------------------------------------------------------- + +=head2 www_managePendingVersions ( session ) + +Shows a list of the pending asset version tags. + +=head3 session + +A reference to the current session. + +=cut + +sub www_managePendingVersions { + my $session = shift; + return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); + my $ac = WebGUI::AdminConsole->new($session,"versions"); + my $i18n = WebGUI::International->new($session,"VersionTag"); + $ac->addSubmenuItem($session->url->page('op=editVersionTag'), $i18n->get("add a version tag")); + $ac->addSubmenuItem($session->url->page('op=manageVersions'), $i18n->get("manage versions")); + $ac->addSubmenuItem($session->url->page('op=manageCommittedVersions'), $i18n->get("manage committed versions")) if ($session->user->isInGroup(3)); + my $output = '
'.$i18n->get("version tag name").''.$i18n->get("committed on").''.$i18n->get("committed by").'
+ '; + my $sth = $session->db->read("select tagId,name,commitDate,committedBy from assetVersionTag where isCommitted=0 and isLocked=1"); + while (my ($id,$name) = $sth->array) { + $output .= ' + + '; + } + $sth->finish; + $output .= '
'.$i18n->get("version tag name").'
'.$name.'
'; + return $ac->render($output,$i18n->get("pending versions")); +} + #------------------------------------------------------------------- @@ -305,6 +339,7 @@ sub www_manageVersions { my $i18n = WebGUI::International->new($session,"VersionTag"); $ac->setHelp("versions manage"); $ac->addSubmenuItem($session->url->page('op=editVersionTag'), $i18n->get("add a version tag")); + $ac->addSubmenuItem($session->url->page('op=managePendingVersions'), $i18n->get("manage pending versions")) if ($session->user->isInGroup(3)); $ac->addSubmenuItem($session->url->page('op=manageCommittedVersions'), $i18n->get("manage committed versions")) if ($session->user->isInGroup(3)); my ($tag,$workingTagId) = $session->db->quickArray("select name,tagId from assetVersionTag where tagId=?",[$session->scratch->get("versionTag")]); $tag ||= "None"; @@ -313,7 +348,7 @@ sub www_manageVersions { my $setTag = $i18n->get("set tag"); my $rollbackPrompt = $i18n->get("rollback version tag confirm"); my $commitPrompt = $i18n->get("commit version tag confirm"); - my $output = '

'.$i18n->get("current tag is called").': '.$tag.'.

+ my $output = '

'.$i18n->get("current tag is called").': '.$tag.'.

'; my $sth = $session->db->read("select tagId,name,creationDate,createdBy,groupToUse from assetVersionTag where isCommitted=0 and isLocked=0"); while (my ($id,$name,$date,$by,$group) = $sth->array) { @@ -400,7 +435,7 @@ sub www_manageRevisionsInTag { $comments =~ s/\n/
/g; $output .= $comments; } - $output .= '
'.$i18n->get("version tag name").''.$i18n->get("created on").''.$i18n->get("created by").'
+ $output .= '
'; my $p = WebGUI::Paginator->new($session,$session->url->page("op=manageRevisionsInTag;tagId=".$tag->getId)); $p->setDataByQuery("select assetData.revisionDate, users.username, asset.assetId, asset.className from assetData diff --git a/lib/WebGUI/i18n/English/VersionTag.pm b/lib/WebGUI/i18n/English/VersionTag.pm index 9f2c0e5f9..ae2851459 100644 --- a/lib/WebGUI/i18n/English/VersionTag.pm +++ b/lib/WebGUI/i18n/English/VersionTag.pm @@ -246,6 +246,12 @@ our $I18N = { context => q|Menu item in version tag manager.| }, + 'manage pending versions' => { + message => q|Manage pending versions.|, + lastUpdated => 0, + context => q|Menu item in version tag manager.| + }, + 'manage committed versions' => { message => q|Manage committed versions.|, lastUpdated => 0, @@ -281,6 +287,12 @@ our $I18N = { context => q|Admin console label.| }, + 'pending versions' => { + message => q|Pending Versions|, + lastUpdated => 0, + context => q|Admin console label.| + }, + 'add a version tag' => { message => q|Add a version tag.|, lastUpdated => 0,
'.$i18n->get(99,"Asset").''.$i18n->get("type","Asset").''.$i18n->get("revision date","Asset").''.$i18n->get("revised by","Asset").'