summaryrefslogtreecommitdiffstats
path: root/editkeywords.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'editkeywords.cgi')
-rwxr-xr-xeditkeywords.cgi88
1 files changed, 33 insertions, 55 deletions
diff --git a/editkeywords.cgi b/editkeywords.cgi
index 7af0c1a6c..cf2c44efc 100755
--- a/editkeywords.cgi
+++ b/editkeywords.cgi
@@ -25,6 +25,8 @@ use lib ".";
require "CGI.pl";
+use vars qw($template $vars);
+
my $localtrailer = "<A HREF=\"editkeywords.cgi\">edit</A> more keywords";
@@ -126,6 +128,8 @@ unless (UserInGroup("editkeywords")) {
my $action = trim($::FORM{action} || '');
+$vars->{'action'} = $action;
+
detaint_natural($::FORM{id});
@@ -180,20 +184,12 @@ if ($action eq "") {
if ($action eq 'add') {
- PutHeader("Add keyword");
- print "<FORM METHOD=POST ACTION=editkeywords.cgi>\n";
- print "<TABLE BORDER=0 CELLPADDING=4 CELLSPACING=0>\n";
+ print Bugzilla->cgi->header();
- EmitFormElements(-1, '', '');
+ $template->process("admin/keywords/create.html.tmpl",
+ $vars)
+ || ThrowTemplateError($template->error());
- print "</TABLE>\n<HR>\n";
- print "<INPUT TYPE=SUBMIT VALUE=\"Add\">\n";
- print "<INPUT TYPE=HIDDEN NAME=\"action\" VALUE=\"new\">\n";
- print "</FORM>";
-
- my $other = $localtrailer;
- $other =~ s/more/other/;
- PutTrailer($other);
exit;
}
@@ -308,8 +304,6 @@ if ($action eq 'edit') {
#
if ($action eq 'update') {
- PutHeader("Update keyword");
-
my $id = $::FORM{id};
my $name = trim($::FORM{name} || '');
my $description = trim($::FORM{description} || '');
@@ -321,6 +315,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 "<b>Back</b> and try again.\n";
PutTrailer($localtrailer);
@@ -331,26 +327,27 @@ if ($action eq 'update') {
", description = " . SqlQuote($description) .
" WHERE id = $id");
- print "Keyword updated.<BR>\n";
-
- &RebuildCacheWarning;
# Make versioncache flush
unlink "data/versioncache";
- PutTrailer($localtrailer);
+ print Bugzilla->cgi->header();
+
+ $vars->{'name'} = $name;
+ $template->process("admin/keywords/rebuild-cache.html.tmpl",
+ $vars)
+ || ThrowTemplateError($template->error());
+
exit;
}
if ($action eq 'delete') {
- PutHeader("Delete keyword");
my $id = $::FORM{id};
SendSQL("SELECT name FROM keyworddefs WHERE id=$id");
my $name = FetchOneColumn();
if (!$::FORM{reallydelete}) {
-
SendSQL("SELECT count(*)
FROM keywords
WHERE keywordid = $id");
@@ -358,21 +355,16 @@ if ($action eq 'delete') {
my $bugs = FetchOneColumn();
if ($bugs) {
-
-
- print qq{
-There are $bugs bugs which have this keyword set. Are you <b>sure</b> you want
-to delete the <code>$name</code> keyword?
-
-<FORM METHOD=POST ACTION=editkeywords.cgi>
-<INPUT TYPE=HIDDEN NAME="id" VALUE="$id">
-<INPUT TYPE=HIDDEN NAME="action" VALUE="delete">
-<INPUT TYPE=HIDDEN NAME="reallydelete" VALUE="1">
-<INPUT TYPE=SUBMIT VALUE="Yes, really delete the keyword">
-</FORM>
-};
+ $vars->{'bug_count'} = $bugs;
+ $vars->{'keyword_id'} = $id;
+ $vars->{'name'} = $name;
+
+ print Bugzilla->cgi->header();
+
+ $template->process("admin/keywords/confirm-delete.html.tmpl",
+ $vars)
+ || ThrowTemplateError($template->error());
- PutTrailer($localtrailer);
exit;
}
}
@@ -380,31 +372,17 @@ to delete the <code>$name</code> keyword?
SendSQL("DELETE FROM keywords WHERE keywordid = $id");
SendSQL("DELETE FROM keyworddefs WHERE id = $id");
- print "Keyword $name deleted.\n";
-
- &RebuildCacheWarning;
# Make versioncache flush
unlink "data/versioncache";
- PutTrailer($localtrailer);
- exit;
-}
-
-PutHeader("Error");
-print "I don't have a clue what you want.<BR>\n";
+ print Bugzilla->cgi->header();
-foreach ( sort keys %::FORM) {
- print "$_: $::FORM{$_}<BR>\n";
-}
-
-
-
-sub RebuildCacheWarning {
-
- print "<BR><BR><B>You have deleted or modified a keyword. You must rebuild the keyword cache!<BR></B>";
- print "You can rebuild the cache using sanitycheck.cgi. On very large installations of Bugzilla,<BR>";
- print "This can take several minutes.<BR><BR><B><A HREF=\"sanitycheck.cgi?rebuildkeywordcache=1\">Rebuild cache</A><BR></B>";
+ $vars->{'name'} = $name;
+ $template->process("admin/keywords/rebuild-cache.html.tmpl",
+ $vars)
+ || ThrowTemplateError($template->error());
+ exit;
}
-
+ThrowCodeError("action_unrecognized", $vars);