From c87cca60cfe149bf4ffe7ed1746189b936e87bac Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Mon, 28 Jan 2008 05:14:14 +0000 Subject: Bug 325487: Admin pages should require less "clicks" (remove useless confirmation pages) - Patch by Frédéric Buclin r=justdave r=mkanat a=LpSolit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- editclassifications.cgi | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'editclassifications.cgi') diff --git a/editclassifications.cgi b/editclassifications.cgi index 44a627054..8ef9afe1a 100755 --- a/editclassifications.cgi +++ b/editclassifications.cgi @@ -17,8 +17,8 @@ # # Contributor(s): Albert Ting # Max Kanat-Alexander -# -# Direct any questions on this source code to mozilla.org +# Frédéric Buclin + use strict; use lib qw(. lib); @@ -39,6 +39,9 @@ sub LoadTemplate { my $action = shift; my $cgi = Bugzilla->cgi; my $template = Bugzilla->template; + + $vars->{'classifications'} = [Bugzilla::Classification::get_all_classifications()] + if ($action eq 'select'); # There is currently only one section about classifications, # so all pages point to it. Let's define it here. $vars->{'doc_section'} = 'classifications.html'; @@ -77,14 +80,7 @@ my $token = $cgi->param('token'); # # action='' -> Show nice list of classifications # - -unless ($action) { - my @classifications = - Bugzilla::Classification::get_all_classifications(); - - $vars->{'classifications'} = \@classifications; - LoadTemplate("select"); -} +LoadTemplate('select') unless $action; # # action='add' -> present form for parameters for new classification @@ -129,10 +125,13 @@ if ($action eq 'new') { $dbh->do("INSERT INTO classifications (name, description, sortkey) VALUES (?, ?, ?)", undef, ($class_name, $description, $sortkey)); - $vars->{'classification'} = $class_name; - delete_token($token); - LoadTemplate($action); + + $vars->{'message'} = 'classification_created'; + $vars->{'classification'} = new Bugzilla::Classification({name => $class_name}); + $vars->{'classifications'} = [Bugzilla::Classification::get_all_classifications]; + $vars->{'token'} = issue_session_token('reclassify_classifications'); + LoadTemplate('reclassify'); } # @@ -177,20 +176,20 @@ if ($action eq 'delete') { # lock the tables before we start to change everything: $dbh->bz_start_transaction(); - # delete - $dbh->do("DELETE FROM classifications WHERE id = ?", undef, - $classification->id); - # update products just in case $dbh->do("UPDATE products SET classification_id = 1 WHERE classification_id = ?", undef, $classification->id); - $dbh->bz_commit_transaction(); + # delete + $dbh->do("DELETE FROM classifications WHERE id = ?", undef, + $classification->id); - $vars->{'classification'} = $classification; + $dbh->bz_commit_transaction(); + $vars->{'message'} = 'classification_deleted'; + $vars->{'classification'} = $class_name; delete_token($token); - LoadTemplate($action); + LoadTemplate('select'); } # @@ -267,8 +266,10 @@ if ($action eq 'update') { $dbh->bz_commit_transaction(); + $vars->{'message'} = 'classification_updated'; + $vars->{'classification'} = $class_name; delete_token($token); - LoadTemplate($action); + LoadTemplate('select'); } # -- cgit v1.2.3-24-g4f1b