From bcccebe2c5955d122ce193bf3c2e4a9335e98788 Mon Sep 17 00:00:00 2001 From: "jocuri%softhome.net" <> Date: Wed, 10 Dec 2003 07:12:32 +0000 Subject: Bug 190223: Complete templatization for editkeywords.cgi; reviewed by kiko, jth, gerv; r/a=justdave. --- editkeywords.cgi | 182 +++++---------------- .../admin/keywords/confirm-delete.html.tmpl | 3 +- .../en/default/admin/keywords/create.html.tmpl | 3 +- .../en/default/admin/keywords/created.html.tmpl | 36 ++++ template/en/default/admin/keywords/edit.html.tmpl | 68 ++++++++ template/en/default/admin/keywords/list.html.tmpl | 95 +++++++++++ .../default/admin/keywords/rebuild-cache.html.tmpl | 7 +- template/en/default/filterexceptions.pl | 10 ++ template/en/default/global/code-error.html.tmpl | 4 + template/en/default/global/user-error.html.tmpl | 21 +++ 10 files changed, 281 insertions(+), 148 deletions(-) create mode 100755 template/en/default/admin/keywords/created.html.tmpl create mode 100755 template/en/default/admin/keywords/edit.html.tmpl create mode 100755 template/en/default/admin/keywords/list.html.tmpl diff --git a/editkeywords.cgi b/editkeywords.cgi index c51580272..cf20d7a07 100755 --- a/editkeywords.cgi +++ b/editkeywords.cgi @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl -wT # -*- Mode: perl; indent-tabs-mode: nil -*- # # The contents of this file are subject to the Mozilla Public @@ -29,83 +29,19 @@ use Bugzilla::Config qw(:DEFAULT $datadir); use vars qw($template $vars); -my $localtrailer = "edit more keywords"; - - -# -# Displays a text like "a.", "a or b.", "a, b or c.", "a, b, c or d." -# -# XXX This implementation of PutTrailer outputs a default link back to -# the query page instead of the index, which is inconsistent with other -# PutTrailer() implementations. -# - -sub PutTrailer (@) -{ - my (@links) = ("Back to the query page", @_); - - my $count = $#links; - my $num = 0; - print "
\n"; - foreach (@links) { - print $_; - if ($num == $count) { - print ".\n"; - } - elsif ($num == $count-1) { - print " or "; - } - else { - print ", "; - } - $num++; - } - PutFooter(); -} - - -# -# Displays the form to edit a keyword's parameters -# - -sub EmitFormElements ($$$) -{ - my ($id, $name, $description) = @_; - - $name = value_quote($name); - $description = value_quote($description); - - print qq{}; - - print "
Edit keyword ... | -Description | -Bugs | -Action | -
---|
\n"; - PutTrailer("edit more keywords", - "add another keyword"); + print Bugzilla->cgi->header(); + + $vars->{'name'} = $name; + $template->process("admin/keywords/created.html.tmpl", + $vars) + || ThrowTemplateError($template->error()); + exit; } @@ -259,8 +173,6 @@ if ($action eq 'new') { # if ($action eq 'edit') { - PutHeader("Edit keyword"); - my $id = trim($::FORM{id} || 0); # get data of keyword SendSQL("SELECT name,description @@ -268,35 +180,28 @@ if ($action eq 'edit') { WHERE id=$id"); my ($name, $description) = FetchSQLData(); if (!$name) { - print "Something screwy is going on. Please try again.\n"; - PutTrailer($localtrailer); + $vars->{'id'} = $id; + ThrowCodeError("invalid_keyword_id", $vars); exit; } - print "
"; + $template->process("admin/keywords/edit.html.tmpl", + $vars) + || ThrowTemplateError($template->error()); - my $x = $localtrailer; - $x =~ s/more/other/; - PutTrailer($x); exit; } @@ -317,11 +222,8 @@ if ($action eq 'update') { my $tmp = FetchOneColumn(); if ($tmp && $tmp != $id) { - PutHeader("Update keyword"); - - print "The keyword '$name' already exists. Please press\n"; - print "Back and try again.\n"; - PutTrailer($localtrailer); + $vars->{'name'} = $name; + ThrowUserError("keyword_already_exists", $vars); exit; } diff --git a/template/en/default/admin/keywords/confirm-delete.html.tmpl b/template/en/default/admin/keywords/confirm-delete.html.tmpl index 5ff826b86..76e2cc31f 100755 --- a/template/en/default/admin/keywords/confirm-delete.html.tmpl +++ b/template/en/default/admin/keywords/confirm-delete.html.tmpl @@ -49,7 +49,6 @@ -Go back to the query page -or edit other keywords.
+ [% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/keywords/create.html.tmpl b/template/en/default/admin/keywords/create.html.tmpl index 49698a1db..6811b9997 100755 --- a/template/en/default/admin/keywords/create.html.tmpl +++ b/template/en/default/admin/keywords/create.html.tmpl @@ -49,7 +49,6 @@ -Go back to the query page -or edit other keywords.
+ [% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/keywords/created.html.tmpl b/template/en/default/admin/keywords/created.html.tmpl new file mode 100755 index 000000000..ebb6a1f9f --- /dev/null +++ b/template/en/default/admin/keywords/created.html.tmpl @@ -0,0 +1,36 @@ + +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Terry WeissmanThe keyword [% name FILTER html %] has been added.
+ +Edit existing keywords or +add another keyword.
+ +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/keywords/edit.html.tmpl b/template/en/default/admin/keywords/edit.html.tmpl new file mode 100755 index 000000000..2f84e147a --- /dev/null +++ b/template/en/default/admin/keywords/edit.html.tmpl @@ -0,0 +1,68 @@ + +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Terry WeissmanEdit keyword ... | +Description | +[% terms.Bugs %] | +Action | +
---|
Go back to the query page or -edit more keywords.
+ [% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl index c75f86bb3..05b52c5b8 100644 --- a/template/en/default/filterexceptions.pl +++ b/template/en/default/filterexceptions.pl @@ -492,6 +492,16 @@ 'const.CONTROLMAPMANDATORY', ], +'admin/keywords/list.html.tmpl' => [ + 'keyword.id', + 'keyword.bug_count', +], + +'admin/keywords/edit.html.tmpl' => [ + 'keyword_id', + 'bug_count', +], + 'admin/keywords/confirm-delete.html.tmpl' => [ 'keyword_id', 'bug_count', diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl index 82be89b1d..6f0881c20 100644 --- a/template/en/default/global/code-error.html.tmpl +++ b/template/en/default/global/code-error.html.tmpl @@ -171,6 +171,10 @@ [% ELSIF error == "invalid_field_name" %] Can't use [% field FILTER html %] as a field name. + + [% ELSIF error == "invalid_keyword_id" %] + The keyword ID [% id FILTER html %] couldn't be + found. [% ELSIF error == "missing_bug_id" %] No [% terms.bug %] ID was given. diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl index 1bbd00efc..f20081529 100644 --- a/template/en/default/global/user-error.html.tmpl +++ b/template/en/default/global/user-error.html.tmpl @@ -387,6 +387,27 @@ [% ELSIF error == "invalid_username_or_password" %] [% title = "Invalid Username Or Password" %] The username or password you entered is not valid. + + [% ELSIF error == "keyword_access_denied" %] + [% title = "Access Denied" %] + Sorry, you aren't a member of the 'editkeywords' group, and so + you aren't allowed to add, modify or delete keywords. + + [% ELSIF error == "keyword_already_exists" %] + [% title = "Keyword Already Exists" %] + A keyword with the name [% name FILTER html %] already exists. + + [% ELSIF error == "keyword_blank_description" %] + [% title = "Blank Keyword Description Not Allowed" %] + You must enter a non-blank description for the keyword. + + [% ELSIF error == "keyword_blank_name" %] + [% title = "Blank Keyword Name Not Allowed" %] + You must enter a non-blank name for the keyword. + + [% ELSIF error == "keyword_invalid_name" %] + [% title = "Invalid Keyword Name" %] + You may not use commas or whitespace in a keyword name. [% ELSIF error == "login_needed_for_password_change" %] [% title = "Login Name Required" %] -- cgit v1.2.3-24-g4f1b