From 2223ce8749c960fb741a77cffdabbcc2d1392f1c Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Tue, 13 Mar 2007 03:11:17 +0000 Subject: [PATCH] implemented RFEs for the manage committed versions screen for pagination and sorting the versions by date committed --- docs/changelog/7.x.x.txt | 2 ++ lib/WebGUI/Operation/VersionTag.pm | 50 ++++++++++++++++-------------- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 1193b9838..0784a584e 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -42,6 +42,8 @@ - Wiki page revisions were not in order (perlDreamer Consulting, LLC) - Spectre misses Sundays (thanks to Todor Kouyoumdjiev, ECoCoMS Ltd.) - fix: RollbackVersion (Thanks to Erik Svanberg for the patch) + - rfe: Paginate "manageCommittedVersions" (perlDreamer Consulting, LLC) + - rfe: manageCommittedVersions in reverse chronological order (perlDreamer Consulting, LLC) 7.3.11 - Added an option for enabling coverage tests to testCodebase.pl. diff --git a/lib/WebGUI/Operation/VersionTag.pm b/lib/WebGUI/Operation/VersionTag.pm index d5c211b17..e7a31086a 100644 --- a/lib/WebGUI/Operation/VersionTag.pm +++ b/lib/WebGUI/Operation/VersionTag.pm @@ -20,6 +20,7 @@ use WebGUI::AdminConsole; use WebGUI::International; use WebGUI::VersionTag; use WebGUI::HTMLForm; +use WebGUI::Paginator; =head1 NAME @@ -269,30 +270,33 @@ A reference to the current session. =cut sub www_manageCommittedVersions { - 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"); - my $rollback = $i18n->get('rollback'); - 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")); - $ac->addSubmenuItem($session->url->page('op=managePendingVersions'), $i18n->get("manage pending versions")) if ($session->user->isInGroup(3)); - my $output = ' + 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"); + my $rollback = $i18n->get('rollback'); + 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")); + $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) { - my $u = WebGUI::User->new($session,$by); - $output .= ' - - - - '; - } - $sth->finish; - $output .= '
'.$i18n->get("version tag name").''.$i18n->get("committed on").''.$i18n->get("committed by").'
'.$name.''.$session->datetime->epochToHuman($date).''.$u->username.''.$rollback.'
'; - $ac->setHelp('manage committed versions', 'VersionTag'); - return $ac->render($output,$i18n->get("committed versions")); + my $paginator = WebGUI::Paginator->new($session, $session->url->page("op=manageCommittedVersions")); + $paginator->setDataByQuery('select tagId,name,commitDate,committedBy from assetVersionTag where isCommitted=1 ORDER BY commitDate DESC'); + my @versionTagFields = qw/tagId name commitDate committedBy /; + foreach my $versionData (@{ $paginator->getPageData }) { + my ($id,$name,$date,$by) = @{ $versionData }{@versionTagFields}; + my $u = WebGUI::User->new($session,$by); + $output .= ' + '.$name.' + '.$session->datetime->epochToHuman($date).' + '.$u->username.' + '.$rollback.''; + } + $output .= ''; + $output .= $paginator->getBarTraditional(); + $ac->setHelp('manage committed versions', 'VersionTag'); + return $ac->render($output,$i18n->get("committed versions")); } #-------------------------------------------------------------------