diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index a5a81765c..0e1c1f301 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -9,6 +9,7 @@ - EMS Saved Address (#8864) - rfe: Inclusion of UsersOnline macro into the core (#766) - rfe: Search - Paginate results (#713) + - rfe: Leave Version Tag - WebGUI::Crud can now automatically resolve differences between its definition and the table schema. - Fixed a limit bug in the asset discovery service. diff --git a/lib/WebGUI/Operation.pm b/lib/WebGUI/Operation.pm index 8589e6999..12ab28ab5 100644 --- a/lib/WebGUI/Operation.pm +++ b/lib/WebGUI/Operation.pm @@ -213,6 +213,7 @@ sub getOperations { 'commitVersionTagConfirm' => 'VersionTag', 'editVersionTag' => 'VersionTag', 'editVersionTagSave' => 'VersionTag', + 'leaveVersionTag' => 'VersionTag', 'manageCommittedVersions' => 'VersionTag', 'managePendingVersions' => 'VersionTag', 'manageRevisionsInTag' => 'VersionTag', diff --git a/lib/WebGUI/Operation/VersionTag.pm b/lib/WebGUI/Operation/VersionTag.pm index 06e41bfb0..b89f9686d 100644 --- a/lib/WebGUI/Operation/VersionTag.pm +++ b/lib/WebGUI/Operation/VersionTag.pm @@ -450,6 +450,13 @@ sub www_commitVersionTagConfirm { return www_manageVersions($session); } +#------------------------------------------------------------------- +sub www_leaveVersionTag { + my $session = shift; + WebGUI::VersionTag->getWorking($session)->clearWorking; + return www_manageVersions($session); +} + #------------------------------------------------------------------- =head2 www_manageCommittedVersions ( session ) @@ -543,37 +550,39 @@ sub www_manageVersions { return $session->privilege->insufficient() unless canView($session); 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=managePendingVersions'), $i18n->get("manage pending versions")) if canView($session); - $ac->addSubmenuItem($session->url->page('op=manageCommittedVersions'), $i18n->get("manage committed versions")) if canView($session); + my ($icon, $url, $datetime, $user) = $session->quick(qw(icon url datetime user)); + $ac->addSubmenuItem($url->page('op=editVersionTag'), $i18n->get("add a version tag")); + $ac->addSubmenuItem($url->page('op=managePendingVersions'), $i18n->get("manage pending versions")) if canView($session); + $ac->addSubmenuItem($url->page('op=manageCommittedVersions'), $i18n->get("manage committed versions")) if canView($session); my ($tag,$workingTagId) = $session->db->quickArray("select name,tagId from assetVersionTag where tagId=?",[$session->scratch->get("versionTag")]); $tag ||= "None"; my $rollback = $i18n->get("rollback"); my $commit = $i18n->get("commit"); my $setTag = $i18n->get("set tag"); + my $leave = ($workingTagId eq "") ? "" : '['.$i18n->get("leave this 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.'.
| '.$i18n->get("version tag name").' | '.$i18n->get("created on").' | '.$i18n->get("created by").' | ||||
|---|---|---|---|---|---|---|
| '; if (canView($session)) { - $output .= $session->icon->delete("op=rollbackVersionTag;tagId=".$tag->getId,undef,$rollbackPrompt); + $output .= $icon->delete("op=rollbackVersionTag;tagId=".$tag->getId,undef,$rollbackPrompt); } - $output .= $session->icon->edit("op=editVersionTag;tagId=".$tag->getId) + $output .= $icon->edit("op=editVersionTag;tagId=".$tag->getId) .' | -getId).'">'.$tag->get("name").' | -'.$session->datetime->epochToHuman($tag->get("creationDate")).' | +getId).'">'.$tag->get("name").' | +'.$datetime->epochToHuman($tag->get("creationDate")).' | '.$u->username.' | '; unless ($workingTagId eq $tag->getId) { - $output .= 'getId).'">'.$setTag.' | '; + $output .= 'getId).'">'.$setTag.' | '; } $output .=' - getId).'" onclick="return confirm(\''.$commitPrompt.'\');">'.$commit.' |