Add progress bars for rollback, trash and their www methods.

This commit is contained in:
Colin Kuskie 2009-06-24 22:30:41 +00:00
parent ef4afdb9c8
commit 7b5cf7518c
6 changed files with 141 additions and 25 deletions

View file

@ -850,14 +850,16 @@ sub www_rollbackVersionTag {
return $session->privilege->adminOnly() unless canView($session);
my $tagId = $session->form->process("tagId");
return $session->privilege->vitalComponent() if ($tagId eq "pbversion0000000000001");
my $pb = WebGUI::ProgressBar->new($session);
my $i18n = WebGUI::International->new($session, 'VersionTag');
$pb->start($i18n->get('rollback version tag'), $session->url->extras('adminConsole/versionTags.gif'));
if ($tagId) {
my $tag = WebGUI::VersionTag->new($session, $tagId);
$tag->rollback if defined $tag;
$tag->rollback({ outputSub => sub { $pb->update(@_) }, }) if defined $tag;
}
if ($session->form->process("proceed") eq "manageCommittedVersions") {
return www_manageCommittedVersions($session);
}
return www_manageVersions($session);
my $method = $session->form->process("proceed");
$method = $method eq "manageCommittedVersions" ? $method : 'manageVersions';
$pb->finish(WebGUI::Asset->getDefault($session)->getUrl('op='.$method));
}