diff options
author | lpsolit%gmail.com <> | 2006-02-21 21:08:18 +0000 |
---|---|---|
committer | lpsolit%gmail.com <> | 2006-02-21 21:08:18 +0000 |
commit | da9ac9431cc959eedef78a5118ac3b4c6fbf7d03 (patch) | |
tree | 840e490e59e6a28c083b31a7281877a74105b997 /customfield.pl | |
parent | Documentation patch for bug 41972: add user preferences documentation; patch ... (diff) | |
download | bugzilla-da9ac9431cc959eedef78a5118ac3b4c6fbf7d03.tar.gz bugzilla-da9ac9431cc959eedef78a5118ac3b4c6fbf7d03.tar.bz2 bugzilla-da9ac9431cc959eedef78a5118ac3b4c6fbf7d03.zip |
Bug 287325: Ability to add custom plain-text fields to a Bug - Patch by Myk Melez <myk@mozilla.org> r=mkanat a=justdave
Diffstat (limited to 'customfield.pl')
-rwxr-xr-x | customfield.pl | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/customfield.pl b/customfield.pl new file mode 100755 index 000000000..106c60582 --- /dev/null +++ b/customfield.pl @@ -0,0 +1,88 @@ +#!/usr/bin/perl -wT +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# 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): Myk Melez <myk@mozilla.org> + +################################################################################ +# Script Initialization +################################################################################ + +use strict; + +use lib "."; +require "globals.pl"; + +use Bugzilla::Field; +use Getopt::Long; + +my ($name, $desc); +my $result = GetOptions("name=s" => \$name, + "description|desc=s" => \$desc); + +if (!$name or !$desc) { + my $command = + $^O =~ /MSWin32/i ? "perl -T customfield.pl" : "./customfield.pl"; + print <<END; +Usage: + + Use this script to add a custom field to your Bugzilla installation + by invoking it with the --name and --desc command-line options: + + $command --name=<field_name> --desc="<field description>" + + <field_name> is the name of the custom field in the database. + The string "cf_" will be prepended to this name to distinguish + the field from standard fields. This name must conform to the + naming rules for the database server you use. + + <field description> is a short string describing the field. It will + be displayed to Bugzilla users in several parts of Bugzilla's UI, + for example as the label for the field on the "show bug" page. + +Warning: + + Custom fields can make Bugzilla less usable. See this URL + for alternatives to custom fields: + + http://www.gerv.net/hacking/custom-fields.html + + You should try to implement applicable alternatives before using + this script to add a custom field. +END + + exit; +} + +# Prepend cf_ to the custom field name to distinguish it from standard fields. +$name =~ /^cf_/ + or $name = "cf_" . $name; + +# Exit gracefully if there is already a field with the given name. +if (scalar(Bugzilla::Field::match({ name=>$name })) > 0) { + print "There is already a field named $name. Please choose " . + "a different name.\n"; + exit; +} + + +# Create the field. +print "Creating custom field $name ...\n"; +my $field = Bugzilla::Field::create($name, $desc, 1); +print "Custom field $name created.\n"; |